Lizenzvereinbarungen und Header für Mitwirkende

Auf dieser Seite werden zwei wichtige Aufgaben von Mitwirkenden behandelt: das Unterzeichnen von Lizenzvereinbarungen für Mitwirkende und das Sicherstellen der korrekten Verwendung von Lizenzheadern in Ihrem Code.

Unterzeichnen Sie Lizenzvereinbarungen für Mitwirkende

Alle einzelnen Mitwirkenden (die nur im eigenen Namen Beiträge leisten) von Ideen, Code oder Dokumentation zum Android Open Source Project (AOSP) müssen eine Lizenzvereinbarung für einzelne Mitwirkende ausfüllen, unterzeichnen und einreichen. Sie können diese Vereinbarung online über das Code-Review-Tool ausführen. Die Vereinbarung definiert die Bedingungen für die Einbringung von geistigem Eigentum in AOSP. Diese Lizenz dient Ihrem Schutz als Mitwirkender sowie dem Schutz des Projekts; Ihre Rechte, Ihre eigenen Beiträge für andere Zwecke zu verwenden, bleiben davon unberührt.

Die Corporate Contributor-Lizenzvereinbarung ist für ein Unternehmen (oder eine andere juristische Person) mit Mitarbeitern verfügbar, die an AOSP arbeiten. Diese Version der Vereinbarung ermöglicht es einem Unternehmen, von seinen benannten Mitarbeitern eingereichte Beiträge zu autorisieren und Urheberrechte und Patentlizenzen zu gewähren.

Die Lizenzvereinbarungen für Mitwirkende von Google basieren auf denen der Apache Software Foundation , die auf der Apache-Website zu finden sind.

Fügen Sie Lizenzheader hinzu

Das Android Open Source Project (AOSP) verwendet einige von der Open-Source-Initiative genehmigte Open-Source-Lizenzen für unsere Software.

Apache-Lizenz, Version 2.0 (Apache 2.0) ist die bevorzugte Lizenz für AOSP, und der Großteil der Android-Software ist mit Apache 2.0 lizenziert. Während das Projekt bestrebt ist, die bevorzugte Lizenz einzuhalten, gibt es Ausnahmen, die von Fall zu Fall gehandhabt werden. Beispielsweise unterliegen die Linux-Kernel-Patches der GPLv2-Lizenz mit Systemausnahmen, die in den Linux-Kernel-Archiven zu finden sind.

Für Userspace-Software (Nicht-Kernel-Software) bevorzugt Google Apache 2.0 (und ähnliche Lizenzen wie BSD und MIT) gegenüber anderen Lizenzen wie der GNU Lesser General Public License (LGPL). Hier ist der Grund:

  • Bei Android geht es um Freiheit und Auswahl. Der Zweck von Android besteht darin, die Offenheit in der mobilen Welt zu fördern, und Google kann nicht alle Verwendungszwecke unserer Software vorhersagen oder vorschreiben. Während Google jeden dazu ermutigt, offene und modifizierbare Geräte zu entwickeln, glauben wir nicht, dass es unsere Aufgabe ist, sie dazu zu zwingen. Die Verwendung von LGPL-Bibliotheken könnte restriktiv sein. Hier sind einige unserer spezifischen Anliegen:

    • Vereinfacht ausgedrückt erfordert LGPL den Versand der Quelle an die Anwendung; ein schriftliches Quellenangebot; oder die LGPL-ed-Bibliothek dynamisch zu verknüpfen und es Benutzern zu ermöglichen, die Bibliothek manuell zu aktualisieren oder zu ersetzen. Android-Software wird in der Regel als statisches Systemabbild geliefert, sodass die Einhaltung dieser Anforderungen die Designs der Gerätehersteller einschränkt. Beispielsweise ist es für einen Benutzer schwierig, eine Bibliothek auf einem schreibgeschützten Flash-Speicher zu ersetzen.

    • LGPL erfordert die Erlaubnis von Kundenmodifikationen und Reverse Engineering zum Debuggen dieser Modifikationen. Die meisten Gerätehersteller möchten nicht an diese Bedingungen gebunden sein.

    • In der Vergangenheit waren LGPL-Bibliotheken die Ursache vieler Compliance-Probleme für nachgeschaltete Gerätehersteller und App-Entwickler. Die Schulung von Ingenieuren zu diesen Themen ist schwierig und zeitaufwändig. Für den Erfolg von Android ist es entscheidend, dass Gerätehersteller die Lizenzen problemlos einhalten können.

Bei diesen Bedenken handelt es sich nicht um Kritik an LGPL oder anderen Lizenzen. Google begrüßt alle kostenlosen und Open-Source-Lizenzen und respektiert die Lizenzpräferenzen anderer. Google hat entschieden, dass Apache 2.0 am besten zu unseren Zielen passt.

Wenn Sie Code zur Aufnahme in AOSP einreichen, müssen Sie die ordnungsgemäße Verwendung der Lizenzheader sicherstellen. In den folgenden Abschnitten wird erläutert, wie mit Lizenzheadern für neue Dateien und vorhandenem Code umgegangen wird.

Befolgen Sie diese Best Practices für Urheberrecht und Lizenz-Header:

  • Ändern Sie kein bestehendes Urheberrecht. Wenn Sie beispielsweise eine Datei zu AOSP beitragen möchten, die Code enthält, der aus einer Datei mit einem eigenen Urheberrechtshinweis stammt, müssen Sie diesen Urheberrechtshinweis aus der Originaldatei beibehalten.

  • Wenn Sie eine völlig neue Quelldatei hinzufügen, verwenden Sie das standardmäßige AOSP-Copyright und den folgenden Lizenzheader, es sei denn, das Projekt, zu dem Sie beitragen, verfügt über eine andere vordefinierte Lizenz:

    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.