AOSP প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

এই নথিতে অ্যান্ড্রয়েড ওপেন সোর্স প্ল্যাটফর্ম (AOSP) সম্পর্কে সাধারণ প্রশ্নের উত্তর রয়েছে।

android-latest-release সম্পর্কে

আমি কেন aosp-main-এ জমা দিতে পারছি না?

আপনি aosp-main এ জমা দিতে পারবেন না কারণ সেই শাখাটি এখন কেবল পঠনযোগ্য।

AOSP-তে পরিবর্তনগুলি কোথায় প্রস্তাব করব?

আপনার android-latest-release (Repo ব্যবহার করার সময়) অথবা android-latest-release ম্যানিফেস্টে নির্দিষ্ট ডিফল্ট রিভিশন শাখায় (Git সরাসরি ব্যবহার করার সময়) নতুন পরিবর্তন প্রস্তাব করা উচিত। অন্যান্য শাখায় (যেমন aosp-main ) বিদ্যমান প্রস্তাবিত পরিবর্তনগুলি সরানোর প্রয়োজন নেই।

আরও তথ্যের জন্য, পর্যালোচনার জন্য পরিবর্তনটি আপলোড করুন দেখুন।

আমার কোন শাখায় সিঙ্ক করা উচিত?

  • রেপো ব্যবহার করার সময়, নিম্নলিখিত কমান্ড ব্যবহার করে android-latest-release এ সিঙ্ক করুন:

    repo init --partial-clone --no-use-superproject -b android-latest-release -u https://android.googlesource.com/platform/manifest
  • সরাসরি Git ব্যবহার করার সময়, android-latest-release ম্যানিফেস্টে নির্দিষ্ট করা ডিফল্ট রিভিশন শাখায় সিঙ্ক করুন।

শাখা সিঙ্ক করার বিষয়ে আরও বিস্তারিত জানার জন্য রেপো ক্লায়েন্ট শুরু করুন দেখুন।

android-latest-release এর কোড কি aosp-main এর সাথে মার্জ করা হবে?

না, কোডটি aosp-main তে মার্জ করা হবে না, যা ২৭ মার্চ, ২০২৫ তারিখ থেকে শুধুমাত্র পঠনযোগ্য শাখা।

পরবর্তী রিলিজের কোডটি কোথায় পুশ করা হয়েছে?

গুগল পরবর্তী রিলিজের কোডটি সর্বশেষ পাবলিক রিলিজ শাখায় পুশ করে এবং সেই শাখায় নির্দেশ করার জন্য android-latest-release ম্যানিফেস্ট আপডেট করে।

আমার পরিবর্তনের অনুরোধ কি android-latest-release শাখা থেকে অভ্যন্তরীণ Gerrit-এ চেরিপিক করা হবে?

প্রস্তাবিত পরিবর্তন আপলোড করার পর, গুগল এটি পর্যালোচনা করবে এবং গৃহীত হলে, এটি অভ্যন্তরীণ Gerrit-এ চেরি-পিক করবে।

আমার পরিবর্তনের অনুরোধ গৃহীত হয়েছে কিনা তা আমি কীভাবে জানব?

গৃহীত এবং চেরি-পিক করা পরিবর্তনগুলি ভবিষ্যতে অ্যান্ড্রয়েড হোস্টের একটি রিলিজ শাখায় পুশ করার সময় প্রদর্শিত হয় এবং android-latest-release ব্যবহার করে repo এর সাথে সিঙ্ক করা যেতে পারে। প্রস্তাবিত পরিবর্তন কখন গৃহীত বা প্রত্যাখ্যান করা হবে তার জন্য কোনও বিজ্ঞপ্তি ব্যবস্থা নেই।

যখন কোনও বহিরাগত অবদানকারী কোনও পরিবর্তন প্রস্তাব করেন, যখন এটি সর্বশেষ রিলিজ শাখায় মার্জ করা হয়, তখন থেকে সাধারণ কর্মপ্রবাহ কী হবে?

  1. একজন বহিরাগত অবদানকারী android-latest-release (Repo ব্যবহার করার সময়) অথবা android-latest-release ম্যানিফেস্টে নির্দিষ্ট করা সর্বশেষ রিলিজ শাখায় (সরাসরি Git ব্যবহার করার সময়) পরিবর্তনের প্রস্তাব করেন।

  2. গুগল পরিবর্তনটি পর্যালোচনা করে। যদি পরিবর্তনটি হয়:

    • গ্রহণযোগ্য, গুগল চেরিপিকগুলি পরিবর্তন করে এবং এটিকে অভ্যন্তরীণ উন্নয়ন শাখায় মার্জ করে।

    • গৃহীত হয়নি, গুগল পরিবর্তনটি পছন্দ করে না।

  3. বহিরাগত অবদানকারী android-latest-releaseতাদের পরিবর্তন পরীক্ষা করে

যদি আমার প্রস্তাবিত পরিবর্তনের আর প্রয়োজন না হয়?

যদি আপনার প্রস্তাবিত পরিবর্তনের আর প্রয়োজন না হয়, পরিবর্তনটি একত্রিত করতে না চান, অথবা জানেন যে Google ইতিমধ্যেই পরিবর্তনটি পর্যালোচনা করেছে, তাহলে পরিবর্তনটি পরিত্যাগ করুন যাতে এটি Android হোস্টে প্রস্তাবিত পরিবর্তনের ইতিহাসে থাকে।

ওপেন-সোর্স প্রশ্ন

গুগল কেন অ্যান্ড্রয়েড সোর্স কোড খুলেছে?

মোবাইল অ্যাপ চালু করার ক্ষেত্রে আমাদের নিজস্ব অভিজ্ঞতার প্রতিক্রিয়ায় গুগল AOSP শুরু করেছে। আমরা নিশ্চিত করতে চেয়েছিলাম যে ক্যারিয়ার, OEM এবং ডেভেলপারদের জন্য তাদের উদ্ভাবনী ধারণাগুলিকে বাস্তবে রূপ দেওয়ার জন্য সর্বদা একটি উন্মুক্ত প্ল্যাটফর্ম থাকবে। আমরা ব্যর্থতার কোনও কেন্দ্রীয় বিন্দু এড়াতেও চেয়েছিলাম, যাতে কোনও একক শিল্প খেলোয়াড় অন্য কারও উদ্ভাবনকে সীমাবদ্ধ বা নিয়ন্ত্রণ করতে না পারে। AOSP-এর সাথে আমাদের একক গুরুত্বপূর্ণ লক্ষ্য হল নিশ্চিত করা যে ওপেন-সোর্স অ্যান্ড্রয়েড সফ্টওয়্যারটি যতটা সম্ভব ব্যাপকভাবে এবং সামঞ্জস্যপূর্ণভাবে বাস্তবায়িত করা হয়, যাতে সকলের সুবিধা হয়।

অ্যান্ড্রয়েড কোন ধরণের ওপেন-সোর্স প্রকল্প?

গুগল মূল AOSP-এর উন্নয়ন তত্ত্বাবধান করে এবং শক্তিশালী ডেভেলপার এবং ব্যবহারকারী সম্প্রদায় তৈরিতে কাজ করে। বেশিরভাগ ক্ষেত্রে, অ্যান্ড্রয়েড সোর্স কোডটি কপিলেফ্ট লাইসেন্সের পরিবর্তে অনুমোদিত অ্যাপাচি লাইসেন্স 2.0 এর অধীনে লাইসেন্সপ্রাপ্ত। আমরা অ্যাপাচি 2.0 লাইসেন্সটি বেছে নিয়েছি কারণ আমরা বিশ্বাস করি যে এটি ব্যাপকভাবে অ্যান্ড্রয়েড সফ্টওয়্যার গ্রহণকে উৎসাহিত করে। বিস্তারিত জানার জন্য, লাইসেন্স দেখুন।

গুগল কেন অ্যান্ড্রয়েডের দায়িত্বে?

একটি সফটওয়্যার প্ল্যাটফর্ম চালু করা জটিল। একটি প্ল্যাটফর্মের দীর্ঘমেয়াদী সাফল্যের জন্য উন্মুক্ততা অত্যন্ত গুরুত্বপূর্ণ, কারণ উন্মুক্ততা ডেভেলপারদের কাছ থেকে বিনিয়োগ আকর্ষণ করে এবং সমান সুযোগ নিশ্চিত করে। প্ল্যাটফর্মটি ব্যবহারকারীদের কাছে একটি আকর্ষণীয় পণ্যও হতে হবে।

অ্যান্ড্রয়েডকে একটি সম্পূর্ণ প্রতিযোগিতামূলক সফ্টওয়্যার প্ল্যাটফর্ম হিসেবে নিশ্চিত করার জন্য গুগল প্রয়োজনীয় পেশাদার প্রকৌশল সম্পদ সরবরাহের প্রতিশ্রুতিবদ্ধ। গুগল অ্যান্ড্রয়েড প্রকল্পকে একটি পূর্ণাঙ্গ পণ্য উন্নয়ন কার্যক্রম হিসেবে বিবেচনা করে এবং অ্যান্ড্রয়েড চালিত দুর্দান্ত ডিভাইসগুলি বাজারে আনার জন্য প্রয়োজনীয় ব্যবসায়িক চুক্তি সম্পাদন করে।

ব্যবহারকারীদের কাছে অ্যান্ড্রয়েড সফল কিনা তা নিশ্চিত করার মাধ্যমে, আমরা একটি প্ল্যাটফর্ম এবং একটি ওপেন-সোর্স প্রকল্প হিসাবে অ্যান্ড্রয়েডের প্রাণবন্ততা নিশ্চিত করতে সাহায্য করি। সর্বোপরি, কে চায় একটি ব্যর্থ পণ্যের সোর্স কোড?

আমাদের লক্ষ্য হল অ্যান্ড্রয়েডকে ঘিরে একটি সফল ইকোসিস্টেম নিশ্চিত করা। আমরা অ্যান্ড্রয়েড সোর্স কোডটি খুলেছি যাতে যে কেউ তাদের নিজস্ব চাহিদা মেটাতে সফ্টওয়্যারটি পরিবর্তন এবং বিতরণ করতে পারে।

অ্যান্ড্রয়েড পণ্য উন্নয়নের জন্য গুগলের সামগ্রিক কৌশল কী?

আমরা প্রতিযোগিতামূলক বাজারে দুর্দান্ত ডিভাইসগুলি প্রকাশ করি। এরপর আমরা পরবর্তী সংস্করণ হিসাবে মূল প্ল্যাটফর্মে আমাদের তৈরি উদ্ভাবন এবং বর্ধিতকরণগুলিকে অন্তর্ভুক্ত করি।

বাস্তবে, এর অর্থ হল অ্যান্ড্রয়েড ইঞ্জিনিয়ারিং টিম অল্প সংখ্যক "ফ্ল্যাগশিপ" ডিভাইসের উপর মনোযোগ দেয় এবং সেই পণ্য লঞ্চগুলিকে সমর্থন করার জন্য অ্যান্ড্রয়েড সফ্টওয়্যারের পরবর্তী সংস্করণ তৈরি করে। এই ফ্ল্যাগশিপ ডিভাইসগুলি পণ্যের ঝুঁকির বেশিরভাগ অংশ গ্রহণ করে এবং বিস্তৃত OEM সম্প্রদায়ের জন্য একটি পথ তৈরি করে, যারা নতুন বৈশিষ্ট্যগুলির সুবিধা গ্রহণকারী আরও ডিভাইসগুলির সাথে অনুসরণ করে। এইভাবে, আমরা নিশ্চিত করি যে অ্যান্ড্রয়েড প্ল্যাটফর্মটি বাস্তব-বিশ্বের ডিভাইসগুলির চাহিদা অনুসারে বিকশিত হয়।

অ্যান্ড্রয়েড সফটওয়্যার কিভাবে তৈরি করা হয়?

অ্যান্ড্রয়েডের প্রতিটি প্ল্যাটফর্ম সংস্করণের (যেমন ১.৫ অথবা ৮.১) ওপেন-সোর্স ট্রিতে একটি সংশ্লিষ্ট শাখা রয়েছে। সবচেয়ে সাম্প্রতিক শাখাটিকে বর্তমান স্থিতিশীল শাখা সংস্করণ হিসাবে বিবেচনা করা হয়, যা android-latest-release ম্যানিফেস্ট নির্দেশ করে। এই শাখাটিই নির্মাতারা তাদের ডিভাইসে পোর্ট করে। এই শাখাটি সর্বদা মুক্তির জন্য উপযুক্ত রাখা হয়।

অবশেষে, গুগল একটি ফ্ল্যাগশিপ ডিভাইস তৈরির সাথে সাথে অ্যান্ড্রয়েড প্ল্যাটফর্মের পরবর্তী সংস্করণে কাজ করছে।

অ্যান্ড্রয়েডের কিছু অংশ ব্যক্তিগতভাবে তৈরি করা হয় কেন?

সাধারণত একটি ডিভাইস বাজারে আনতে এক বছরেরও বেশি সময় লাগে। এবং, অবশ্যই, ডিভাইস নির্মাতারা তাদের সাধ্যমতো সর্বশেষ সফ্টওয়্যার সরবরাহ করতে চায়। এদিকে, ডেভেলপাররা অ্যাপ লেখার সময় প্ল্যাটফর্মের নতুন সংস্করণগুলি ক্রমাগত ট্র্যাক করতে চায় না। উভয় গ্রুপই পণ্য সরবরাহ এবং পিছিয়ে না থাকার মধ্যে একটি উত্তেজনা অনুভব করে।

এই সমস্যা সমাধানের জন্য, মূল প্ল্যাটফর্ম API সহ Android এর পরবর্তী সংস্করণের কিছু অংশ একটি ব্যক্তিগত শাখায় তৈরি করা হয়েছে। এই API গুলি Android এর পরবর্তী সংস্করণ গঠন করে। আমাদের লক্ষ্য হল প্ল্যাটফর্মের পরবর্তী সংস্করণ তৈরি করার সময় Android সোর্স কোডের বর্তমান স্থিতিশীল সংস্করণের উপর মনোযোগ কেন্দ্রীভূত করা। এটি ডেভেলপার এবং OEM-দের ভবিষ্যতের অসম্পূর্ণ কাজ ট্র্যাক না করেই একটি একক সংস্করণ ব্যবহার করার সুযোগ দেয়।

সোর্স কোড কখন প্রকাশ করা হয়?

যখন তারা প্রস্তুত থাকে। সোর্স কোড প্রকাশ করা বেশ জটিল প্রক্রিয়া। অ্যান্ড্রয়েডের কিছু অংশ, যেমন কার্নেল, খোলা জায়গায় তৈরি করা হয় এবং সেই সোর্স কোডটি সর্বদা উপলব্ধ থাকে। অন্যান্য অংশগুলি প্রথমে একটি ব্যক্তিগত ট্রিতে তৈরি করা হয় এবং পরবর্তী প্ল্যাটফর্ম সংস্করণ প্রস্তুত হলে সেই সোর্স কোডটি প্রকাশ করা হয়।

কিছু রিলিজে, কোর প্ল্যাটফর্ম API গুলি যথেষ্ট আগে থেকে প্রস্তুত থাকে যাতে আমরা ডিভাইসটি প্রকাশের আগে সোর্স কোডটি প্রাথমিকভাবে দেখার জন্য প্রকাশ করতে পারি। অন্যান্য রিলিজে, এটি সম্ভব নয়। সব ক্ষেত্রে, আমরা যখন মনে করি যে সংস্করণটি স্থিতিশীল এবং যখন উন্নয়ন প্রক্রিয়া অনুমতি দেয় তখন প্ল্যাটফর্ম সোর্সটি প্রকাশ করি।

নতুন অ্যান্ড্রয়েড ভার্সনের সোর্স কোড প্রকাশের সাথে কী জড়িত?

অ্যান্ড্রয়েড প্ল্যাটফর্মের নতুন সংস্করণের জন্য সোর্স কোড প্রকাশ করা একটি গুরুত্বপূর্ণ প্রক্রিয়া। প্রথমত, সফ্টওয়্যারটি একটি ডিভাইসের জন্য একটি সিস্টেম ইমেজে তৈরি করা হয় এবং বিভিন্ন ধরণের সার্টিফিকেশনের মধ্য দিয়ে যায়, যার মধ্যে ফোনগুলি যে অঞ্চলে স্থাপন করা হবে তার জন্য সরকারী নিয়ন্ত্রক সার্টিফিকেশনও অন্তর্ভুক্ত থাকে। কোডটি অপারেটর পরীক্ষার মধ্য দিয়েও যায়। এটি প্রক্রিয়াটির একটি গুরুত্বপূর্ণ পর্যায়, কারণ এটি সফ্টওয়্যার বাগ সনাক্ত করতে সহায়তা করে।

নিয়ন্ত্রক এবং অপারেটরদের দ্বারা মুক্তি অনুমোদিত হলে, প্রস্তুতকারক ডিভাইসগুলির ব্যাপক উৎপাদন শুরু করে এবং আমরা সোর্স কোড প্রকাশ শুরু করি।

ব্যাপক উৎপাদনের পাশাপাশি, গুগল টিম ওপেন-সোর্স রিলিজ প্রস্তুত করার জন্য বেশ কয়েকটি প্রচেষ্টা শুরু করে। এই প্রচেষ্টার মধ্যে রয়েছে চূড়ান্ত API পরিবর্তন করা, ডকুমেন্টেশন আপডেট করা (উদাহরণস্বরূপ, যোগ্যতা পরীক্ষার সময় করা যেকোনো পরিবর্তন প্রতিফলিত করা), নতুন সংস্করণের জন্য একটি SDK প্রস্তুত করা এবং প্ল্যাটফর্মের সামঞ্জস্যতা তথ্য চালু করা।

আমাদের আইনি দল কোডটি ওপেন সোর্সে প্রকাশের জন্য চূড়ান্ত স্বাক্ষর করে। ঠিক যেমন ওপেন-সোর্স অবদানকারীদের তাদের অবদানের বৌদ্ধিক সম্পত্তির মালিকানা প্রমাণ করে একটি অবদানকারী লাইসেন্স চুক্তিতে স্বাক্ষর করতে হয়, তেমনি Google-কেও যাচাই করতে হবে যে উৎসটি অবদান রাখার জন্য অনুমোদিত।

ব্যাপক উৎপাদন শুরু হওয়ার পর থেকে, সফ্টওয়্যার প্রকাশের প্রক্রিয়াটি সাধারণত প্রায় এক মাস সময় নেয়, তাই সোর্স কোড প্রকাশ প্রায়শই ডিভাইসগুলি ব্যবহারকারীদের কাছে পৌঁছানোর প্রায় একই সময়ে ঘটে।

AOSP কীভাবে অ্যান্ড্রয়েড সামঞ্জস্যতা প্রোগ্রামের সাথে সম্পর্কিত?

AOSP অ্যান্ড্রয়েড সফটওয়্যার রক্ষণাবেক্ষণ করে এবং নতুন সংস্করণ তৈরি করে। যেহেতু এটি ওপেন-সোর্স, তাই এই সফটওয়্যারটি যেকোনো উদ্দেশ্যে ব্যবহার করা যেতে পারে, যার মধ্যে এমন ডিভাইস তৈরি করাও অন্তর্ভুক্ত যা একই উৎসের উপর ভিত্তি করে অন্যান্য ডিভাইসের সাথে সামঞ্জস্যপূর্ণ নয়।

অ্যান্ড্রয়েড কম্প্যাটিবিলিটি প্রোগ্রামের কাজ হল অ্যান্ড্রয়েডের একটি বেসলাইন বাস্তবায়ন নির্ধারণ করা যা ডেভেলপারদের দ্বারা লিখিত তৃতীয় পক্ষের অ্যাপগুলির সাথে সামঞ্জস্যপূর্ণ। অ্যান্ড্রয়েড সামঞ্জস্যপূর্ণ ডিভাইসগুলি গুগল প্লে সহ অ্যান্ড্রয়েড ইকোসিস্টেমে অংশগ্রহণের যোগ্য; যে ডিভাইসগুলি সামঞ্জস্যের প্রয়োজনীয়তা পূরণ করে না সেগুলি সেই ইকোসিস্টেমের বাইরে থাকে।

অন্য কথায়, অ্যান্ড্রয়েড কম্প্যাটিবিলিটি প্রোগ্রাম হল এমন একটি পদ্ধতি যার মাধ্যমে আমরা অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ ডিভাইসগুলিকে কেবলমাত্র সোর্স কোডের ডেরিভেটিভগুলি চালিত ডিভাইসগুলি থেকে আলাদা করি। আমরা অ্যান্ড্রয়েড সোর্স কোডের সমস্ত ব্যবহারকে স্বাগত জানাই, তবে অ্যান্ড্রয়েড ইকোসিস্টেমে অংশগ্রহণের জন্য, প্রোগ্রাম দ্বারা একটি ডিভাইসকে অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ হিসাবে চিহ্নিত করতে হবে।

আমি কিভাবে অ্যান্ড্রয়েডে অবদান রাখতে পারি?

আপনি বাগ রিপোর্ট করতে পারেন, অ্যান্ড্রয়েডের জন্য অ্যাপ লিখতে পারেন, অথবা AOSP-তে সোর্স কোড অবদান রাখতে পারেন।

আমরা কোন ধরণের কোড অবদান গ্রহণ করি তার কিছু সীমা আছে। উদাহরণস্বরূপ, কেউ হয়তো একটি বিকল্প অ্যাপ API অবদান রাখতে চাইতে পারেন, যেমন একটি সম্পূর্ণ C++-ভিত্তিক পরিবেশ। আমরা সেই অবদান প্রত্যাখ্যান করব, কারণ অ্যান্ড্রয়েড অ্যাপগুলিকে ART রানটাইমে চালানোর জন্য উৎসাহিত করে। একইভাবে, আমরা GPL বা LGPL লাইব্রেরির মতো অবদান গ্রহণ করব না যা আমাদের লাইসেন্সিং লক্ষ্যের সাথে সামঞ্জস্যপূর্ণ নয়।

আমরা যারা সোর্স কোড অবদান রাখতে আগ্রহী তাদের যেকোনো কাজ শুরু করার আগে অ্যান্ড্রয়েড কমিউনিটিতে তালিকাভুক্ত চ্যানেলগুলির মাধ্যমে আমাদের সাথে যোগাযোগ করার জন্য উৎসাহিত করি। বিস্তারিত জানার জন্য, অবদান দেখুন।

আমি কীভাবে একজন অ্যান্ড্রয়েড কমিটর হব?

AOSP-তে আসলে কোন কমিটারের ধারণা নেই। সমস্ত অবদান (গুগল কর্মীদের দ্বারা লিখিত সহ) একটি ওয়েব-ভিত্তিক সিস্টেমের মাধ্যমে যায় যা Gerrit নামে পরিচিত যা অ্যান্ড্রয়েড ইঞ্জিনিয়ারিং প্রক্রিয়ার অংশ। এই সিস্টেমটি Git সোর্স কোড ম্যানেজমেন্ট সিস্টেমের সাথে একত্রে কাজ করে যাতে সোর্স কোড অবদানগুলি পরিষ্কারভাবে পরিচালনা করা যায়।

একজন মনোনীত অনুমোদনকারীকে সমস্ত প্রস্তাবিত পরিবর্তন পর্যালোচনা এবং গ্রহণ করতে হবে। অনুমোদনকারীরা সাধারণত Google কর্মচারী হন, তবে একই অনুমোদনকারীরা সমস্ত জমা দেওয়ার জন্য দায়ী, উৎস নির্বিশেষে।

বিস্তারিত জানার জন্য, প্যাচ জমা দেওয়া দেখুন।