این صفحه دو وظیفه مهم مشارکتکننده را پوشش میدهد: امضای قراردادهای مجوز مشارکتکننده و اطمینان از استفاده صحیح از سرصفحههای مجوز در کد شما.
قراردادهای مجوز مشارکت کننده را امضا کنید
همه مشارکتکنندگان منفرد (کسانی که فقط از طرف خودشان مشارکت میکنند) ایدهها، کد یا مستندات پروژه منبع باز Android (AOSP) ملزم به تکمیل، امضا و ارسال یک قرارداد مجوز مشارکتکننده فردی هستند. You can execute this agreement online through the code review tool . این توافقنامه شرایط کمک به مالکیت معنوی به AOSP را تعریف می کند. این مجوز برای محافظت از شما به عنوان یک مشارکت کننده و همچنین حفاظت از پروژه است. این حقوق شما را برای استفاده از مشارکت های خود برای هر هدف دیگری تغییر نمی دهد.
قرارداد مجوز مشارکت شرکتی برای یک شرکت (یا نهاد دیگر) با کارمندانی که در AOSP کار می کنند در دسترس است. این نسخه از توافقنامه به یک شرکت اجازه می دهد مشارکت های ارسال شده توسط کارمندان تعیین شده خود را مجاز کند و مجوزهای حق چاپ و حق اختراع را اعطا کند.
Google قراردادهای مجوز مشارکت کننده خود را بر اساس موارد استفاده شده توسط بنیاد نرم افزار آپاچی قرار می دهد که در وب سایت آپاچی قابل مشاهده است.
شامل سرصفحه های مجوز
The Android Open Source Project (AOSP) uses a few open source initiative approved open source licenses for our software.
Apache License, Version 2.0 (Apache 2.0) is the preferred license for AOSP, and the majority of Android software is licensed with Apache 2.0. در حالی که پروژه تلاش می کند به مجوز ترجیحی پایبند باشد، استثناهایی وجود دارد که به صورت موردی رسیدگی می شود. For example, the Linux kernel patches are under the GPLv2 license with system exceptions, which can be found on The Linux Kernel Archives .
برای نرمافزار فضای کاربر (غیر هسته)، Google Apache 2.0 (و مجوزهای مشابه مانند BSD و MIT) را به مجوزهای دیگر مانند مجوز عمومی عمومی کوچک گنو (LGPL) ترجیح میدهد. در اینجا دلیل آن است:
اندروید درباره آزادی و انتخاب است. هدف اندروید ترویج باز بودن در دنیای موبایل است و گوگل نمی تواند همه کاربردهای نرم افزار ما را پیش بینی یا دیکته کند. بنابراین، در حالی که گوگل همه را تشویق میکند که دستگاههای باز و قابل تغییر بسازند، ما فکر نمیکنیم این وظیفه ماست که آنها را مجبور به انجام این کار کنیم. استفاده از کتابخانه های LGPL می تواند محدود کننده باشد. در اینجا برخی از نگرانی های خاص ما آمده است:
به زبان ساده، LGPL نیازمند ارسال منبع به برنامه است. پیشنهاد کتبی برای منبع؛ یا پیوند دادن کتابخانه LGPL-ed به صورت پویا و اجازه دادن به کاربران برای ارتقا یا جایگزینی دستی کتابخانه. نرمافزار اندروید معمولاً بهعنوان یک تصویر سیستم استاتیک ارسال میشود، بنابراین رعایت این الزامات طراحیهای سازنده دستگاه را محدود میکند. به عنوان مثال، جایگزین کردن کتابخانه در حافظه فلش فقط خواندنی برای کاربر دشوار است.
LGPL برای اشکالزدایی این تغییرات نیاز به مجوز اصلاح مشتری و مهندسی معکوس دارد. اکثر سازندگان دستگاه نمی خواهند به این شرایط متعهد شوند.
از لحاظ تاریخی، کتابخانه های LGPL منبع بسیاری از مشکلات انطباق برای سازندگان دستگاه های پایین دست و توسعه دهندگان برنامه بوده است. آموزش مهندسان در مورد این مسائل دشوار و زمان بر است. برای موفقیت اندروید بسیار مهم است که سازندگان دستگاه بتوانند به راحتی مجوزها را رعایت کنند.
این نگرانی ها انتقاد از LGPL یا مجوزهای دیگر نیست. Google از همه مجوزهای منبع باز و رایگان قدردانی می کند و به اولویت های مجوز دیگران احترام می گذارد. گوگل تصمیم گرفته است که آپاچی 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.