تتناول هذه الصفحة مهمتَين مهمتَين للمساهمين، وهما توقيع اتفاقيات ترخيص المساهمين وضمان الاستخدام الصحيح لعناوين الترخيص في الرمز البرمجي.
التوقيع على اتفاقيات ترخيص المساهمين
على جميع المساهمين الفرديين (الذين يقدّمون مساهمات نيابةً عن أنفسهم فقط) من أصحاب الأفكار أو الرموز أو المستندات في "مشروع Android المفتوح المصدر" (AOSP) إكمال اتفاقية ترخيص المساهمين الفرديين وتوقيعها وإرسالها. يمكنك تنفيذ هذه الاتفاقية على الإنترنت من خلال أداة مراجعة الرموز. تحدّد الاتفاقية بنود المساهمة بحقوق الملكية الفكرية في مشروع AOSP. هذا الترخيص مخصّص لحمايتك كمساهم وحماية المشروع، ولا يغيّر حقوقك في استخدام مساهماتك لأي غرض آخر.
تتوفّر اتفاقية ترخيص المساهمين من المؤسسات للمؤسسات (أو الجهات الأخرى) التي لديها موظفون يعملون على مشروع AOSP. يتيح إصدار الاتفاقية هذا للشركة تفويض المساهمات التي يقدّمها موظفوها المعيّنون ومنح تراخيص حقوق الطبع والنشر وبراءات الاختراع.
تستند اتفاقيات ترخيص المساهمين في Google إلى الاتفاقيات التي تستخدمها مؤسسة Apache للبرامج، ويمكن الاطّلاع عليها على موقع Apache الإلكتروني.
تضمين عناوين التراخيص
يستخدم "مشروع Android المفتوح المصدر" (AOSP) بعض تراخيص البرامج المفتوحة المصدر المعتمَدة من مبادرة البرامج المفتوحة المصدر.
ترخيص Apache، الإصدار 2.0 (Apache 2.0) هو الترخيص المفضّل لنظام Android Open Source Project (AOSP)، ويتم ترخيص معظم برامج Android بموجب ترخيص Apache 2.0. مع أنّ المشروع يسعى إلى الالتزام بالترخيص المفضّل، إلا أنّ هناك استثناءات يتم التعامل معها على أساس كل حالة على حدة. على سبيل المثال، تخضع تصحيحات نواة Linux لترخيص GPLv2 مع استثناءات النظام، ويمكن العثور عليها في أرشيف نواة Linux.
بالنسبة إلى برامج مساحة المستخدم (غير النواة)، تفضّل Google ترخيص Apache 2.0 (والتراخيص المشابهة، مثل BSD وMIT) على التراخيص الأخرى، مثل ترخيص GNU Lesser General Public License (LGPL). وفي ما يلي السبب في ذلك:
يوفّر Android الحرية والخيارات المتنوعة. يهدف نظام التشغيل Android إلى تعزيز الانفتاح في عالم الأجهزة الجوّالة، ولا يمكن لشركة Google توقّع جميع استخدامات برامجنا أو فرضها. لذلك، مع أنّ Google تشجّع الجميع على صناعة أجهزة مفتوحة المصدر وقابلة للتعديل، لا نعتقد أنّه من حقنا إجبارهم على ذلك، لأنّ استخدام مكتبات LGPL قد يكون مقيّدًا. في ما يلي بعض المخاوف المحدّدة التي لدينا:
بشكل مبسط، يتطلب ترخيص LGPL شحن المصدر إلى التطبيق، أو تقديم عرض مكتوب للمصدر، أو ربط المكتبة المرخّصة بموجب LGPL بشكل ديناميكي والسماح للمستخدمين بترقية المكتبة أو استبدالها يدويًا. عادةً ما يتم شحن برنامج Android كصورة ثابتة للنظام، لذا فإنّ الالتزام بهذه المتطلبات يقيّد تصاميم الشركات المصنّعة للأجهزة. على سبيل المثال، يصعب على المستخدم استبدال مكتبة على وحدة تخزين فلاش للقراءة فقط.
يتطلّب ترخيص LGPL السماح للعملاء بتعديل البرنامج وإجراء هندسة عكسية لتصحيح الأخطاء في هذه التعديلات. ولا يريد معظم مصنّعي الأجهزة أن يكونوا ملزمين بهذه الشروط.
في السابق، كانت مكتبات LGPL مصدرًا للعديد من المشاكل المتعلقة بالامتثال بالنسبة إلى مصنّعي الأجهزة ومطوّري التطبيقات. توعية المهندسين بشأن هذه المشاكل أمر صعب ويستغرق وقتًا طويلاً. من الضروري لنجاح Android أن يتمكّن مصنّعو الأجهزة من الالتزام بسهولة بالتراخيص.
لا تشكّل هذه المخاوف انتقادات لترخيص LGPL أو التراخيص الأخرى. تقدّر Google جميع التراخيص المجانية والمفتوحة المصدر، وتحترم الإعدادات المفضّلة للتراخيص التي يحدّدها الآخرون. قرّرت Google أنّ ترخيص Apache 2.0 هو الأنسب لتحقيق أهدافنا.
عند إرسال رمز ليتم تضمينه في مشروع AOSP، عليك التأكّد من الاستخدام السليم لعناوين التراخيص. توضّح الأقسام التالية كيفية التعامل مع عناوين التراخيص للملفات الجديدة والرموز الحالية.
اتّباع أفضل الممارسات المتعلّقة بالتراخيص وحقوق الطبع والنشر
اتّبِع أفضل الممارسات التالية بشأن حقوق الطبع والنشر وعنوان الترخيص:
لا تعدّل حقوق طبع ونشر حالية. على سبيل المثال، إذا أردت المساهمة بملف في مشروع AOSP يحتوي على رمز مصدر مأخوذ من ملف آخر يتضمّن إشعارًا خاصًا بحقوق الطبع والنشر، عليك الاحتفاظ بإشعار حقوق الطبع والنشر هذا من الملف الأصلي.
إذا أضفت ملف مصدر جديدًا بالكامل، استخدِم حقوق الطبع والنشر التلقائية في مشروع AOSP وعنوان الترخيص التالي، ما لم يكن المشروع الذي تساهم فيه يتضمّن ترخيصًا مختلفًا محدّدًا مسبقًا:
Copyright (C) yyyy The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.