Bu sayfada, katkıda bulunanların iki önemli görevi ele alınmaktadır: Katkıda bulunan lisans sözleşmelerini imzalamak ve kodunuzda lisanslama başlıklarının doğru şekilde kullanılmasını sağlamak.
Katkıda bulunanların lisans sözleşmelerini imzalama
Android Açık Kaynak Projesi'ne (AOSP) fikir, kod veya doküman katkısında bulunan tüm bireysel katkıda bulunanların (yalnızca kendi adlarına katkıda bulunanlar) bir Bireysel Katkıda Bulunan Lisans Sözleşmesi'ni doldurmaları, imzalamaları ve göndermeleri gerekir. Bu sözleşmeyi kod inceleme aracı üzerinden online olarak yürütebilirsiniz. Sözleşmede, fikri mülkiyetin AOSP'ye katkıda bulunma şartları tanımlanır. Bu lisans, katkıda bulunan kişi olarak sizi ve projeyi korumak için geçerlidir. Kendi katkılarınızı başka amaçlarla kullanma hakkınızı değiştirmez.
AOSP üzerinde çalışanları olan bir şirket (veya başka bir tüzel kişi) için Kurumsal Katkıda Bulunan Lisans Sözleşmesi mevcuttur. Sözleşmenin bu sürümü, bir şirketin belirlenen çalışanları tarafından gönderilen katkıları yetkilendirmesine ve telif hakkı ile patent lisansları vermesine olanak tanır.
Google, katkıda bulunan lisans sözleşmelerini Apache Software Foundation tarafından kullanılan sözleşmelere dayandırır. Bu sözleşmeler Apache web sitesinde bulunabilir.
Lisans üstbilgilerini ekleme
Android Açık Kaynak Projesi (AOSP), yazılımımız için açık kaynak girişimi tarafından onaylanmış birkaç açık kaynak lisansı kullanır.
Apache Lisansı, Sürüm 2.0 (Apache 2.0), AOSP için tercih edilen lisans olup Android yazılımlarının çoğu Apache 2.0 ile lisanslanmıştır. Proje, tercih edilen lisansa uymaya çalışsa da istisnalar vardır ve bunlar duruma göre ele alınır. Örneğin, Linux çekirdek yamaları, The Linux Kernel Archives'ta bulunabilen sistem istisnaları ile GPLv2 lisansı kapsamındadır.
Kullanıcı alanı (çekirdek dışı) yazılımlar için Google, GNU Lesser General Public License (LGPL) gibi diğer lisanslar yerine Apache 2.0 (ve BSD ile MIT gibi benzer lisanslar) lisansını tercih eder. Bunun nedeni aşağıda açıklanmıştır:
Android, özgürlük ve seçimle ilgilidir. Android'in amacı, mobil dünyada açıklığı teşvik etmektir. Google, yazılımımızın tüm kullanım alanlarını tahmin edemez veya belirleyemez. Bu nedenle, Google herkesi açık ve değiştirilebilir cihazlar üretmeye teşvik etse de bunu zorlamanın bize düşen bir görev olmadığını düşünüyoruz. LGPL kitaplıklarının kullanılması kısıtlayıcı olabilir. Endişelerimizden bazıları şunlardır:
Basit bir ifadeyle LGPL, kaynağın uygulamaya gönderilmesini, kaynak için yazılı bir teklif verilmesini veya LGPL'li kitaplığın dinamik olarak bağlanmasını ve kullanıcıların kitaplığı manuel olarak yükseltmesine ya da değiştirmesine izin verilmesini gerektirir. Android yazılımı genellikle statik bir sistem görüntüsü olarak gönderildiğinden bu şartlara uyulması, cihaz üreticilerinin tasarımlarını kısıtlar. Örneğin, bir kullanıcının salt okunur flash bellekteki bir kitaplığı değiştirmesi zordur.
LGPL, müşterinin değişiklik yapmasına ve bu değişikliklerde hata ayıklama için tersine mühendislik yapmasına izin verilmesini gerektirir. Çoğu cihaz üreticisi bu şartlara bağlı olmak istemez.
LGPL kitaplıkları, geçmişte alt düzey cihaz üreticileri ve uygulama geliştiriciler için birçok uygunluk sorununun kaynağı olmuştur. Mühendisleri bu sorunlar konusunda eğitmek zor ve zaman alıcıdır. Cihaz üreticilerinin lisanslara kolayca uyması, Android'in başarısı için kritik öneme sahiptir.
Bu endişeler, LGPL veya diğer lisansların eleştirisi değildir. Google, tüm ücretsiz ve açık kaynak lisanslarına değer verir ve diğer kullanıcıların lisans tercihlerine saygı duyar. Google, Apache 2.0'ın hedeflerimiz için en uygun lisans olduğuna karar verdi.
AOSP'ye dahil edilecek kodu gönderirken lisans başlıklarının doğru şekilde kullanıldığından emin olmanız gerekir. Aşağıdaki bölümlerde, yeni dosyalar ve mevcut kod için lisans başlıklarının nasıl işleneceği açıklanmaktadır.
Lisans ve telif hakkı ile ilgili en iyi uygulamaları izleyin
Telif hakkı ve lisans başlığı için aşağıdaki en iyi uygulamalardan yararlanın:
Mevcut bir telif hakkını değiştirmeyin. Örneğin, AOSP'ye kendi telif hakkı bildirimi olan bir dosyadan alınmış kod içeren bir dosya göndermek istiyorsanız orijinal dosyadaki telif hakkı bildirimini korumanız gerekir.
Tamamen yeni bir kaynak dosyası ekliyorsanız katkıda bulunduğunuz projenin farklı bir önceden tanımlanmış lisansı yoksa varsayılan AOSP telif hakkını ve aşağıdaki lisans başlığını kullanın:
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.