diff options
Diffstat (limited to 'documentation/content/ru/articles/license-guide/_index.adoc')
-rw-r--r-- | documentation/content/ru/articles/license-guide/_index.adoc | 480 |
1 files changed, 480 insertions, 0 deletions
diff --git a/documentation/content/ru/articles/license-guide/_index.adoc b/documentation/content/ru/articles/license-guide/_index.adoc new file mode 100644 index 0000000000..d36b20a8db --- /dev/null +++ b/documentation/content/ru/articles/license-guide/_index.adoc @@ -0,0 +1,480 @@ +--- +authors: + - + author: 'Warner Losh' + email: imp@FreeBSD.org +title: 'Политика лицензирования FreeBSD' +trademarks: ["freebsd", "general"] +--- + += Политики лицензирования FreeBSD +:doctype: article +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:source-highlighter: rouge +:experimental: + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +:imagesdir: ../../../images/{images-path} +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +''' + +toc::[] + +[[intro]] + +[[pref-license]] +== Предпочтительная лицензия для новых файлов + +Оставшаяся часть этого раздела предназначена для того, чтобы помочь вам +разобраться. Как правило, если сомневаетесь, спрашивайте. Получить совет +гораздо проще, чем исправлять дерево исходного кода. Проект FreeBSD +использует как явные лицензии (где дословный текст лицензии воспроизводится +в каждом файле), так и отделённые лицензии (где тег в файле указывает +лицензию, как описано в этом документе). + +Проект FreeBSD использует следующий текст в качестве предпочтительной +лицензии: + +[.programlisting] +.... +/* + * Copyright (c) [year] [your name] + * + * SPDX-License-Identifier: BSD-2-Clause + */ +.... + +Проект FreeBSD не разрешает использование «рекламного условия»footnote:[прим +перев: требование указания первоначального автора при всех изменениях кода] +в новом коде. Из-за большого числа участников проекта FreeBSD соблюдение +этого условия стало затруднительным для многих коммерческих +поставщиков. Если у вас есть код в дереве с рекламным условием, пожалуйста, +рассмотрите возможность перехода на лицензию без него. Новые вклады в +FreeBSD должны использовать лицензию BSD-2-Clause. + +Проект FreeBSD не поощряет полностью новые лицензии и вариации стандартных +лицензий. Новые лицензии требуют одобрения {core-email} для размещения в +основном репозитории. В прошлом нестандартные лицензии вызывали больше +проблем, чем стандартные. Плохая проработка нестандартных лицензий часто +приводит к непредвиденным последствиям, поэтому они вряд ли будут одобрены +{core-email}. Проект FreeBSD стандартизируется на лицензии BSD-2-Clause, как +опубликовано SPDX. + +В дополнение, политика проекта требует, чтобы код, лицензированный под +некоторыми не-BSD лицензиями, размещался в определённых разделах +репозитория. Для некоторых лицензий компиляция должна быть условной или +отключена по умолчанию. Например, код в статической части ядра GENERIC +должен быть лицензирован под BSD или аналогичными лицензиями. Программное +обеспечение под лицензиями GPL, APSL, CDDL и т.п. не должно компилироваться +в статическое ядро GENERIC. Однако код с такими лицензиями может +использоваться в предварительно скомпилированных модулях. + +Разработчикам напоминают, что в открытом исходном коде правильное понимание +«открытости» так же важно, как и правильное понимание «исходного +кода». Неправильное обращение с интеллектуальной собственностью имеет +серьёзные последствия. Любые вопросы или опасения следует немедленно +направлять по адресу {core-email}. + +[[license-policy]] +== Политика лицензирования программного обеспечения + +В следующих разделах подробно изложены политики лицензирования программного +обеспечения проекта. В основном мы ожидаем, что разработчики прочитают, +поймут и будут использовать разделы выше, чтобы применять соответствующие +лицензии к своим вкладам. Остальная часть этого документа подробно описывает +философскую основу политик, а также сами политики. Как всегда, если текст +ниже вызывает затруднения или вам нужна помощь в применении этих политик, +пожалуйста, обратитесь к {core-email}. + +=== Руководящие принципы + +Проект FreeBSD ставит своей целью создание полноценной операционной системы +под лицензией BSD, позволяющей пользователям системы создавать производные +продукты без ограничений или дополнительных лицензионных обязательств. Мы +приветствуем и высоко ценим вклад в виде изменений и дополнений под +лицензией BSD с двумя пунктами, а также призываем другие проекты с открытым +исходным кодом принимать эту лицензию. Использование лицензии BSD является +ключевым для поощрения внедрения передовых технологий операционных систем и +во многих значимых случаях играло решающую роль в широком распространении +новых технологий. + +Мы, однако, признаем, что существуют веские причины для включения в исходное +дерево FreeBSD программного обеспечения с другими лицензиями. + +Мы требуем, чтобы программное обеспечение, лицензированное под некоторыми +не-BSD лицензиями, было тщательно изолировано в дереве исходного кода, чтобы +оно не могло загрязнять компоненты, доступные только под BSD. Такое +осторожное управление способствует ясности лицензирования и облегчает +создание производных продуктов, доступных только под BSD. + +Если не сделано специального исключения, существующие компоненты с лицензией +BSD не могут быть заменены на программное обеспечение с более +ограничительной лицензией. Мы призываем разработчиков FreeBSD и сторонних +разработчиков стремиться к перелицензированию, двойному лицензированию или +перереализации критических компонентов под лицензией BSD. Это облегчит их +более полную интеграцию в операционную систему FreeBSD. + +=== Политика + +* Импорт нового программного обеспечения, лицензированного под любыми + лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено + ниже), требует предварительного одобрения от FreeBSD Core Team. Запросы на + импорт должны включать: +** Список новых возможностей или исправлений ошибок, которые содержит новая + версия или патчи, вместе с доказательствами того, что эти возможности нужны + нашим пользователям. Идеальными формами доказательств являются PR (запросы + на включение изменений) или ссылки на обсуждения в почтовых рассылках. +** Этот процесс должен использоваться для всех импортов программного + обеспечения, а не только для тех, которые требуют проверки Core Team. Сам + факт существования новой версии не является оправданием для импорта + программного обеспечения в исходные коды или порты. +** Список ветвей FreeBSD, которые могут быть затронуты. Расширение области + применения требует нового запроса и одобрения от основной команды FreeBSD. + +* Лицензия Apache 2.0 допустима для использования в некоторых + случаях. Основная команда должна одобрить импорт новых компонентов, + лицензированных по лицензии Apache, или изменение лицензии существующих + компонентов на лицензию Apache. +** Данная лицензия одобрена для следующих компонентов: +*** Инструментарий LLVM и (с исключениями LLVM) компоненты времени выполнения. + +* Лицензия BSD+Patent License допустима для использования в некоторых + случаях. Основная команда (Core Team) должна одобрить импорт новых + компонентов, лицензированных по BSD+Patent License, или изменение лицензии + существующих компонентов на BSD+Patent License. +** Данная лицензия одобрена для следующих компонентов: +*** Код, основанный на EDK2, связанный с функциональностью UEFI + +* Общая лицензия на разработку и распространение (CDDL) допустима для + использования в некоторых случаях. Основная команда должна одобрить импорт + новых компонентов с лицензией CDDL или изменение лицензии существующих + компонентов на CDDL. +** Данная лицензия одобрена для следующих компонентов: +*** DTrace +*** Файловая система ZFS, включая поддержку в ядре и пользовательские утилиты + +* Исторически фраза "All Rights Reserved." включалась во все уведомления об + авторских правах. Все релизы BSD содержали её, чтобы соответствовать + требованиям + https://en.wikipedia.org/wiki/Buenos_Aires_Convention[Буэнос-Айресской + конвенции 1910 года] в Америке. После ратификации + https://en.wikipedia.org/wiki/Berne_Convention[Бернской конвенции] в 2000 + году Никарагуа, Буэнос-Айресская конвенция — и эта фраза — устарели. В связи + с этим проект FreeBSD рекомендует опускать эту фразу в новом коде и + призывает текущих правообладателей удалить её. В 2018 году проект обновил + свои шаблоны, убрав её. +* Изначально многие элементы в дереве FreeBSD были помечены лицензией + BSD-2-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как + вариант, и текст устаревшего тега в SPDX отличается от стандартной лицензии + FreeBSD настолько, что его не следует использовать. Проводится проверка его + текущего использования. + +==== Допустимые лицензии + +Следующие лицензии считаются допустимыми лицензиями в стиле BSD для целей +данной Политики. Отклонения или использование любых других лицензий должны +быть согласованы с основной командой (Core Team) FreeBSD: + +* Версия лицензии BSD с 2 пунктами + +[.programlisting] +.... +/* + * Copyright (c) [year] [your name] + * + * SPDX-License-Identifier: BSD-2-Clause + */ +.... +* Версия лицензии BSD с 3 пунктами + +[.programlisting] +.... +/* + * Copyright (c) [year] [your name] + * + * SPDX-License-Identifier: BSD-3-Clause + */ +.... +* Лицензия ISC + +[.programlisting] +.... +/* + * Copyright (c) [year] [copyright holder] + * + * SPDX-License-Identifier: ISC + */ +.... +* Лицензия MIT + +[.programlisting] +.... +/* + * Copyright (c) [year] [copyright holders] + * + * SPDX-License-Identifier: MIT + */ +.... +== Лицензия набора программного обеспечения (Software Collection License) + +Проект FreeBSD лицензирует свою подборку программного обеспечения, как +описано в [.filename]#COPYRIGHT#, по лицензии BSD-2-Clause. Данная лицензия +не заменяет лицензии отдельных файлов, которые описаны ниже. Файлы, не +имеющие явной лицензии, распространяются по лицензии BSD-2-Clause. + +== Расположение файла лицензии + +Для соответствия стандарту https://reuse.software/[REUSE Software] насколько +это возможно, все файлы лицензий будут храниться в каталоге +[.filename]#LICENSES/# репозитория. В этом корневом каталоге есть три +подкаталога. Подкаталог [.filename]#LICENSES/text/# содержит в отдельном +виде тексты всех лицензий, разрешённых в комплекте программного обеспечения +FreeBSD. Эти файлы сохраняются с использованием идентификатора +SPDX-License-Identifier с добавлением .txt. Подкаталог +[.filename]#LICENSES/exceptions/# содержит тексты всех исключений, +разрешённых в отдельном виде в комплекте программного обеспечения +FreeBSD. Эти файлы сохраняются с использованием идентификатора исключения с +добавлением .txt. Подкаталог [.filename]#LICENSES/other/# содержит в +отдельном виде файлы лицензий, упомянутые в выражениях +SPDX-License-Identifier, но не разрешённые в качестве отдельных +лицензий. Все такие файлы должны присутствовать в комплекте программного +обеспечения FreeBSD хотя бы один раз и должны быть удалены, когда удаляется +последний файл, ссылающийся на них. Лицензии, для которых нет подходящего +соответствия в SPDX, должны находиться в [.filename]#LICENSES/other/# и +иметь имя файла, начинающееся с LicenseRef-, за которым следует уникальная +строка идентификатора. В настоящее время такие файлы не выявлены, но если +они появятся, их полный список будет приведён здесь. + +Проект FreeBSD в настоящее время не использует файлы `DEP5`, описанные в +стандарте `REUSE Software`. Проект FreeBSD ещё не пометил все файлы в дереве +в соответствии с этим стандартом, как описано далее в этом документе. Проект +FreeBSD пока не включил эти файлы в свои репозитории, поскольку данная +политика ещё находится в процессе разработки. + +[[individual-files]] +== Лицензии индивидуальных файлов + +Каждый отдельный файл в комплекте программного обеспечения FreeBSD имеет +собственное авторское право и лицензию. Способ их обозначения варьируется и +описан в этом разделе. + +Уведомление об авторских правах указывает, кто заявляет о законных авторских +правах на файл. Они предоставляются проектом по принципу наилучших +усилий. Поскольку авторские права могут быть юридически переданы, текущий +правообладатель может отличаться от указанного в файле. + +Лицензия — это юридический документ между автором и пользователями +программного обеспечения, который предоставляет разрешение на использование +защищённых авторским правом частей программного обеспечения на определённых +условиях, изложенных в лицензии. В коллекции программного обеспечения +FreeBSD лицензии могут быть выражены одним из двух способов. Лицензии могут +быть явно указаны в файле. Когда лицензионное разрешение явно указано в +файле, этот файл может использоваться, копироваться и изменяться в +соответствии с данной лицензией. Лицензии также могут быть выражены +косвенно, когда текст лицензии находится в другом месте. Для этой цели +проект использует идентификаторы лицензий Software Package Data Exchange +(SPDX), как описано в следующих подразделах. Идентификаторы лицензий SPDX +управляются рабочей группой SPDX в Linux Foundation и были согласованы +партнёрами по отрасли, поставщиками инструментов и юридическими +командами. Для получения дополнительной информации см. https://spdx.org/ и +следующие разделы о том, как проект FreeBSD их использует. + +Сущности, которые вносят исправления и улучшения в комплект программного +обеспечения без явного лицензирования, соглашаются лицензировать эти +изменения на условиях, применимых к изменённым файлам. Политика проекта, в +соответствии с отраслевой практикой, включает уведомление об авторских +правах только от значительных участников для файлов в коллекции. + +В комплекте программного обеспечения FreeBSD существует четыре типа файлов: + +. Файлы, содержащие только явное уведомление об авторских правах и лицензию. +. Файлы, содержащие как явное уведомление об авторских правах и лицензии, так + и тег SPDX-License-Identifier. +. Файлы, содержащие только уведомление об авторских правах и тег + SPDX-License-Identifier, но без явного указания лицензии. +. Файлы, в которых отсутствует какое-либо указание на авторские права или + лицензию. + +=== Только авторские права и лицензия + +Многие файлы в коллекции программного обеспечения FreeBSD содержат как +уведомление об авторских правах, так и явную лицензию в самом файле. В таких +случаях применяется лицензия, указанная в файле. + +=== Авторские права и лицензия с выражением SPDX-License-Identifier + +Некоторые файлы в коллекции программного обеспечения FreeBSD содержат +заявление об авторских правах, тег SPDX-License-Identifier и явную +лицензию. Явная лицензия имеет приоритет над тегом +SPDX-License-Identifier. Тег SPDX-License-Identifier представляет собой +наилучшую попытку проекта охарактеризовать лицензию, но является лишь +информационным полем для автоматизированных +инструментов. См. crossref:license-guide[expressions,Выражения +SPDX-License-Identifier] для интерпретации выражения. + +=== Только уведомление об авторских правах и выражение SPDX-License-Identifier. + +Некоторые файлы в дереве содержат отдельные лицензии. Эти файлы содержат +только уведомление об авторских правах и выражение SPDX-License-Identifier, +но не содержат явной лицензии. См. crossref:license-guide[expressions, +Выражения SPDX-License-Identifier] для интерпретации выражения. Примечание: +выражения, разрешенные для отдельных лицензий проектом, являются +подмножеством выражений, используемых в информационных целях или +определенных стандартом. + +Лицензия для файлов, содержащих только SPDX-License-Identifier, должна +толковаться как + +. Начните лицензию с уведомления об авторских правах из файла. Включите всех + правообладателей. +. Для каждого подвыражения скопируйте текст лицензии из + [.filename]#LICENSE/text/`id`.txt#. Если присутствуют исключения, добавьте + их из [.filename]#src/share/license/exceptions/`id`.txt#. Выражения + SPDX-License-Identifier должны интерпретироваться в соответствии со + стандартом SPDX. + +Где `id` — это короткий идентификатор лицензии SPDX из столбца `Identifier` +на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или +https://spdx.org/licenses/exceptions-index.html[исключения лицензий]. Если в +каталоге [.filename]#LICENSE/# нет файла, то такая лицензия или исключение +не могут быть указаны как отдельная лицензия в этом разделе. + +При чтении текста лицензии, отделенного от файла, необходимо учитывать ряд +аспектов, чтобы отделенная лицензия имела смысл. + +. Любая ссылка на уведомление об авторских правах должна относиться к + уведомлению, составленному из лицензированного файла, а не из любого + уведомления об авторских правах в самом тексте файла лицензии. Многие файлы + SPDX содержат примеры уведомлений об авторских правах, которые понимаются + исключительно как образцы. +. Когда в тексте лицензии упоминаются названия организаций, они должны + интерпретироваться как относящиеся к списку всех правообладателей, указанных + в уведомлениях об авторских правах лицензированного файла. Например, + лицензия BSD-4-clause содержит фразу "Этот продукт включает программное + обеспечение, разработанное организацией". Фраза 'организацией' должна быть + заменена на правообладателей. +. Когда SPDX предлагает варианты лицензии, подразумевается, что лицензия в + файле [.filename]#LICENSE/# представляет точную версию выбранной + лицензии. Стандарт SPDX существует для сопоставления семейств лицензий, и + эти варианты помогают сопоставлять похожие лицензии, которые организация + SPDX считает юридически идентичными. + +Для лицензий с небольшими вариациями в тексте SPDX предоставляет +рекомендации по их сопоставлению. Эти рекомендации здесь не +актуальны. Участники, желающие использовать вариант лицензии SPDX, который +не содержится дословно в [.filename]#LICENSE/#, не могут использовать +отдельный вариант и должны явно указать лицензию. + +=== Файлы без указания авторских прав или любой лицензионной отметки + +Некоторые файлы не могут содержать подходящих комментариев. В таких случаях +лицензия может быть найдена в [.filename]#file.ext.license#. Например, файл +с именем [.filename]#foo.jpg# может иметь лицензию в +[.filename]#foo.jpg.license#, следуя соглашениям REUSE Software. + +Файлы, созданные проектом, в которых отсутствует уведомление об авторских +правах, считаются подпадающими под общие положения об авторских правах и +лицензировании в файле [.filename]#COPYRIGHT#. Это означает, что либо файл +представляет собой простое изложение фактов, не охраняемых законом об +авторских правах, либо его содержание настолько тривиально, что не требует +оформления явной лицензии. + +Файлы, которые не имеют маркировки и содержат значительное количество +материала, защищенного авторским правом, или которые автор считает +неправильно промаркированными, должны быть доведены до сведения основной +команды (Core Team) FreeBSD. Проект FreeBSD строго придерживается политики +соблюдения всех соответствующих лицензий. + +В будущем все подобные файлы будут явно помечены или следовать соглашению +REUSE Software о файлах с расширением [.filename]#.license#. + +[[expressions]] +=== Выражения SPDX-License-Identifier + +'SPDX License expression' используется в двух контекстах в коллекции +программного обеспечения FreeBSD. Во-первых, его полная форма применяется +для файлов, которые содержат явные заявления о лицензии внутри файла, а +также обобщающее выражение SPDX-License-Identifier. В этом контексте может +быть использована вся мощь этих выражений. Во-вторых, в ограниченной форме, +описанной выше, оно используется для обозначения фактической лицензии для +данного файла. Во втором контексте проектом разрешено только подмножество +этого выражения. + +`Лицензионные под-выражения SPDX` — это либо короткий идентификатор лицензии +из https://spdx.org/licenses/[Список лицензий SPDX], либо комбинация двух +таких идентификаторов, разделённых "WITH", если применяется +https://spdx.org/licenses/exceptions-index.html[исключение из +лицензии]. Если применяются несколько лицензий, выражение состоит из +подвыражений, разделённых ключевыми словами "AND", "OR" и окружённых +символами "(", ")". Полное описание выражений доступно в +https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/[спецификации] +и имеет приоритет в случае противоречий с упрощённым изложением этого +раздела. + +Некоторые идентификаторы лицензий, такие как [L]GPL, предоставляют +возможность использовать только указанную версию или любую более позднюю +версию. SPDX определяет суффикс `-or-later` для обозначения этой версии +лицензии или более поздней версии. Суффикс `-only` означает только указанную +версию файла. Существует старая конвенция, согласно которой отсутствие +суффикса (что означает то же, что и новый суффикс '-only', но люди путают +это с `-or-later`). Кроме того, добавление суффикса `+` подразумевало +значение `-or-later`. В новых файлах FreeBSD не следует использовать эти две +конвенции. Старые файлы, использующие эту конвенцию, следует преобразовать +соответствующим образом. + +[.programlisting] +.... + // SPDX-License-Identifier: GPL-2.0-only + // SPDX-License-Identifier: LGPL-2.1-or-later +.... + +`WITH` следует использовать, когда требуется модификатор лицензии. В проекте +FreeBSD ряд файлов из LLVM имеют исключение из лицензии Apache 2.0: + +[.programlisting] +.... + // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +.... + +https://spdx.org/licenses/exceptions-index.html[Теги исключений] управляются +SPDX. Исключения лицензий могут применяться только к определённым лицензиям, +как указано в исключении. + +`OR` следует использовать, если файл предлагает выбор лицензии и одна +лицензия выбрана. Например, некоторые файлы `dtsi` доступны под двойными +лицензиями: + +[.programlisting] +.... + // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +.... + +`AND` следует использовать, если файл имеет несколько лицензий, условия +которых применяются к использованию файла. Например, если код был +заимствован из нескольких проектов, каждый со своей собственной лицензией: + +[.programlisting] +.... + // SPDX-License-Identifier: BSD-2-Clause AND MIT +.... |