LINUX.ORG.RU

Совместимость лицензий (GPL, LGPL, BSD)


0

0

Добрый день.

У меня следующая ситуация:
Пишу программу, в которой собираюсь использовать несколько библиотек, которые выпускаются под следующими лицензиями: LGPL, GPL и BSD (BSD-C3). Соответственно встает вопрос: "Имею ли я на это право?". Под какой лицензией будет моя программа - мне все равно, но вот можно ли одновременно использовать GPL и BSD библиотеки, и есть ли при этом какие-то ограничения (к примеру, на статическую линковку)?


Re: Совместимость лицензий (GPL, LGPL, BSD)

Да, если твоя библиотека выйдет под GPL, насколько я понимаю.

ratatosk ()

Re: Совместимость лицензий (GPL, LGPL, BSD)

Проблема в том, как выбрать лицензию твоей окончательной программы. Как я понимаю, если ты используешь GPL (не LGPL), то это налагает требование, чтобы окончательная лицензия тоже была GPL. Но GPL не содержит требования об упоминании авторов, и GPL запрещает добавлять свои дополнительные требования.

С другой стороны, если ты используешь BSD библиотеку, то на тебя налагается требование упоминать ее авторов. Поэтому тебе нужно добавить такое дополнительное требование.

Получается противоречие..

dilmah ★★★★★ ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от dilmah

Re: Совместимость лицензий (GPL, LGPL, BSD)

не все BSD лицензии налагают такие требования
лицензия двух пунктов FreeBSD самая в этом плане либеральная

hizel ★★★★★ ()

Re: Совместимость лицензий (GPL, LGPL, BSD)

Firends do not let friends read GLP code.

А по теме: GPL не совместима ни с чем. Используеш GPL библотеку -- ССЗБ. Уж проще написать занаво, чем с GPL связываться.

LGPL (не совсем уверен) и BSD/MIT etc. в этом плане безпроблематичны. Указываеш только где-либо в коде/документации авторов библиотеки и в перёд, с песнею под любой лицензией, котороя тебе на душу ляжет. (конечно с оговоркой, что бы требования новой лицензии не противоречили старой)

beastie ★★★★★ ()

Re: Совместимость лицензий (GPL, LGPL, BSD)

Но динамически то я могу линковаться с кем угодно (одновременно и с BSD и GPL), или нет?

riYu ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от dilmah

Re: Совместимость лицензий (GPL, LGPL, BSD)

> С другой стороны, если ты используешь BSD библиотеку, то на тебя налагается требование упоминать ее авторов. Поэтому тебе нужно добавить такое дополнительное требование.

Уверен, что аторов надо упоминать при *использовании*? ИМХО только если её код у себя использовать (а не отдельной библиотекой). Так что топикстартер может свою программу выпустить под GPL и спокойно использовать в ней динамические библиотеки под GPL, LGPL и BSD.

А ещё тут есть такая забавная штука: эту программу можно саму по себе сделать под *любой* лицензией, которая накладывает меньше ограничений, чем три вышеуказанные, например AS-IS. Тогда при сборке и использовании программы лицензия "автоматически расширится" до самой строгой - GPL. Но сам код программы (не включающий в себя библиотеки) другие люди смогут копировать и использовать в своих проектах как AS-IS. Например kdelibs были под лицензией LGPL, хотя использовали Qt, которая тогда была под GPL.

И да, программа под лицензией GPL может использовать библиотеки с *любой* лицензией, которая позволяет себя использовать, даже проприетарной. Но не наоборот =).

P.S. Возможно я в чём-то ошибся.

Deleted ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от beastie

Re: Совместимость лицензий (GPL, LGPL, BSD)

> А по теме: GPL не совместима ни с чем. Используеш GPL библотеку -- ССЗБ. Уж проще написать занаво, чем с GPL связываться.

Пишите софт под лицензией GPL и ваши волосы будут мягкими и шелковистыми.

Deleted ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от Deleted

Re: Совместимость лицензий (GPL, LGPL, BSD)

Дело сугубо личное. По крайней мере весь мой софт только под BSD/MIT.

Опен-сыр и там и там. Но нарцисское осознание, что моё имя не будет вычеркнуто из списка авторов имеет для меня больший приоритет, чем амморфные идеи Столлмана. А кто и как потом использует мой код -- меня это вообще не чешит.

beastie ★★★★★ ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от beastie

Re: Совместимость лицензий (GPL, LGPL, BSD)

>амморфные идеи Столлмана
Зато если кто-то потрудится надо доработкой твоей либы для своего продукта, в случае с LGPL ты получишь эти доработки, а в случае с BSD - это как получится.

ratatosk ()

Re: Совместимость лицензий (GPL, LGPL, BSD)

Лицензию на свой код можешь выбрать любую (лицензия, совместимая с GPL = лицензия, не налагающая дополнительных ограничений), но распространяя свою софтину ты должен соблюдать условия, требуемые GPL (т.е. софтина должна быть свободной с доступными исходниками, независимо от их лицензии).

slovazap ★★★★★ ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от alexsaa

Re: Совместимость лицензий (GPL, LGPL, BSD)

Чего-то я не понимаю про указание авторов...
Вот например, uClibc распространяется под LGPLv2.1

там в одном файле (w_pow.c) есть такая шапка:

/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/

Это не противоречит LGPL?
Я могу спи**ить кусок этого файла в свою LGPL либу, забив на эту шапку?

Если нет, то как это шапка там оказалась?
Могу ли я взять LGPL либу, добавить туда файл с подобной шапкой, и распространять результат? Не будет ли это противоречить LGPL? (GPL: "You may not impose any further restrictions on the recipients' exercise of the rights granted herein.")

ratatosk ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от ratatosk

Re: Совместимость лицензий (GPL, LGPL, BSD)

Ты можешь использовать любую лицензию для своего кода (либо добавить к свой проект файлы под другой лицензией), хоть по своей лицензии на каждый файл. Соотсветственно, отдельные файлы от туда можно будет взять под разными лицензиями и согласно им использовать, а целый продукт будет распространяться по общей лицензии с объединением всех требований лицензий на разные куски кода и пересечением всех прав. В случае использования (L)GPL и GPL compatible лицензий, такой дицензией будет сама (L)GPL, потому что другие лицензии не налагают относительно нее никаких новых ограничений и предоставляют не меньше прав пользователю кода.

> Я могу спи**ить кусок этого файла в свою LGPL либу, забив на эту шапку?

Сразу видно GPL'щика. Спиздить и закрыть. Нет, разумеется не можешь, потому что во-первых, копирайты остаются копирайтами независимо от лицензии, во-вторых последняя тебе этого не разрешает (provided that this notice is preserved). А использовать с сохранением шапки можешь сколько угодно.

> You may not impose any further restrictions on the recipients' exercise of the rights granted herein

IANAL, но оно не налагает никаких дополнительных ограничений, поэтому выглядит вполне себе GPL compatible.

slovazap ★★★★★ ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от slovazap

Re: Совместимость лицензий (GPL, LGPL, BSD)

>Нет, разумеется не можешь, потому что во-первых, копирайты остаются копирайтами независимо от лицензии.
Это да, но где в (L)GPL говорится, что я должен эти копирайты везде указывать? Я должен указывать, что я модифицировал код, чтобы мои баги не повесили на автора., но его я упоминать не обязан. Или я ошибаюсь.

>но оно не налагает никаких дополнительных ограничений, поэтому выглядит вполне себе GPL compatible.

А требование вставлять этот notice - почему не дополнительное?

>Сразу видно GPL'щика. Спиздить и закрыть.

И запатентовать еще.

ratatosk ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от ratatosk

Re: Совместимость лицензий (GPL, LGPL, BSD)

> Зато если кто-то потрудится надо доработкой твоей либы для своего продукта, в случае с LGPL ты получишь эти доработки, а в случае с BSD - это как получится.

Вот за это я GPL'щиков и не люблю. И от куда у них такая прыть -- урвать, да по-больше?... С какого такого испугу ты берёш себе моральное право требовать с кого-либо его работу?!

Да, база моя, но нароботка -- его. И это ему решать делится ли ему со мной плодами своей творческой мысли или нет.

Если в моём коде не было какой-либо функциональности, значит мне она была не нужна. Если тебе чего-то не хватает -- дописывай, пожалуста. Но мне твой код не нужен. Я конечно буду рад, если ты со мной поделишся. Но мне будет гораздо приятней, если ты это сделаеш добровольно, а не из-под зомбирования Столлманом.

beastie ★★★★★ ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от beastie

Re: Совместимость лицензий (GPL, LGPL, BSD)

Ты похоже не понимаешь зачем нужна GPL. Она нужна не для того, чтобы кто-то обязательно отдал автору первоначального продукта изменения, а чтобы конечный пользователь вместе с бинарниками гарантированно получил и исходники. Которые он в случае чего сможет исправить/доработать сам или нанять для этого программиста.

GPL защищает права пользователей. Разработчиков она наоборот довольно сильно ограничивает. BSD - наоборот.

Deleted ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от Deleted

Re: Совместимость лицензий (GPL, LGPL, BSD)

Может оно и так, но почему я должен уступать какому-ту иммагинерному пользователю свои права и свободы? Я не хочу менять этот мир. Я не борчун, я -- элитарное быдло, которого и как пользователя и как разработчика абсолютно устраивает bsd и абсолютно не устраивает gpl.

К тому же я абсолютно не вижу связи между лицензией и доступу к сырцам. Опен-сыр ведь ни кто не отменял. Ни в первом ни во втором случае. Исходный код открыт. И даже если кто-либо не захочет пускать _его_ производный продукт в открытое плавание -- так и чёрт с ним! Исходная программа ведь открыта -- исправляй, дорабатывай, нанимай программиста в своё удовольствие! Где тут ущимление прав пользователя?

beastie ★★★★★ ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от beastie

Re: Совместимость лицензий (GPL, LGPL, BSD)

> почему я должен уступать

не должен

> не устраивает gpl ... Опен-сыр ведь ни кто не отменял. ... Где тут ущимление прав пользователя?

man free software

alexsaa ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от beastie

Re: Совместимость лицензий (GPL, LGPL, BSD)

> Может оно и так, но почему я должен уступать какому-ту иммагинерному пользователю свои права и свободы? Я не хочу менять этот мир. Я не борчун, я -- элитарное быдло, которого и как пользователя и как разработчика абсолютно устраивает bsd и абсолютно не устраивает gpl.

А тебя никто и не заставляет. Но уважать чужие права всё-таки надо. И если автор библиотеки по каким-то причинам выбрал GPL, а ты хочешь эту библиотеку использовать - либо выпускай свою программу под GPL, либо не используй эту библиотеку.

> К тому же я абсолютно не вижу связи между лицензией и доступу к сырцам. Опен-сыр ведь ни кто не отменял. Ни в первом ни во втором случае. Исходный код открыт. И даже если кто-либо не захочет пускать _его_ производный продукт в открытое плавание -- так и чёрт с ним! Исходная программа ведь открыта -- исправляй, дорабатывай, нанимай программиста в своё удовольствие! Где тут ущимление прав пользователя?


Допустим ты написал какую-то программу и выпустил её под лицензией BSD вместе с исходниками. Эти исходники нашёл Вася Пупкин, добавил много полезных для пользователей изменений, но код решил не открывать. Выпустил только freeware бинарники под windows (твоя программа работала ещё и под *nix). Но это только пол беды. Потом Васе надоело развивать свою программу, или возможно его насмерть сбил автобус. И всё, мало того что программа перестала развиваться, дак она ещё и стала несовместима с новой Windows Eight (tm). Итого получаем мёртвую программу, которая когда-то кому-то была очень полезна, но от неё пришлось отказаться.

Чтобы такого не происходило и существует GPL. И я согласен, что защищает права пользователей эта лицензия довольно агрессивно и иногда в ущерб разработчикам.

Deleted ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от ratatosk

Re: Совместимость лицензий (GPL, LGPL, BSD)

> Зато если кто-то потрудится надо доработкой твоей либы для своего продукта, в случае с LGPL ты получишь эти доработки, а в случае с BSD - это как получится.

Зато если кто-то подумает о доработке твоей либы для своего продукта, в случае с BSD он это сделает, а в случае с LGPL -- это как получится.

Получение доработок может отсутствовать в обоих случаях, но в случае с BSD не проблема указать авторство.

Nihilist ()

Re: Совместимость лицензий (GPL, LGPL, BSD)

Отвечая на изначальный вопрос: да, можешь использовать BSD-C3 с GPL. В версии BSD-C3 убран пункт об обязательности указывания авторов. Где-то выше приводилась ссылка на страницу описывающую что совместимо с GPL а что нет.

Если бы лицензия была оригинальной BSD лицензией, то не мог бы.

eugene2k ()
Ответ на: Re: Совместимость лицензий (GPL, LGPL, BSD) от beastie

Re: Совместимость лицензий (GPL, LGPL, BSD)

Кто-то использует твой труд, почему ты не можешь с него что-то спросить? Или от противного: какое моральное право у тебя на то, чтобы требовать от другого человека указать твое авторство при релизе доработаной софтины?

eugene2k ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.