From: Alexey Gladkov <legion@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] I: license tag
Date: Tue, 19 Nov 2019 21:05:16 +0100
Message-ID: <20191119200516.6xsutqsrg3sijjy3@localhost> (raw)
Привет!
Некоторое время назад я пробовал проанализировать наши пакеты на предмет
свободности. По сути задача та же самая как и дистрибутивостроителей,
которые должны отфильтровать пакеты не предназначенные для коммерческого
использования. Иных данных о лицензиях содержимого пакета, кроме тега
License у нас нет.
Выяснилась интереснейшая вещь. В наших пакетах этот тег может содержать
всё, что угодно. Там оказывается как откровенный мусор, так и
двусмысленные названия лицензий или же вообще несуществующие лицензии
(например, мантейнер vorbisgain указывает, что лицензия "GPL 2.1", но
такой версии GPL ещё нет).
Чтобы это хоть как-то решить в сизиф отправлен sisyphus_check, который
выдаёт предупреждения относительно содержимого тега License т.к. масштаб
разрушений у нас просто огромный.
За основу была взята полиси OpenSUSE[1].
Новая проверка требует (пока не жёстко) чтобы:
* Лицензии должны быть объявлены в формате коротких имен SPDX[2] и
присутствовать в пакете common-licenses. Пробелы в имени лицензии не
допускается.
* Для указания совокупности лицензий в пакете используется оператор `and`.
* Альтернативные лицензии должны быть разделены оператором `or`.
* Лицензии могут быть сгруппированы. Для этого используются скобки. Такое,
например, необходимо, если документация имеет лицензию и код
поставляется под двойной лицензией:
License: (GPL-2.0 or Artistic-1.0-Perl) and CC0-1.0
Группы внутри групп не допускаются. Скобки должны быть сбалансированы.
* Исключения из лицензий тоже должны быть отдельно описаны и находится в
пакете common-licenses. Исключения указываются после название лицензии
через оператор `with`. Пробелы в имени исключения не допускаются.
License: LGPL-2.1-or-later and LGPL-2.1-or-later with GCC-exception-2.0 and GPL-2.0-or-later
* Операторы `and`, `or`, `with` не могут быть указаны один за другим,
начинать или заканчивать строку с перечислением лицензий.
Все операторы `and`, `or`, `with` могут быть указаны в любом регистре.
Проверка
--------
Проверка sisyphus_check сейчас всё-таки считает некоторые конструкции
ошибочными:
* Какие либо операторы указаны подряд или вначале или конце строки.
* Группы в группах.
* Несбаллансированные скобки.
Вот небольшая статистика по тому сколько бинарнах пакетов это затронет:
# must not follow another keyword: 7
# groups within groups are not allowed: 0
# closing bracket without opening bracket: 0
# unbalanced brackets: 152
FAQ
---
Q: Почему было взято именно полиси OpenSUSE, если исторически в наш
репозиторий пакеты портируются из Fedora ?
A: Посили Fedora[3] содержит жёсткий коротких список имён[4], который
поддерживется legal team. Короткие имена, используемые в fedora, проще, но
вместе с тем они теряют часть информации о лицензии, которую трудно
восстановить автоматически. Например, все ниже перечисленные лицензии
имеют короткое имя `BSD`:
- BSD License (no advertising)
- BSD License (two clause)
- Creative Commons BSD
- Cryptix General License
- Eclipse Distribution License 1.0
- Metasploit Framework License (post 2006)
Или `GPLv3+ with exceptions`:
- GNU General Public License v3.0 or later, with Classpath exception
- GNU General Public License v3.0 or later, with font embedding exception
Также короткие имена не стандартизованы. Поэтому такой список лицензий
сложно поддерживать. Такой формат записи сложно прверять автоматически.
Q: Как мне поправить свой пакет ?
A: Если вы не уверены как правильно указывается лицензия вы можете
посмотреть, как описывается этот тэг в OpenSUSE. Если же вашего пакета нет
в их репозитории, то пишите в devel@.
Q: Лицензии, которая используется в проекте нет в пакете common-licenses.
Что делать ?
A: Повесьте багу на пакет common-licenses и приложите текст лицензии.
Очень важно, чтобы у нас были тексты лицензий, иначе невозможно проверить
правовую информацию. Так у нас есть пакеты с лицензией `distributable not
for profit`, `Free for non-commercial use`, `no modification permitted`,
`non-military use` и т.д. Часть же лицензий не могут использоваться в
репозитории. Например, в fedora есть целый список несвободных лицензий[5].
Q: Я не знаю какая лицензия у проекта. Что делать ?
A: Пишите на legal@ или в devel@. Лицензия должна быть известна.
[1] https://en.opensuse.org/openSUSE:Packaging_guidelines#Licensing
[2] https://spdx.org/licenses/
[3] https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing
[4] https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
[5] https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Bad_Licenses
--
Rgrds, legion
next reply other threads:[~2019-11-19 20:05 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-19 20:05 Alexey Gladkov [this message]
2019-11-19 20:28 ` Sergey Y. Afonin
2019-11-19 20:39 ` Dmitry V. Levin
2019-11-26 16:39 ` Mikhail Efremov
2019-11-27 15:26 ` Mikhail Efremov
2019-11-28 10:52 ` Alexey Gladkov
2019-11-28 13:17 ` Mikhail Efremov
2019-11-28 14:03 ` Alexey V. Vissarionov
2019-11-28 14:11 ` Sergey V Turchin
2019-11-28 14:15 ` Alexey V. Vissarionov
2019-11-28 14:16 ` Michael Shigorin
2019-11-28 14:22 ` Alexey V. Vissarionov
2019-11-28 14:22 ` Alexey Gladkov
2019-11-28 14:20 ` Sergey V Turchin
2019-11-28 14:20 ` Alexey Gladkov
2019-11-28 14:26 ` Alexey V. Vissarionov
2019-11-28 14:31 ` Alexey Gladkov
2019-11-28 14:18 ` Alexey Gladkov
2019-11-19 20:51 ` Alexey Gladkov
2019-11-19 21:07 ` Sergey Y. Afonin
2019-11-19 21:27 ` Alexey Gladkov
2019-11-20 5:57 ` Sergey Afonin
2019-11-19 21:34 ` Alexey Gladkov
2019-11-20 0:09 ` Grigory Ustinov
2019-11-20 0:43 ` Alexey Gladkov
2019-11-20 10:36 ` [devel] Q: rastertokpsl-re (was: I: license tag) Paul Wolneykien
2019-11-20 11:23 ` Alexey V. Vissarionov
2019-11-20 17:03 ` Andrey Savchenko
2019-11-21 9:18 ` Alexey V. Vissarionov
2019-11-21 12:11 ` Anton V. Boyarshinov
2019-11-20 11:37 ` Michael Shigorin
2019-11-20 16:23 ` Paul Wolneykien
2019-11-20 16:37 ` Michael Shigorin
2019-11-21 9:33 ` Paul Wolneykien
2019-11-21 20:37 ` [devel] Q: rastertokpsl-re Vitaly Lipatov
2019-11-21 22:15 ` Paul Wolneykien
2019-11-22 0:37 ` Andrey Savchenko
2019-11-22 7:44 ` [devel] I: license tag Sergey V Turchin
2019-11-22 8:49 ` Michael Shigorin
2019-11-22 9:05 ` Michael Shigorin
2019-11-22 9:20 ` [devel] LGPL-2.1-with-Qt-Company-Qt-exception-1.1 (was: license tag) Sergey V Turchin
2019-11-22 17:17 ` Alexey Gladkov
2019-11-25 7:24 ` Sergey V Turchin
2019-11-25 8:30 ` Alexey Gladkov
2019-11-25 8:35 ` Sergey V Turchin
2019-11-25 8:44 ` Alexey Gladkov
2019-11-25 8:56 ` Sergey V Turchin
2019-11-25 9:23 ` [devel] LGPL-2.1-with-Qt-Company-Qt-exception-1.1 Anton Farygin
2019-11-25 9:52 ` Alexey Gladkov
2019-11-22 9:22 ` [devel] I: license tag (BSD* и подобные) Michael Shigorin
2019-11-22 17:09 ` Alexey Gladkov
2019-11-25 14:38 ` [devel] I: license tag for ClamAV Sergey Afonin
2019-11-25 14:53 ` Alexey Gladkov
2019-11-25 15:24 ` Sergey Afonin
2019-11-25 15:47 ` Sergey Afonin
2019-11-25 15:06 ` Vladimir D. Seleznev
2019-11-26 15:44 ` Sergey Afonin
2020-01-01 19:13 ` [devel] I: license tag for Cyrus-IMAP Sergey Y. Afonin
2020-01-01 19:35 ` Alexey Gladkov
2020-01-01 20:01 ` Sergey Y. Afonin
2020-01-01 20:12 ` Alexey Gladkov
2020-01-01 20:44 ` Sergey Y. Afonin
2020-01-02 8:48 ` Andrey Savchenko
2020-01-02 11:13 ` Sergey Y. Afonin
2020-03-16 12:50 ` Sergey Afonin
2020-01-09 9:04 ` Sergey V Turchin
2020-01-10 7:39 ` Sergey V Turchin
2020-03-15 16:33 ` [devel] I: license tag Sergey Y. Afonin
2020-03-16 11:53 ` Sergey Afonin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191119200516.6xsutqsrg3sijjy3@localhost \
--to=legion@altlinux.ru \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git