Umowy licencyjne i nagłówki dla współtwórców

Na tej stronie omawiamy 2 ważne zadania dla współtwórców: podpisywanie umów licencyjnych dla współtwórców i zapewnienie prawidłowego używania nagłówków licencji w kodzie.

Podpisywanie umów licencyjnych dla współtwórców

Wszyscy użytkownicy, którzy wkładają pomysły, kod lub dokumentację wyłącznie we własnym imieniu (Android Open Source Project, AOSP) muszą podpisać, podpisać i przesłać Umowę licencyjną na współtwórcę. Umowę możesz zawrzeć online za pomocą narzędzia do sprawdzania kodu. Umowa określa warunki udostępniania własności intelektualnej do AOSP. Ta licencja ma na celu ochronę Twych treści jako autora oraz ochronę projektu. Nie zmienia ona Twoich praw do korzystania z własnych treści w żadnym innym celu.

Umowa licencyjna dla firm jest dostępna dla korporacji (lub innego podmiotu) zatrudniającego pracowników pracujących nad AOSP. Ta wersja umowy umożliwia korporacji zatwierdzanie wkładów przesłanych przez wyznaczonych pracowników oraz udzielanie licencji na prawa autorskie i patenty.

Umowy licencyjne Google dla autorów oparte są na tych, których używa fundacja Apache Software Foundation. Można je znaleźć na stronie internetowej Apache.

Uwzględnij nagłówki licencji

W ramach projektu Android Open Source Project (AOSP) korzystamy z kilku zatwierdzonych licencji open source dla naszego oprogramowania w ramach inicjatywy open source.

Licencja Apache, wersja 2.0 (Apache 2.0) jest preferowaną licencją AOSP, a większość oprogramowania na Androida jest licencjonowana na podstawie Apache 2.0. Chociaż projekt stara się przestrzegać preferowanej licencji, istnieją wyjątki, które są rozpatrywane indywidualnie. Na przykład poprawki jądra systemu Linux są objęte licencją licencyjną dla systemu Linuxv2 (z wyjątkami systemowymi), które można znaleźć w archiwach jądra systemu Linux.

W przypadku oprogramowania działającego w przestrzeni użytkownika (niekernelowej) Google preferuje licencję Apache 2.0 (i podobne licencje, takie jak BSD i MIT) zamiast innych licencji, takich jak GNU Lesser General Public License (LGPL). Przyczyna jest następująca:

  • Android to swoboda i możliwość wyboru. Celem Androida jest promowanie otwartości w świecie urządzeń mobilnych. Google nie jest w stanie przewidzieć ani dyktować wszystkich sposobów użytkowania naszego oprogramowania. Chociaż Google zachęca wszystkich do tworzenia otwartych i modyfikowalnych urządzeń, nie uważamy, że mamy prawo do zmuszania użytkowników do tego. Korzystanie z bibliotek LGPL może być ograniczające. Oto kilka naszych konkretnych obaw:

    • Upraszczając, licencja LGPL wymaga przesłania kodu źródłowego do aplikacji, pisemnej oferty na kod źródłowy lub dynamicznego połączenia biblioteki LGPL i zezwolenia użytkownikom na ręczne uaktualnienie lub zastąpienie biblioteki. Oprogramowanie Androida jest zwykle dostarczane jako statyczny obraz systemu, więc spełnienie tych wymagań ogranicza możliwości projektowania producentów urządzeń. Na przykład użytkownikowi trudno jest zastąpić bibliotekę na pamięci flash tylko do odczytu.

    • LGPL wymaga dopuszczenia modyfikacji przez klienta i odwrotnego inżynierii w celu debugowania tych modyfikacji. Większość producentów urządzeń nie chce, by te warunki obowiązywać.

    • W przeszłości biblioteki LGPL były źródłem wielu problemów z przestrzeganiem przepisów dla producentów urządzeń i programistów aplikacji. Edukowanie inżynierów na temat tych problemów jest trudne i czasochłonne. Ważnym elementem sukcesu Androida jest to, że producenci urządzeń mogą łatwo dostosować się do licencji.

Te obawy nie są krytyką LGPL ani innych licencji. Google szanuje wszystkie licencje na wolne i otwarte oprogramowanie oraz szanuje preferencje innych firm dotyczące licencji. Uznaliśmy, że Apache 2.0 to najlepszy sposób dla naszych celów.

Przesyłając kod, który ma zostać uwzględniony w AOSP, musisz zadbać o prawidłowe użycie nagłówków licencji. W następnych sekcjach znajdziesz informacje o tym, jak obsługiwać nagłówki licencji w przypadku nowych plików i dotychczasowego kodu.

Postępuj zgodnie z tymi sprawdzonymi metodami dotyczącymi nagłówka prawa autorskiego i licencji:

  • Nie zmieniaj istniejących praw autorskich. Jeśli na przykład chcesz przesłać plik do AOSP, który zawiera kod pochodzący z pliku z własnym powiadomieniem o prawach autorskich, musisz zachować to powiadomienie z pierwotnego pliku.

  • Jeśli dodasz zupełnie nowy plik źródłowy, użyj domyślnego prawa autorskiego AOSP i tego nagłówka licencji, chyba że projekt, do którego się przyczyniasz, ma inną wstępnie zdefiniowaną licencję:

    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.