Лицензионные соглашения и заголовки для участников

На этой странице рассматриваются две важные задачи участника: подписание лицензионных соглашений участника и обеспечение правильного использования заголовков лицензирования в вашем коде.

Подписать лицензионные соглашения с участниками

Все индивидуальные участники (те, кто вносит вклад только от своего имени) идей, кода или документации в Android Open Source Project (AOSP) обязаны заполнить, подписать и отправить Лицензионное соглашение индивидуального участника . Вы можете подписать это соглашение онлайн с помощью инструмента проверки кода . Соглашение определяет условия предоставления интеллектуальной собственности в AOSP. Данная лицензия предназначена для вашей защиты как участника, а также для защиты проекта; она не влияет на ваши права на использование ваших вкладов в любых других целях.

Лицензионное соглашение с корпоративным участником доступно для корпораций (или других организаций), чьи сотрудники работают над AOSP. Эта версия соглашения позволяет корпорациям авторизовать вклады, вносимые их сотрудниками, и предоставлять лицензии на авторские права и патенты.

Google основывает свои лицензионные соглашения с участниками на соглашениях, используемых Apache Software Foundation , которые можно найти на веб-сайте Apache .

Включить заголовки лицензии

Проект Android Open Source Project (AOSP) использует несколько лицензий с открытым исходным кодом, одобренных инициативой открытого исходного кода, для нашего программного обеспечения.

Лицензия Apache версии 2.0 (Apache 2.0) является предпочтительной лицензией для AOSP, и большая часть программного обеспечения для Android лицензируется по Apache 2.0. Хотя проект стремится придерживаться этой предпочтительной лицензии, существуют исключения, которые рассматриваются в индивидуальном порядке. Например, исправления ядра Linux распространяются по лицензии GPLv2 с системными исключениями, которые можно найти в Архивах ядра Linux .

Для программного обеспечения пользовательского пространства (не относящегося к ядру) Google предпочитает Apache 2.0 (и аналогичные лицензии, такие как BSD и MIT), а не другие лицензии, например, GNU Lesser General Public License (LGPL). Вот почему:

  • Android — это свобода и выбор. Цель Android — содействовать открытости в мобильном мире, и Google не может предсказать или диктовать все варианты использования нашего программного обеспечения. Поэтому, хотя Google призывает всех создавать открытые и модифицируемые устройства, мы не считаем себя вправе принуждать их к этому. Использование библиотек LGPL может наложить ограничения. Вот некоторые из наших конкретных опасений:

    • Проще говоря, LGPL требует предоставления исходного кода для приложения, письменного предложения о предоставлении исходного кода или динамического подключения библиотеки LGPL с возможностью вручную обновлять или заменять её. Программное обеспечение Android обычно поставляется в виде статического образа системы, поэтому соблюдение этих требований ограничивает возможности производителей устройств. Например, пользователю сложно заменить библиотеку на флеш-накопителе, доступном только для чтения.

    • Лицензия LGPL требует разрешения на внесение изменений заказчиком и проведение обратного проектирования для отладки этих изменений. Большинство производителей устройств не хотят связывать себя этими условиями.

    • Исторически библиотеки LGPL были источником множества проблем с соблюдением требований лицензий для производителей устройств и разработчиков приложений. Обучение инженеров решению этих вопросов — сложная и трудоемкая задача. Для успеха Android критически важно, чтобы производители устройств могли легко соблюдать требования лицензий.

Эти опасения не являются критикой LGPL или других лицензий. Google ценит все свободные лицензии и лицензии с открытым исходным кодом и уважает лицензионные предпочтения других. Google решила, что Apache 2.0 наилучшим образом соответствует нашим целям.

При отправке кода для включения в AOSP необходимо обеспечить правильное использование заголовков лицензий. В следующих разделах объясняется, как обрабатывать заголовки лицензий для новых файлов и существующего кода.

Следуйте этим рекомендациям по оформлению заголовков, посвященных авторским правам и лицензиям:

  • Не изменяйте существующие авторские права. Например, если вы хотите предоставить в AOSP файл, содержащий код, изначально созданный в файле с собственным уведомлением об авторских правах, вы должны сохранить это уведомление об авторских правах из исходного файла.

  • Если вы добавляете совершенно новый исходный файл, используйте авторские права AOSP по умолчанию и следующий заголовок лицензии, если только проект, в который вы вносите свой вклад, не имеет другой предопределенной лицензии:

    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.