الأسئلة الشائعة حول AOSP

يحتوي هذا المستند على إجابات عن أسئلة عامة حول "منصة Android المفتوحة المصدر" (AOSP).

لمحة عن android-latest-release

لماذا لا يمكنني إرسال تغييرات إلى aosp-main؟

لا يمكنك إرسال التغييرات إلى aosp-main لأنّ هذا الفرع متاح للقراءة فقط الآن.

أين يمكنني اقتراح تغييرات على AOSP؟

عليك اقتراح تغييرات جديدة على android-latest-release (عند استخدام Repo) أو على أحدث فرع إصدار محدّد في بيان android-latest-release (عند استخدام Git مباشرةً). لا حاجة إلى نقل التغييرات المقترَحة الحالية في الفروع الأخرى (مثل aosp-main).

أي فرع يجب أن تتم المزامنة معه؟

  • عند استخدام Repo، يمكنك إجراء المزامنة مع 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 البيان.

راجِع مقالة إعداد عميل Repo للحصول على مزيد من التفاصيل حول مزامنة الفروع.

هل سيتم دمج الرمز من android-latest-release في aosp-main؟

لا، لن يتم دمج الرمز مع aosp-main، وهو فرع للقراءة فقط اعتبارًا من 27 مارس 2025.

أين يتم نشر الرمز البرمجي للإصدار التالي؟

ترسل Google رمز الإصدار التالي إلى فرع الإصدار العلني الأخير وتعدّل android-latest-release ملف البيان للإشارة إلى هذا الفرع.

هل سيتم اختيار طلب التغيير من فرع android-latest-release إلى Gerrit الداخلي؟

بعد تحميل تغيير مقترَح، ستراجعه Google، وإذا تم قبوله، ستنقله إلى Gerrit الداخلي.

كيف يمكنني معرفة ما إذا تم قبول طلب التغيير؟

تظهر التغييرات المقبولة والمختارة في عملية دفع مستقبلية إلى فرع إصدار على جهاز Android المضيف، ويمكن مزامنتها مع repo باستخدام android-latest-release. لا تتوفّر آلية إشعارات لإعلامك عند قبول التغيير المقترَح أو رفضه.

ما هي خطوات العمل العامة بدءًا من اقتراح تغيير من قِبل مساهم خارجي إلى أن يتم دمجه في أحدث فرع إصدار؟

  1. يقترح مساهم خارجي إجراء تغيير على android-latest-release (عند استخدام Repo) أو على أحدث فرع إصدار محدّد في بيان android-latest-release (عند استخدام Git مباشرةً).

  2. تراجع Google التغيير. إذا كان التغيير:

    • إذا تم قبول التغيير، ستختار Google هذا التغيير وتدمجه في فرع التطوير الداخلي.

    • لم تتم الموافقة على التغيير، لأنّ Google لا يختار التغييرات بشكل انتقائي.

  3. يتحقّق المساهم الخارجي من التغيير الذي أجراه في android-latest-release.

ماذا لو لم أعد بحاجة إلى التغيير المقترَح؟

إذا لم تعُد بحاجة إلى التغيير المقترَح، أو إذا كنت لا تريد دمجه، أو إذا كنت تعلم أنّ Google قد راجعت التغيير، عليك إلغاء التغيير المقترَح ليبقى في سجلّ التغييرات المقترَحة على جهاز Android المضيف.

أسئلة مفتوحة المصدر

لماذا أتاحت Google رمز المصدر لنظام التشغيل Android؟

بدأت Google مشروع AOSP استجابةً لتجاربنا الخاصة في إطلاق تطبيقات للأجهزة الجوّالة. أردنا التأكّد من توفّر منصة مفتوحة دائمًا لشركات الاتصالات والمصنّعين الأصليين للأجهزة والمطوّرين كي يتمكّنوا من تحويل أفكارهم المبتكرة إلى واقع. أردنا أيضًا تجنُّب أي نقطة مركزية قد تؤدي إلى حدوث عطل، كي لا يتمكّن أي لاعب في المجال من تقييد أو التحكّم في الابتكارات التي يقدّمها أي لاعب آخر. إنّ هدفنا الأهم من "مشروع Android المفتوح المصدر" هو ضمان تنفيذ برامج Android المفتوحة المصدر على نطاق واسع وبشكل متوافق قدر الإمكان، وذلك لتحقيق فائدة للجميع.

ما هو نوع مشروع Android المفتوح المصدر؟

تشرف Google على تطوير AOSP الأساسي وتعمل على إنشاء منتديات قوية للمطوّرين والمستخدمين. في معظم الحالات، يكون رمز المصدر لنظام التشغيل Android مرخّصًا بموجب ترخيص Apache 2.0 المتساهل، وليس بموجب ترخيص حقوق النسخ. لقد اخترنا ترخيص Apache 2.0 لأنّنا نعتقد أنّه يشجّع على الاستخدام الواسع النطاق لبرامج Android. لمعرفة التفاصيل، يُرجى الاطّلاع على التراخيص.

لماذا تتولّى Google إدارة Android؟

إنّ إطلاق منصة برامج أمر معقّد. تُعدّ الانفتاحية أمرًا حيويًا لنجاح أي منصة على المدى الطويل، لأنّها تجذب استثمارات المطوّرين وتضمن تكافؤ الفرص. يجب أن تكون المنصة أيضًا منتجًا جذابًا للمستخدمين.

وقد خصّصت Google موارد هندسية احترافية لضمان أن يكون Android منصة برامج تنافسية تمامًا. تتعامل Google مع مشروع Android كعملية تطوير منتج على نطاق واسع، وتبرم الصفقات التجارية اللازمة لضمان طرح أجهزة رائعة تعمل بنظام Android في السوق.

ومن خلال التأكّد من أنّ Android يحقّق النجاح لدى المستخدمين، نساعد في ضمان استمرار Android كمنصة وكمشروع مفتوح المصدر. ففي النهاية، من يريد الحصول على الرمز المصدري لمنتج غير ناجح؟

هدفنا هو ضمان توفير منظومة متكاملة ناجحة حول Android. لقد أتحنا رمز المصدر لنظام التشغيل Android ليتمكّن أي شخص من تعديل البرنامج وتوزيعه بما يتوافق مع احتياجاته.

ما هي استراتيجية Google الشاملة لتطوير منتجات Android؟

نطرح أجهزة رائعة في سوق تنافسية. بعد ذلك، ندمج الابتكارات والتحسينات التي أجريناها في المنصة الأساسية كإصدار تالٍ.

ويعني ذلك عمليًا أنّ فريق الهندسة في Android يركّز على عدد قليل من الأجهزة "الرائدة" ويطوّر الإصدار التالي من برنامج Android لدعم عمليات إطلاق هذه المنتجات. وتتحمّل هذه الأجهزة الرائدة معظم مخاطر المنتج، كما تمهّد الطريق أمام مجموعة كبيرة من الشركات المصنّعة للأجهزة الأصلية التي تطلق المزيد من الأجهزة التي تستفيد من الميزات الجديدة. بهذه الطريقة، نتأكّد من أنّ نظام Android الأساسي يتطوّر وفقًا لاحتياجات الأجهزة في العالم الحقيقي.

كيف يتم تطوير برامج Android؟

يحتوي كل إصدار من إصدارات Android (مثل 1.5 أو 8.1) على فرع مطابق في شجرة المصدر المفتوح. يُعدّ أحدث فرع هو إصدار الفرع الثابت الحالي الذي يشير إليه ملف android-latest-release. هذا هو الفرع الذي تنقله الشركات المصنّعة إلى أجهزتها. ويتم الحفاظ على هذا الفرع مناسبًا للإصدار في جميع الأوقات.

أخيرًا، تعمل Google على الإصدار التالي من نظام Android الأساسي بالتزامن مع تطوير جهاز رائد.

لماذا يتم تطوير أجزاء من Android بشكل خاص؟

يستغرق طرح جهاز في السوق عادةً أكثر من عام. وبالطبع، تريد الشركات المصنّعة للأجهزة شحن أحدث البرامج المتاحة. في الوقت نفسه، لا يريد المطوّرون تتبُّع الإصدارات الجديدة من النظام الأساسي باستمرار عند كتابة التطبيقات. وتواجه كلتا المجموعتين توترًا بين طرح المنتجات وعدم الرغبة في التخلّف عن الركب.

ولحلّ هذه المشكلة، يتم تطوير بعض أجزاء الإصدار التالي من Android، بما في ذلك واجهات برمجة التطبيقات الأساسية للمنصة، في فرع خاص. تشكّل واجهات برمجة التطبيقات هذه الإصدار التالي من Android. هدفنا هو التركيز على الإصدار الثابت الحالي من رمز المصدر لنظام التشغيل Android أثناء إنشاء الإصدار التالي من النظام الأساسي. ويتيح ذلك للمطوّرين ومصنّعي المعدات الأصلية استخدام إصدار واحد بدون الحاجة إلى تتبُّع العمل المستقبلي غير المكتمل لمواكبة التغييرات.

متى يتم إصدار رموز المصدر؟

عندما تصبح جاهزة. إنّ إصدار الرمز المصدر هو عملية معقّدة إلى حدّ ما. يتم تطوير بعض أجزاء Android، مثل النواة، بشكل مفتوح، ويكون رمز المصدر متاحًا دائمًا. يتم تطوير الأجزاء الأخرى أولاً في شجرة خاصة، ويتم إصدار رمز المصدر هذا عندما يصبح إصدار النظام الأساسي التالي جاهزًا.

في بعض الإصدارات، تكون واجهات برمجة التطبيقات الأساسية للمنصة جاهزة قبل وقت كافٍ من طرح الجهاز، ما يتيح لنا نشر الرمز المصدري قبل طرح الجهاز. في الإصدارات الأخرى، لا يمكن إجراء ذلك. في جميع الحالات، نصدر رمز مصدر المنصة عندما نرى أنّ الإصدار مستقر وعندما تسمح عملية التطوير بذلك.

ما هي الخطوات المطلوبة لإصدار رمز المصدر لإصدار جديد من Android؟

يُعد طرح رمز المصدر لإصدار جديد من نظام Android الأساسي عملية مهمة. أولاً، يتم إنشاء البرنامج في صورة نظام لجهاز ويتم إخضاعه لأشكال مختلفة من شهادات الاعتماد، بما في ذلك شهادة الاعتماد التنظيمية الحكومية للمناطق التي سيتم نشر الهواتف فيها. يخضع الرمز أيضًا لاختبارات المشغّل. هذه مرحلة مهمة من العملية، لأنّها تساعد في رصد أخطاء البرامج.

بعد موافقة الجهات التنظيمية والمشغّلين على الإصدار، يبدأ المصنّع في إنتاج الأجهزة بكميات كبيرة، ونبدأ نحن في طرح الرمز المصدري.

في الوقت نفسه الذي يتم فيه الإنتاج بكميات كبيرة، يبدأ فريق Google عدة جهود للاستعداد لإصدار البرنامج المفتوح المصدر. وتشمل هذه الجهود إجراء التغييرات النهائية على واجهة برمجة التطبيقات وتعديل المستندات (لتعكس أي تعديلات تم إجراؤها أثناء اختبار التأهيل، على سبيل المثال) وإعداد حزمة تطوير البرامج (SDK) للإصدار الجديد وإطلاق معلومات التوافق مع الأنظمة الأساسية.

يُجري فريقنا القانوني توقيعًا نهائيًا لإصدار الرمز البرمجي كمصدر مفتوح. وكما يُطلب من المساهمين في المشاريع المفتوحة المصدر توقيع اتفاقية ترخيص المساهمين التي تشهد على ملكيتهم الفكرية للمساهمة، يجب أن تتأكّد Google من أنّ المصدر لديه الإذن بالمساهمة.

منذ بدء الإنتاج الضخم، تستغرق عملية إصدار البرنامج عادةً شهرًا تقريبًا، لذا غالبًا ما يتم إصدار رمز المصدر في الوقت نفسه الذي تصل فيه الأجهزة إلى المستخدمين.

ما هي العلاقة بين "مشروع Android المفتوح المصدر" و"برنامج التوافق مع Android"؟

يحافظ مشروع AOSP على برامج Android ويطوّر إصدارات جديدة. وبما أنّ هذا البرنامج مفتوح المصدر، يمكن استخدامه لأي غرض، بما في ذلك تطوير أجهزة غير متوافقة مع أجهزة أخرى تستند إلى المصدر نفسه.

تتمثل وظيفة "برنامج التوافق مع Android" في تحديد أساس لتنفيذ Android يكون متوافقًا مع تطبيقات الجهات الخارجية التي يكتبها المطوّرون. الأجهزة المتوافقة مع Android مؤهَّلة للمشاركة في منظومة Android المتكاملة، بما في ذلك Google Play، أما الأجهزة التي لا تستوفي متطلبات التوافق، فهي خارج هذه المنظومة.

بعبارة أخرى، يتيح "برنامج التوافق مع Android" التمييز بين الأجهزة المتوافقة مع Android والأجهزة التي تعمل فقط بنسخ مشتقة من الرمز المصدري. نرحّب بجميع استخدامات رمز المصدر لنظام Android، ولكن للمشاركة في منظومة Android المتكاملة، يجب أن يحدّد البرنامج الجهاز على أنّه متوافق مع Android.

كيف يمكنني المساهمة في تطوير Android؟

يمكنك الإبلاغ عن الأخطاء أو كتابة تطبيقات لنظام Android أو المساهمة في رمز المصدر في مشروع AOSP.

هناك حدود لأنواع المساهمات من التعليمات البرمجية التي نقبلها. على سبيل المثال، قد يرغب أحد المستخدمين في المساهمة في توفير واجهة برمجة تطبيقات بديلة للتطبيقات، مثل بيئة كاملة مستندة إلى C++. سنرفض هذه المساهمة لأنّ نظام التشغيل Android يشجّع على تشغيل التطبيقات في وقت تشغيل ART. وبالمثل، لن نقبل مساهمات مثل مكتبات GPL أو LGPL غير المتوافقة مع أهداف الترخيص لدينا.

ننصح المهتمين بالمساهمة في رمز المصدر بالتواصل معنا من خلال القنوات المدرَجة في منتدى Android قبل البدء في أي عمل. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة المساهمة.

كيف يمكنني أن أصبح مساهمًا في Android؟

لا يتضمّن مشروع AOSP مفهومًا للمساهم. تخضع جميع المساهمات (بما في ذلك تلك التي يقدّمها موظفو Google) لنظام مستند إلى الويب يُعرف باسم Gerrit وهو جزء من عملية هندسة Android. يعمل هذا النظام بالتزامن مع نظام إدارة رمز المصدر Git من أجل إدارة مساهمات رمز المصدر بشكل سليم.

على موافق معيّن مراجعة جميع التغييرات المقترَحة وقبولها. يكون المانحون للموافقة عادةً من موظفي Google، ولكنهم يتحمّلون المسؤولية نفسها عن جميع الطلبات المقدَّمة، بغض النظر عن مصدرها.

لمزيد من التفاصيل، يُرجى الاطّلاع على إرسال تصحيحات.