Правила лицензирования
Мы принимаем только формулы, использующие лицензию Правил свободного программного обеспечения Debian или выпущенные в общественное достояние в соответствии с Правилами Debian для программного обеспечения общественного достояния.
Указание лицензии
Все лицензии идентифицируются по их идентификатору лицензии из списка лицензий SPDX.
Укажите лицензию, передав её методу license.
license "MIT"
Общественное достояние можно указать с помощью символа:
license :public_domain
Если лицензия для формулы не может быть представлена с помощью выражения SPDX:
license :cannot_represent
Сложные выражения лицензий SPDX
Некоторые формулы имеют несколько лицензий, которые необходимо объединить различными способами. В этих случаях можно использовать более сложное выражение лицензии. Эти выражения основаны на Правилах выражений лицензий SPDX.
Добавьте +, чтобы указать, что пользователь может выбрать более позднюю версию той же лицензии:
license "EPL-1.0+"
Лицензии GNU (GPL, LGPL, AGPL и GFDL) требуют суффикса -only или -or-later, чтобы указать, разрешена ли более поздняя версия лицензии:
license "LGPL-2.1-only"
license "GPL-1.0-or-later"
Используйте :any_of, чтобы указать, что пользователь может выбрать соответствующую лицензию:
license any_of: ["MIT", "0BSD"]
Используйте :all_of, чтобы указать, что пользователь должен соблюдать несколько лицензий:
license all_of: ["MIT", "0BSD"]
Используйте :with, чтобы указать исключение лицензии:
license "MIT" => { with: "LLVM-exception" } Эти выражения могут быть вложены по мере необходимости:
license any_of: [
"MIT",
:public_domain,
all_of: ["0BSD", "Zlib", "Artistic-1.0+"],
"Apache-2.0" => { with: "LLVM-exception" },
] Указание запрещенных лицензий
Переменная среды HOMEBREW_FORBIDDEN_LICENSES может быть установлена для запрета установки формул, которые требуют или имеют зависимости, которые требуют определённых лицензий.
HOMEBREW_FORBIDDEN_LICENSES должна быть установлена в виде списка лицензий, разделённых пробелами. Используйте public_domain, чтобы запретить установку формул с лицензией :public_domain.
Например, следующее запрещает установку лицензий MIT, Artistic-1.0 и :public_domain.
export HOMEBREW_FORBIDDEN_LICENSES="MIT Artistic-1.0 public_domain"
В этом примере Homebrew откажется установить любую формулу, которая указывает лицензию MIT. Homebrew также запретит установку любой формулы, которая объявляет зависимость от формулы, которая указывает MIT, даже если у исходной формулы есть разрешённая лицензия.
Homebrew интерпретирует сложные выражения лицензий и определяет, разрешают ли лицензии установку. Чтобы продолжить вышеприведённый пример, Homebrew не позволит установить формулу со следующими заявлениями о лицензиях:
license any_of: ["MIT", "Artistic-1.0"]
license all_of: ["MIT", "0BSD"]
Homebrew разрешит установку формул с таким объявлением:
license any_of: ["MIT", "0BSD"]
HOMEBREW_FORBIDDEN_LICENSES также может запретить будущие версии определённых лицензий. Например, чтобы запретить Artistic-1.0, Artistic-2.0 и любые будущие лицензии Artistic, используйте:
export HOMEBREW_FORBIDDEN_LICENSES="Artistic-1.0+"
Для лицензий GNU (таких как GPL, LGPL, AGPL и GFDL), используйте -only или -or-later. Например, следующее запретило бы установку формул GPL-2.0, LGPL-2.1 и LGPL-3.0, но разрешило бы установку GPL-3.0.
export HOMEBREW_FORBIDDEN_LICENSES="GPL-2.0-only LGPL-2.1-or-later"
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/License-Guidelines