Contratti di licenza dei collaboratori e intestazioni

Questa pagina riguarda due importanti attività dei collaboratori: la firma delle licenze dei collaboratori contratti di licenza e assicurarti l'uso corretto delle intestazioni di licenza nel tuo codice.

Firmare i contratti di licenza dei collaboratori

Tutti i singoli collaboratori (coloro che forniscono contributi solo autonomamente di idee, codice o documentazione per Android Open Source Project (AOSP) devono compilare, firmare e inviare Contratto di licenza per collaboratori individuali. Puoi eseguire questo contratto online tramite strumento di revisione del codice. Il contratto definisce i termini per il contributo alla proprietà intellettuale a AOSP. Questa licenza serve la tua protezione in qualità di collaboratore, nonché il la protezione del progetto; ma non cambia i tuoi diritti a usare contributi per qualsiasi altro scopo.

Il Contratto di licenza per i collaboratori aziendali è disponibile per una società (o altra persona giuridica) con dipendenti che lavorano su AOSP. Questa versione del contratto consente a una società di autorizzare i contributi da parte dei dipendenti designati e di concedere copyright e brevetti licenze.

Google basa i propri contratti di licenza per i collaboratori su quelli utilizzati dai Apache Software Foundation, che può disponibile nella Sito web Apache.

Includi intestazioni licenza

Android Open Source Project (AOSP) utilizza alcune iniziativa open source open source approvata licenze per il nostro software.

Licenza Apache, versione 2.0 (Apache 2.0) è la licenza preferita per AOSP e la maggior parte dei dispositivi Android è concesso in licenza con Apache 2.0. Sebbene il progetto si sforza di rispettare le licenza preferita, ci sono delle eccezioni, che vengono gestite caso per caso base. Ad esempio, le patch del kernel Linux sono sotto la licenza GPLv2 con eccezioni di sistema, disponibili Gli archivi del kernel Linux.

Per il software per lo spazio utente (nonkernel), Google preferisce Apache 2.0 (e simile come BSD e MIT) rispetto ad altre come la GNU Lesser General Licenza pubblica (LGPL). Di seguito le ragioni:

  • Android offre libertà e scelta. Lo scopo di Android è promuovere di apertura nel mondo mobile e Google non può prevedere né dettare tutte le per il nostro software. Quindi, se da un lato Google incoraggia tutti a rendere modificabili, non pensiamo che sia il nostro posto per costringerli a farlo. Utilizzo Le librerie LGPL potrebbero essere restrittive. Ecco alcune delle nostre preoccupazioni specifiche:

    • In termini semplificati, LGPL richiede di spedire il codice sorgente all'applicazione. un offerta scritta come fonte; o collegare dinamicamente la libreria LGPL consentendo agli utenti di eseguire manualmente l'upgrade o la sostituzione della libreria. Il software Android è viene generalmente spedito sotto forma di immagine di sistema statica, quindi che limitano i design dei produttori dei dispositivi. Ad esempio, difficile per un utente sostituire una libreria in una memoria flash di sola lettura.

    • La LGPL consente la modifica da parte del cliente e il reverse engineering per eseguire il debug di queste modifiche. La maggior parte dei produttori di dispositivi non vuole essere vincolato dai presenti termini.

    • Storicamente, le librerie LGPL sono la fonte di molte soluzioni per i produttori di dispositivi e gli sviluppatori di app downstream. Formazione tecnici su questi problemi è difficile e dispendioso in termini di tempo. È fondamentale Il successo di Android grazie al fatto che i produttori di dispositivi possono facilmente rispettare le licenze.

Queste preoccupazioni non rappresentano una critica a LGPL o ad altre licenze. Google apprezza tutte le licenze libere e open source e rispettano le preferenze di licenza. Google ha stabilito che Apache 2.0 è la soluzione più adatta per i suoi obiettivi.

Quando invii il codice da includere in AOSP, devi garantire un uso corretto di intestazioni licenza. Le sezioni seguenti spiegano come gestire intestazioni di licenza per i nuovi file e il codice esistente.

Intestazione best practice per copyright e licenza:

  • Non modificare un copyright esistente. Ad esempio, se vuoi dare il tuo contributo in AOSP contenente il codice che ha avuto origine in un file con un nota sul copyright, è necessario conservare la nota sul copyright nel file originale.

  • Se aggiungi un file sorgente completamente nuovo, usa il copyright AOSP predefinito e seguente intestazione della licenza, a meno che il progetto a cui contribuisci non abbia un licenza predefinita diversa:

    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.