[devel] Лицензионная проблема в GPL пакетах, линкующихся с OpenSSL

Andrey Savchenko bircoph на altlinux.org
Вс Апр 4 17:34:47 MSK 2021


On Sun, 4 Apr 2021 17:13:43 +0300 Dmitry V. Levin wrote:
> On Sun, Apr 04, 2021 at 04:35:37PM +0300, Andrey Savchenko wrote:
> > On Sun, 4 Apr 2021 15:58:26 +0300 Dmitry V. Levin wrote:
> > > On Sun, Apr 04, 2021 at 03:04:23PM +0300, Andrey Savchenko wrote:
> > > > Добрый день!
> > > > 
> > > > Обращаю внимание, что лицензии OpenSSL и GPL(все) не совместимы:
> > > > https://www.gnu.org/licenses/license-list.html#OpenSSL
> > > 
> > > А если OpenSSL является системной библиотекой?
> > 
> > Тогда можно. Но является ли? На мой взгляд — нет. Вот пояснение
> > того, что такое "system libraries" из текста GPLv3:
> > 
> > The "System Libraries" of an executable work include anything, other
> > than the work as a whole, that (a) is included in the normal form of
> > packaging a Major Component, but which is not part of that Major
> > Component, and (b) serves only to enable use of the work with that
> > Major Component, or to implement a Standard Interface for which an
> > implementation is available to the public in source code form.  A
> > "Major Component", in this context, means a major essential
> > component (kernel, window system, and so on) of the specific
> > operating system (if any) on which the executable work runs, or a
> > compiler used to produce the work, or an object code interpreter
> > used to run it.
> > 
> > В нашем случае OpenSSL — всего лишь одна из многочисленных
> > библиотек для работы с криптографическими алгоритмами
> > и протоколами. Никаких стандартных программных интерфейсов она тоже
> > не реализует: у каждой библиотеки SSL своё не совместимое ни с
> > чем API.
> > 
> > Можно ли считать популярность библиотеки критерием её системности?
> > Я думаю, что нет.
> 
> Там же написано, что
> A "Standard Interface" means an interface that either is an official
> standard defined by a recognized standards body, or, in the case of
> interfaces specified for a particular programming language, one that
> is widely used among developers working in that language.
> 
> Можно ли рассматривать OpenSSL в качестве библиотеки, widely used among
> developers working на языке C?

По-моему, там другое имелось ввиду:
> interfaces specified for a particular programming language

Т.е. стандартные для языка интерфейсы, если их нет в официальном
стандарте, но на практике широко используется как часть стандарта
языка: например, strlcpy.

> В моём понимании библиотека является системной, если без неё система
> превращается в тыкву.  Есть ли у нас хоть один дистрибутив, хоть один
> опубликованный образ контейнера без libcrypto? В базовую сборочную среду
> libcrypto не входит, дисквалифицирует ли это libcrypto как системную
> библиотеку?

Думаю, что да. Волне можно сделать контейнер без криптографии или
сети для специфических задач; чем, в общем-то, сборочная среда
является.

У разных дистрибутивов здесь разное мнение, кстати:
- Fedora сказала, что OpenSSL — системная библиотека и их ничего не
волнует:
https://fedoraproject.org/wiki/Licensing:FAQ#What.27s_the_deal_with_the_OpenSSL_license.3F
- В Gentoo явно запрещается OpenSSL + GPL для бинарно
распространяемых сборок:
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.3.2.ebuild#n320
Мало того, лицензии GPL with OpenSSL exception явно выносятся как
отдельные и используются в пакетах по необходимости:
https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/GPL-2+-with-openssl-exception
https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/GPL-3-with-openssl-exception

На мой взгляд, весомым аргументом является то, что апстримы,
разрабатывающие GPL код и использующие OpenSSL, обычно явно
добавляют OpenSSL exception в свою лицензию, таким образом не
полагаясь на возможный системный статус библиотеки.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20210404/a59d8d75/attachment.bin>


Подробная информация о списке рассылки Devel