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
Wszystkie osoby, które wnoszą (tylko we własnym imieniu) pomysły, kod lub dokumentację do projektu Android Open Source Project (AOSP), muszą wypełnić, podpisać i przesłać umowę licencyjną dla indywidualnego autora. 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 firmie autoryzowanie treści przesłanych przez wyznaczonych pracowników oraz udzielanie licencji na prawa autorskie i patenty.
Umowy licencyjne Google z udziałem 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
Projekt Android Open Source (AOSP) korzysta z kilku licencji open source zatwierdzonych przez inicjatywę open source na nasze oprogramowanie.
Licencja Apache w wersji 2.0 (Apache 2.0) jest preferowaną licencją dla 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 Linuxa są objęte licencją GPLv2 z wyjątkami systemowymi, które można znaleźć w archiwum jądra Linuxa.
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, a Google nie może przewidzieć ani narzucić wszystkich zastosowań naszej platformy. 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ć związana tymi warunkami.
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 oprogramowanie open source i szanuje preferencje innych firm dotyczące licencji. Google uznało, że Apache 2.0 najlepiej odpowiada naszym celom.
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.
Stosowanie sprawdzonych metod dotyczących licencji i praw autorskich
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.