Na tej stronie omawiamy 2 ważne zadania współtwórcy: podpisywanie umów licencyjnych i zapewnianie prawidłowego używania nagłówków licencyjnych w kodzie.
Podpisywanie umów licencyjnych dla współtwórców
Wszyscy indywidualni współtwórcy (osoby, które wnoszą wkład tylko we własnym imieniu) pomysłów, kodu lub dokumentacji do projektu Android Open Source Project (AOSP) muszą wypełnić, podpisać i przesłać umowę licencyjną dla indywidualnych współtwórców. Możesz zawrzeć tę umowę online za pomocą narzędzia do sprawdzania kodu. Umowa określa warunki przekazywania własności intelektualnej do AOSP. Ta licencja chroni zarówno Ciebie jako współtwórcę, jak i projekt. Nie zmienia ona Twoich praw do wykorzystywania własnych treści w dowolnym innym celu.
Umowa licencyjna dla podmiotów prawnych jest dostępna dla korporacji (lub innych podmiotów), których pracownicy pracują nad AOSP. Ta wersja umowy umożliwia korporacji autoryzowanie treści przesyłanych przez wyznaczonych pracowników oraz przyznawanie licencji na prawa autorskie i patenty.
Google opiera swoje umowy licencyjne dla współtwórców na umowach stosowanych przez Apache Software Foundation, które można znaleźć na stronie internetowej Apache.
Uwzględnianie nagłówków licencji
W ramach Projektu Android Open Source (AOSP) używamy kilku zatwierdzonych licencji open source, które są zgodne z inicjatywą open source.
Licencja Apache w wersji 2.0 (Apache 2.0) jest preferowaną licencją dla AOSP, a większość oprogramowania 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ą GPLv2 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 (nie w jądrze) Google preferuje licencję Apache 2.0 (i podobne licencje, takie jak BSD i MIT) od innych licencji, np. GNU Lesser General Public License (LGPL). Przyczyna jest następująca:
Android to wolność i wybór. Celem Androida jest promowanie otwartości w świecie urządzeń mobilnych, a Google nie może przewidzieć ani narzucić wszystkich zastosowań naszego oprogramowania. Chociaż zachęcamy wszystkich do tworzenia otwartych i modyfikowalnych urządzeń, nie uważamy, że powinniśmy ich do tego zmuszać. Korzystanie z bibliotek LGPL może być ograniczające. Oto niektóre z naszych konkretnych obaw:
W uproszczeniu LGPL wymaga dostarczenia kodu źródłowego do aplikacji, pisemnej oferty kodu źródłowego lub dynamicznego połączenia biblioteki objętej licencją LGPL i umożliwienia użytkownikom ręcznego uaktualnienia lub zastąpienia biblioteki. Oprogramowanie Androida jest zwykle dostarczane jako statyczny obraz systemu, więc spełnienie tych wymagań ogranicza projekty producentów urządzeń. Na przykład użytkownikowi trudno jest zastąpić bibliotekę na pamięci flash tylko do odczytu.
Licencja LGPL wymaga zezwolenia na modyfikacje klienta i inżynierię wsteczną 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 zgodnością dla producentów urządzeń i programistów aplikacji. Edukacja inżynierów w zakresie tych problemów jest trudna i czasochłonna. Dla sukcesu Androida kluczowe jest to, aby producenci urządzeń mogli łatwo przestrzegać warunków licencji.
Nie są to zarzuty wobec licencji LGPL ani innych licencji. Google docenia wszystkie licencje bezpłatne i licencje open source oraz szanuje preferencje innych osób dotyczące licencji. Google uznało, że licencja Apache 2.0 najlepiej odpowiada naszym celom.
Przesyłając kod do uwzględnienia w AOSP, musisz zadbać o prawidłowe użycie nagłówków licencji. W sekcjach poniżej znajdziesz informacje o tym, jak postępować z nagłówkami licencji w przypadku nowych plików i dotychczasowego kodu.
Sprawdzone metody dotyczące licencji i praw autorskich
Stosuj te sprawdzone metody dotyczące nagłówka z informacjami o prawach autorskich i licencji:
Nie zmieniaj istniejących praw autorskich. Jeśli na przykład chcesz przesłać do AOSP plik zawierający kod pochodzący z innego pliku z własną informacją o prawach autorskich, musisz zachować tę informację z oryginalnego pliku.
Jeśli dodajesz całkowicie nowy plik źródłowy, użyj domyślnych informacji o prawach autorskich AOSP i tego nagłówka licencji, chyba że projekt, w którym uczestniczysz, ma inną predefiniowaną 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.