AOSP ওভারভিউ, AOSP ওভারভিউ

অ্যান্ড্রয়েড হলো বিভিন্ন ফর্ম ফ্যাক্টরের বহু ডিভাইসের জন্য একটি অপারেটিং সিস্টেম। অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) হিসেবে এর ডকুমেন্টেশন এবং সোর্স কোড সকলের জন্য উপলব্ধ। আপনি AOSP ব্যবহার করে আপনার নিজের ডিভাইসের জন্য অ্যান্ড্রয়েড ওএস-এর কাস্টম সংস্করণ তৈরি করতে পারেন।

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

ডকুমেন্টেশনের এই অংশটি নতুন AOSP ডেভেলপারদের প্ল্যাটফর্মটি ব্যবহার শুরু করতে এবং প্রয়োজনীয় ডেভেলপমেন্ট কাজগুলো সম্পাদন করতে সাহায্য করে।

প্রয়োজনীয় শর্তাবলী

গেটিং স্টার্টেড ডকুমেন্টেশনে ব্যবহৃত কিছু পরিভাষা ও তাদের সংজ্ঞা নিচে দেওয়া হলো। সামনে এগোনোর আগে আপনার প্রতিটি সংজ্ঞা ভালোভাবে পড়ে নেওয়া উচিত।

অ্যান্ড্রয়েড অ্যাপ ডেভেলপার

অ্যান্ড্রয়েড অ্যাপ ডেভেলপাররা অ্যান্ড্রয়েড অ্যাপ বা অ্যাপ্লিকেশন তৈরি করেন যা অ্যান্ড্রয়েডে চলে। অ্যাপ ডেভেলপার দুই প্রকারের হয়: ফার্স্ট-পার্টি (1p) এবং থার্ড-পার্টি (3p) অ্যাপ ডেভেলপার।

অ্যান্ড্রয়েড ফার্স্ট-পার্টি অ্যাপ ডেভেলপার
একজন অ্যান্ড্রয়েড অ্যাপ ডেভেলপার যার AOSP সিস্টেম API-তে অ্যাক্সেস আছে এবং যিনি প্রিভিলেজড ও ডিভাইস ম্যানুফ্যাকচারার অ্যাপ লেখেন।
অ্যান্ড্রয়েড তৃতীয় পক্ষের অ্যাপ ডেভেলপার
একজন অ্যান্ড্রয়েড অ্যাপ ডেভেলপার যিনি শুধুমাত্র অ্যান্ড্রয়েডের পাবলিক এসডিকে ব্যবহার করে অ্যান্ড্রয়েড অ্যাপ তৈরি করেন।

আপনি যদি অ্যান্ড্রয়েডের জন্য থার্ড-পার্টি অ্যাপ তৈরি করতে চান, তাহলে developer.android.com দেখুন। এই ওয়েবসাইটের তথ্য শুধুমাত্র তাদের জন্য যারা সরাসরি AOSP-এর সাথে কাজ করেন।

অ্যান্ড্রয়েড ডিবাগ ব্রিজ (adb)
একটি কমান্ড-লাইন টুল ( adb ) যা আপনার ওয়ার্কস্টেশনকে একটি ভার্চুয়াল, সফটওয়্যার-অনুকৃত বা ভৌত ডিভাইসের সাথে যোগাযোগ করতে সক্ষম করে।
অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ ডিভাইস
এমন একটি ডিভাইস যা অ্যান্ড্রয়েড এসডিকে (SDK) এবং এনডিকে (NDK) ব্যবহার করে তৃতীয় পক্ষের ডেভেলপারদের দ্বারা লেখা যেকোনো থার্ড-পার্টি অ্যাপ চালাতে পারে। অ্যান্ড্রয়েড-কম্প্যাটিবল ডিভাইসগুলোকে অবশ্যই কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট (CDD)- এর প্রয়োজনীয়তাগুলো মেনে চলতে হবে এবং কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS)-এ উত্তীর্ণ হতে হবে। অ্যান্ড্রয়েড-কম্প্যাটিবল ডিভাইসগুলো অ্যান্ড্রয়েড ইকোসিস্টেমে অংশগ্রহণের যোগ্য, যার মধ্যে রয়েছে অ্যান্ড্রয়েড প্লে স্টোরের সম্ভাব্য লাইসেন্সিং, গুগল মোবাইল সার্ভিসেস (GMS) অ্যাপ্লিকেশন এবং এপিআই-এর সম্ভাব্য লাইসেন্সিং এবং অ্যান্ড্রয়েড ট্রেডমার্কের ব্যবহার। যে কেউ অ্যান্ড্রয়েড সোর্স কোড ব্যবহার করতে পারেন, কিন্তু অ্যান্ড্রয়েড ইকোসিস্টেমের অংশ হিসেবে বিবেচিত হতে হলে একটি ডিভাইসকে অবশ্যই অ্যান্ড্রয়েড-কম্প্যাটিবল হতে হবে। কম্প্যাটিবিলিটি এবং সিটিএস (CTS) সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড কম্প্যাটিবিলিটি প্রোগ্রাম ওভারভিউ দেখুন।
সামঞ্জস্য সংজ্ঞা নথি (CDD)
একটি নথি যা অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ ডিভাইসের জন্য প্রয়োজনীয় সফটওয়্যার এবং হার্ডওয়্যারের বিবরণ দেয়।
অবদানকারী

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

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

আপনি যদি সোর্স কোড দিয়ে অবদান রাখতে আগ্রহী হন, তবে কাজ শুরু করার আগে গুগলের সাথে যোগাযোগ করুন

সামঞ্জস্য পরীক্ষা স্যুট (CTS)

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

কাটলফিশ

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

ডেভেলপার

AOSP-এর প্রেক্ষাপটে, যিনি কোনো না কোনোভাবে AOSP নিয়ে কাজ করেন, তিনিই হলেন একজন ডেভেলপার। "ডেভেলপার" শব্দটি সাধারণভাবে সেই সমস্ত বিভিন্ন ব্যক্তিকে বোঝাতে ব্যবহৃত হয় যারা এই ডকুমেন্টেশনটি পড়তে পারেন, যেমন—মূল সরঞ্জাম প্রস্তুতকারক (OEM), হ্যান্ডসেট নির্মাতা, ক্যারিয়ার এবং সিস্টেম-অন-এ-চিপ (SoC) নির্মাতারা।

গুগল মোবাইল পরিষেবা (জিএমএস)

গুগল অ্যাপস এবং এপিআই-এর একটি সংগ্রহ যা ডিভাইসগুলিতে আগে থেকে ইনস্টল করা যেতে পারে।

লক্ষ্য

কোনো ডিভাইসের একটি রূপভেদ, যেমন একটি নির্দিষ্ট মডেল বা ফর্ম ফ্যাক্টর। উদাহরণস্বরূপ, aosp_cf_x86_64_only_phone-userdebug হলো ডিবাগিং তথ্যসহ একটি x86 65MB ফোন, যা কাটলফিশ এমুলেটরে চালানোর জন্য ডিজাইন করা হয়েছে।

শাসন ​​দর্শন

গুগলের নেতৃত্বে ওপেন হ্যান্ডসেট অ্যালায়েন্স (ওএইচএ) নামে পরিচিত একদল কোম্পানি অ্যান্ড্রয়েডের সূচনা করেছিল। আজ, ওএইচএ-এর মূল সদস্যসহ অনেক কোম্পানি অ্যান্ড্রয়েডে ব্যাপকভাবে বিনিয়োগ করেছে। এই কোম্পানিগুলো অ্যান্ড্রয়েডের উন্নতি সাধন করতে এবং অ্যান্ড্রয়েড ডিভাইস বাজারে আনতে উল্লেখযোগ্য প্রকৌশলগত সম্পদ বরাদ্দ করেছে।

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

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

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

এরপর কী?