اتفاقيات ترخيص المساهم والعناوين

تغطي هذه الصفحة مهمتين مهمتين للمساهمين: توقيع اتفاقيات ترخيص المساهم وضمان الاستخدام الصحيح لرؤوس الترخيص في التعليمات البرمجية الخاصة بك.

توقيع اتفاقيات ترخيص المساهم

يُطلب من جميع المساهمين الأفراد (أولئك الذين يقدمون مساهمات نيابة عنهم فقط) بالأفكار أو الأكواد أو الوثائق لمشروع Android مفتوح المصدر (AOSP) إكمال اتفاقية ترخيص المساهم الفردي وتوقيعها وإرسالها. يمكنك تنفيذ هذه الاتفاقية عبر الإنترنت من خلال أداة مراجعة الكود . تحدد الاتفاقية شروط المساهمة بالملكية الفكرية في AOSP. هذا الترخيص مخصص لحمايتك كمساهم وكذلك لحماية المشروع؛ ولا يغير حقوقك في استخدام مساهماتك لأي غرض آخر.

اتفاقية ترخيص المساهمين المؤسسيين متاحة لشركة (أو كيان آخر) يعمل بها موظفون في AOSP. يتيح هذا الإصدار من الاتفاقية للشركة السماح بالمساهمات المقدمة من قبل موظفيها المعينين ومنح تراخيص حقوق النشر وبراءات الاختراع.

وتبني Google اتفاقيات ترخيص المساهمين الخاصة بها على تلك التي تستخدمها مؤسسة Apache Software Foundation ، والتي يمكن العثور عليها على موقع Apache الإلكتروني .

قم بتضمين رؤوس الترخيص

يستخدم مشروع Android مفتوح المصدر (AOSP) عددًا قليلًا من تراخيص المصادر المفتوحة المعتمدة لبرامجنا.

ترخيص Apache، الإصدار 2.0 (Apache 2.0) هو الترخيص المفضل لـ AOSP، ومعظم برامج Android مرخصة مع Apache 2.0. وبينما يسعى المشروع إلى الالتزام بالترخيص المفضل، هناك استثناءات، والتي يتم التعامل معها على أساس كل حالة على حدة. على سبيل المثال، تصحيحات Linux kernel موجودة تحت ترخيص GPLv2 مع استثناءات النظام، والتي يمكن العثور عليها في أرشيفات Linux Kernel .

بالنسبة لبرامج مساحة المستخدم (nonkernel)، تفضل Google Apache 2.0 (والتراخيص المشابهة مثل BSD وMIT) على التراخيص الأخرى مثل رخصة GNU العامة الصغرى (LGPL). إليكم السبب:

  • Android يدور حول الحرية والاختيار. الغرض من Android هو تعزيز الانفتاح في عالم الهاتف المحمول، ولا تستطيع Google التنبؤ بجميع الاستخدامات لبرنامجنا أو إملاءها. لذا، بينما تشجع Google الجميع على إنشاء أجهزة مفتوحة وقابلة للتعديل، فإننا لا نعتقد أنه من حقنا أن نجبرهم على القيام بذلك. قد يكون استخدام مكتبات LGPL مقيدًا. فيما يلي بعض اهتماماتنا المحددة:

    • بعبارات مبسطة، تتطلب LGPL شحن المصدر إلى التطبيق؛ عرض مكتوب للمصدر؛ أو ربط مكتبة LGPL-ed ديناميكيًا والسماح للمستخدمين بترقية المكتبة أو استبدالها يدويًا. عادةً ما يتم شحن برامج 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.