From: Andrey Savchenko <bircoph@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] mysql-workbench-community, License tag Date: Tue, 17 Mar 2020 01:01:55 +0300 Message-ID: <20200317010155.790c4a4feddcb30a45ac8bd4@altlinux.org> (raw) In-Reply-To: <20200315215849.djuukobq3luvas6e@comp-core-i7-2640m-0182e6> [-- Attachment #1: Type: text/plain, Size: 6379 bytes --] On Sun, 15 Mar 2020 22:58:49 +0100 Alexey Gladkov wrote: > On Sun, Mar 15, 2020 at 11:36:09PM +0400, Sergey Y. Afonin wrote: [...] > > Откуда может быть понятно при таком пересислении, что отдельные лицензии > > касаются не всего кода, а отдельных компонент? > > Этот тег агрегирует правовую информацию. Если в пакете часть кода под GPL, > другой по BSD, то это GPL and BSD. Потому что при использовании всего > контента пакета вам необходимо принять обе лицензии. Тут всё сложнее, даже если забыть про двойное лицензирование или кодогенерацию. Лицензии на исходные файлы и на получившиеся бинарники — это в общем случае разные вещи. Если говорить про бинарные файлы, то в результате комбинирования BSD и GPL получается строго GPL. С юридической точки зрения происходит перелицензирование BSD кода под GPL, что разрешается, т.к. эти лицензии совместимы в порядке наследования BSD -> GPL, но обратное делать нельзя. А вот исходники как были под BSD и GPL, так и остаются (если никто не менял явно лицензии исходников). В 2018 в Калуге я делал доклад на тему того, как устроено это всё, включая механизм совместимости лицензий: http://0x1.tv/Уязвимости_в_лицензиях_СПО_(Андрей_Савченко,_OSSDEVCONF-2018) В частности, там есть слайд с механизмом зависимостей между основными лицензиями: http://0x1.tv/img_auth.php/f/ff/Уязвимости_в_лицензиях_СПО_(Андрей_Савченко%2C_OSSDEVCONF-2018).pdf#page=11 Предположим, у нас есть пакет foo с бинарником foobin, подпакетом libfoo с libfoo и libfoo-devel с хедерами и симлинками. И предположим, что в этом пакете есть три лицензии на разные части кода, такие что: libfoo собирается из LGPLv2.1 и BSD кода, при этом BSD попадает в хедеры, а при сборке foobin также испольуется GPLv3 код. Тогда у разных (под)пакетов будут разные лицензии): foo (rpm) - GPLv3 libfoo - LGPLv2.1 libfoo-devel - LGPLv2.1 + BSD foo (srpm) - GPLv3 + LGPLv2.1 + BSD На данный момент единственный способ известный мне способ указать разные лицензии для rpm и srpm — это паковать все файлы в подпакеты, оставив основной rpm чисто виртуальным. Не лучшее решение, но наша архитектура сборки пакетов лучшего не позволяет. Ещё раз повторю главную мораль этого упражнения: за редкими случаями двойного лицензирования у конкретного бинарника есть только *одна* лицензия, даже если он собран из зоопарка совместимых лицензий, которая определяется порядком совместимости. Если же лицензии не совместимы, то распространять такой бинарник нельзя и в репозитории ему не место. А вот исходники (в т.ч. и хедеры библиотек) сохраняют все оригинальные лицензии. В реальной жизни всё сложнее, т.к. помимо упомянутых двойных лицензий и кодогенераторов есть ещё зависимость лицензии от опций сборки пакета (привет ffmpeg). > Некоторый код подразумевает двойное лицензирование, тогда это, например, > GPL or MPL. > > Бывают и более сложные ситуации, которые нужно обсуждать. > > В некоторых случаях проще вынести в отдельный пакет код под лицензией, > отличной от основного проекта. > > > И я не вижу примеров такого заполения License в других дистрибутивах. > > Suse занимается таким заполнением, но у них тоже это не автоматизировано и > встречаются ошибки. Redhat занимается этим, но у них теряется часть > информации. Ещё Debian следит. В Gentoo проделана просто огромная работа, в т.ч. и по условным зависимостях в лицензиях (т.е. лицензия пакета может зависеть от того, как его собрали), например: https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.2.2.ebuild LICENSE=" !gpl? ( LGPL-2.1 ) gpl? ( GPL-2 ) amr? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) gmp? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) libaribb24? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) encode? ( amrenc? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) ) samba? ( GPL-3 ) " У нас тоже есть ручки (defined, enabled), так что такие вещи тоже следует учитывать. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2020-03-16 22:01 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-15 16:42 Sergey Y. Afonin 2020-03-15 18:43 ` Andrey Savchenko 2020-03-15 19:36 ` Sergey Y. Afonin 2020-03-15 21:58 ` Alexey Gladkov 2020-03-15 22:51 ` Dmitry V. Levin 2020-03-16 5:46 ` Sergey Afonin 2020-03-16 8:10 ` Dmitry V. Levin 2020-03-16 10:52 ` Sergey Afonin 2020-03-16 11:16 ` Alexey Gladkov 2020-03-16 11:37 ` Sergey Afonin 2020-03-16 12:16 ` Sergey Afonin 2020-03-16 12:27 ` Sergey Afonin 2020-03-16 14:40 ` Alexey Gladkov 2020-03-16 22:14 ` Andrey Savchenko 2020-03-16 23:03 ` Alexey Gladkov 2020-03-17 6:24 ` Ivan A. Melnikov 2020-03-17 10:37 ` Alexey Gladkov 2020-03-17 13:31 ` Sergey Afonin 2020-03-17 16:40 ` [devel] License tag for source packages Dmitry V. Levin 2020-03-17 16:56 ` Andrey Savchenko 2020-03-17 20:06 ` Dmitry V. Levin 2020-03-17 20:52 ` Leonid Krivoshein 2020-03-17 22:16 ` Andrey Savchenko 2020-03-17 22:31 ` Dmitry V. Levin 2020-03-17 22:48 ` Leonid Krivoshein 2020-03-18 8:49 ` Andrey Savchenko 2020-03-17 22:56 ` Alexey Gladkov 2020-03-17 23:10 ` Dmitry V. Levin 2020-03-18 8:45 ` Andrey Savchenko 2020-03-18 9:45 ` Sergey Afonin 2020-03-20 8:17 ` Sergey Afonin 2020-03-18 10:50 ` Dmitry V. Levin 2020-03-18 20:04 ` Andrey Savchenko 2020-03-18 20:08 ` [devel] License tag for source packages (и лишние сущности) Michael Shigorin 2020-03-18 20:11 ` Dmitry V. Levin 2020-03-18 20:14 ` Michael Shigorin 2020-03-18 20:22 ` Dmitry V. Levin 2020-03-18 20:35 ` Andrey Cherepanov 2020-03-18 12:42 ` [devel] License tag for source packages Alexey Gladkov 2020-03-17 21:07 ` Leonid Krivoshein 2020-03-17 21:50 ` Andrey Savchenko 2020-03-18 8:16 ` Alexey V. Vissarionov 2020-03-18 9:32 ` Andrey Savchenko 2020-03-18 12:23 ` Alexey Gladkov 2020-03-18 16:21 ` Anton Farygin 2020-03-18 16:35 ` Alexey Gladkov 2020-03-18 16:48 ` Anton Farygin 2020-03-18 17:04 ` Alexey Gladkov 2020-03-19 4:05 ` Anton Farygin 2020-03-19 9:52 ` Alexey Gladkov 2020-03-21 21:21 ` Dmitry V. Levin 2020-03-21 21:59 ` Vladimir D. Seleznev 2020-03-22 8:50 ` Andrey Savchenko 2020-03-23 11:53 ` Sergey V Turchin 2020-03-22 15:12 ` Alexey Gladkov 2020-03-25 8:17 ` Pavel Isopenko 2020-03-25 8:22 ` Andrey Savchenko 2020-03-25 8:32 ` Sergey Afonin 2020-03-25 9:32 ` Alexey V. Vissarionov 2020-03-25 9:46 ` Sergey Afonin 2020-03-25 10:02 ` Alexey V. Vissarionov 2020-03-25 8:33 ` Sergey Afonin 2020-03-25 9:55 ` [devel] License tag Sergey Afonin 2020-03-25 10:07 ` Alexey V. Vissarionov 2020-03-25 14:06 ` Sergey Afonin 2020-03-25 10:12 ` [devel] nfdump Dmitry V. Levin 2020-03-25 10:23 ` Sergey Afonin 2020-04-03 11:07 ` [devel] License tag Sergey Afonin 2020-04-03 12:27 ` Andrey Savchenko 2020-04-03 14:15 ` Sergey Y. Afonin 2020-04-03 14:28 ` Vladimir D. Seleznev 2020-04-03 14:34 ` Sergey Y. Afonin 2020-03-16 5:43 ` [devel] mysql-workbench-community, " Sergey Afonin 2020-03-16 22:01 ` Andrey Savchenko [this message]
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=20200317010155.790c4a4feddcb30a45ac8bd4@altlinux.org \ --to=bircoph@altlinux.org \ --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