Страница 1 из 1

Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 21.08.2013 11:23:12
qivi
Ранее как то всерьёз не задумывался, но тут по случаю предметно заинтересовался. Программа написанная на Lazarus использует стороннюю библиотеку кода которая распространяется под лицензией GNU Lesser General Public License, - имею ли я право в этих условиях не раскрывать исходники своей программы если не модифицирую исходники сторонней библиотеки? Считается ли модификацией сторонней библиотеки наследование от её классов?

Re: Лицензиотнный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 02:56:35
B4rr4cuda
Если библиотека распространяется под оригинальной GPL, а не LGPL (GNU Lesser General Public License) то вы обязаны раскрыть исходники своей программы. Если под LGPL, то обязаны раскрыть только модификации используемой библиотеки. Наследование классов, вероятно, является модификацией, но боюсь, что надо вникать в лицензию, чтоб ответить точно.

Вкратце все эти лицензии, если не вникать в детали, можно интерпретировать так:
GPL - как бы не использовалось (компонентом, библиотекой, модулем) - надо раскрывать код. Единственное исключение которое было - вызов через пайпы, но, если не ошибаюсь, потом и это прикрыли лицензией. Т.е. лицензия GPL требует раскрытия исходников, если было хоть какое либо использование GPL кода.

LGPL - библиотеку/компонент/модуль и тд можно использовать даже для коммерческих разработок. Модифицированный код надо раскрывать. В частности под LGPL идет лазарь. Поэтому коммерческие разработки, реализованные на нем, не требуют раскрытия кода.

MPL (Mozilla License) - используйте как хотите, модифицируйте, продавайте продукты на основе исходного кода, главное упомянуть авторов. Раскрытия исходников не требуется.

BSD - вообще делай что хочешь. Благодаря этой лицензии, на основе FreeBSD сделали Макось и запуливали за бешеные бабки.

Если где-то не прав, поправьте плз.

Re: Лицензиотнный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 08:49:58
alexey38
B4rr4cuda писал(а):надо раскрывать код

Вопросы к тем, кто вник в лицензии по существу:
1. Кому надо раскрывать код (заказчику программы или разработчику библиотеки)?
2. Как надо раскрывать код (например, я могу на своем компе на svn сервере выложить код, но никому об этом не сказать, либо могу выложить на публичном ресурсе не дав ни какого адекватного объяснения что за прога такая)?
3. И перед кем идет ответственность за раскрытие кода (кто имеет право предъявить претензию за нарушение условий лицензирования библиотеки)?

Re: Лицензиотнный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 09:00:08
Лекс Айрин
alexey38, насколько я понял, желающим модифицировать программу.

Re: Лицензиотнный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 10:28:38
alexey38
Лекс Айрин писал(а):насколько я понял, желающим модифицировать программу.

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

Re: Лицензиотнный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 12:38:34
qivi
Да что вы тут развели, речь же не о том в каких ситуациях можно пренебречь лицензией или как её условно легально обойти. Речь о том, что нужно сделать, что бы не нарушить лицензию и не открывать кода.

B4rr4cuda, спасибо за ответ.
Хотелось бы поточнее знать:
Считается ли модификацией сторонней библиотеки наследование от её классов?

Даже если это так, пожалуй не сильно критично, все унаследованные классы я готов вынести в отдельную библиотеку и если этого требует лицензия опубликую её. Это не помешает оставить основное "мясо" программы с закрытым кодом.

Re: Лицензиотнный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 13:57:15
Mirror
qivi писал(а):Программа написанная на Lazarus использует стороннюю библиотеку кода которая распространяется под лицензией GNU Lesser General Public License, - имею ли я право в этих условиях не раскрывать исходники своей программы если не модифицирую исходники сторонней библиотеки?

Имеете. Даже если модифицируете, то имеете: под LGPL вы обязаны раскрыть код библиотеки со своими модификациями, а код своей программы не обязаны.

qivi писал(а):Считается ли модификацией сторонней библиотеки наследование от её классов?

Нет.

Вы используете «интерфейс, предоставляемый Библиотекой» и ничего сверх того («An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library), следовательно, ваша программа по LGPL является приложением и не подпадает под условия LGPL.

alexey38 писал(а):Вопросы к тем, кто вник в лицензии по существу:
1. Кому надо раскрывать код (заказчику программы или разработчику библиотеки)?

Всем, кому передаётся скомпилированный файл. Если заказчик оставляет программу при себе и никому его не устанавливает (например, программа работает на сервере), то он может хранить при себе.

(Исключение составляет лицензия GNU Affero GPL. Там надо делать код доступным всем, в т.ч. тем, кто пользуется веб-интерфейсом.)

alexey38 писал(а):2. Как надо раскрывать код (например, я могу на своем компе на svn сервере выложить код, но никому об этом не сказать, либо могу выложить на публичном ресурсе не дав ни какого адекватного объяснения что за прога такая)?

При распространенни экзешника надо указать пользователю, где можно скачать исходник.

В 6 пункте лицензии есть ещё некоторые другие способы передачи исходников (можно написать, мол, я беру обязательства в течении 3 лет прислать всем желающим код на CD по цене CD), но проще всего просто указать ссылку.

Сам исходник можно расположить где угодно, да. Можно даже на закрытом ресурсе и запаролить. Главное — чтобы владельцы экзешника могли его скачать, а все остальные — не важно.

alexey38 писал(а):3. И перед кем идет ответственность за раскрытие кода (кто имеет право предъявить претензию за нарушение условий лицензирования библиотеки)?

Насколько я понимаю, ты нарушаешь права всех, кому ты передаёшь экзешник без кода. Хотя я не уверен, что правильно понимаю.

Добавлено спустя 5 минут 25 секунд:
B4rr4cuda писал(а):MPL (Mozilla License) - используйте как хотите, модифицируйте, продавайте продукты на основе исходного кода, главное упомянуть авторов. Раскрытия исходников не требуется.

BSD - вообще делай что хочешь. Благодаря этой лицензии, на основе FreeBSD сделали Макось и запуливали за бешеные бабки.

Если где-то не прав, поправьте плз.

Неверно насчёт BSD, BSD требует упоминание авторов. По сути, MPL (MIT Public License) и BSD (современная версия лицензии) — это одно и то же.

«Делай что хочешь» — это public domain, под такой лицензией выставлена SQLite3. Но выставить свою работу в public domain AFAIK можно только в Америке, а не у нас, поэтому есть лицензии, которые равноценны public domain и действительны во всём мире: CC0, WTFPL.

Добавлено спустя 2 минуты 20 секунд:
qivi писал(а):Хотелось бы поточнее знать:
Считается ли модификацией сторонней библиотеки наследование от её классов?

Нет, это явным образом оговорено в лицензии:
An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library [выделение моё — Mirror].


Добавлено спустя 6 минут 29 секунд:
alexey38 писал(а):
Лекс Айрин писал(а):насколько я понял, желающим модифицировать программу.

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

А вообще, если Вы напишете «Привет, мир!», то всем будет безразлично, что вы использовали.

А если Вы напишите серьёзную программу, начнёте зарабатывать деньги и продавать её... То Ваши конкуренты вполне могут и заметить нарушение лицензии. Использование кода библиотеки вообще-то не так уж и сложно доказать.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 15:50:08
qivi
Mirror, спасибо за разъяснения.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 16:10:43
Лекс Айрин
alexey38 писал(а): Пока я Вам об этом не сообщу, Вы просто не догадаетесь о существовании моей программы.


И не факт, что она мне будет нужна. В том числе и для модификации.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 22.08.2013 18:00:52
alexey38
Mirror писал(а):При распространенни экзешника надо указать пользователю, где можно скачать исходник.

Mirror писал(а):Насколько я понимаю, ты нарушаешь права всех, кому ты передаёшь экзешник без кода. Хотя я не уверен, что правильно понимаю.

Получается, что права пользователя определяет автор библиотеки, о котором даже не подозревает пользователь. Соответственно, если продукт корпоративного уровня, то на лицензии можно вообще забить, т.к. давать или не давать исходники определяется требованием заказчика. Если продукт публичный, т.е. можно ожидать исследования внутренности продукта, тогда придется соблюдать лицензии.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 23.08.2013 09:25:35
v-t-l
А "лигбез" - это "лигвидадзыя безграбоднозди"? :D

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 25.08.2013 03:56:21
Иван Шихалев
Mirror писал(а):Насколько я понимаю, ты нарушаешь права всех, кому ты передаёшь экзешник без кода. Хотя я не уверен, что правильно понимаю.

Не только. Нарушаются права автора/авторов исходной библиотеки, поскольку они в явном виде разрешили ее использование на определенных условиях и не иначе.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 25.08.2013 19:01:05
Mirror
v-t-l писал(а):А "лигбез" - это "лигвидадзыя безграбоднозди"? :D

Это передача регрессивной ассимиляции по звонкости на письме в связи с деэтимологизацией. 8)

alexey38 писал(а):Получается, что права пользователя определяет автор библиотеки, о котором даже не подозревает пользователь. Соответственно, если продукт корпоративного уровня, то на лицензии можно вообще забить, т.к. давать или не давать исходники определяется требованием заказчика. Если продукт публичный, т.е. можно ожидать исследования внутренности продукта, тогда придется соблюдать лицензии.

По-хорошему вопрос о лицензиях тоже должен бы оговариваться с заказчиком.

Добавлено спустя 6 минут 20 секунд:
Иван Шихалев писал(а):
Mirror писал(а):Насколько я понимаю, ты нарушаешь права всех, кому ты передаёшь экзешник без кода. Хотя я не уверен, что правильно понимаю.

Не только. Нарушаются права автора/авторов исходной библиотеки, поскольку они в явном виде разрешили ее использование на определенных условиях и не иначе.

Если честно, я не очень понимаю, как это трактовать... По идее авторские права принадлежат тем, кто писал код программы — хоть одну строчку (за исключением тех проектов, которые требуют передать права на свой код им). Т.е. получается, что нарушаются права всех контрибьюторов.

Но в GPL нет разделения на две стороны, все права и обязанности одинаковые для всех, кто использует программу, и я не уверен, есть ли у этого последствия при определении пострадавших.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 25.08.2013 19:08:42
alexey38
Mirror писал(а):По-хорошему вопрос о лицензиях тоже должен бы оговариваться с заказчиком.

Заказчики бывают разными. Один заказчик бывает требует предоставления исходников, вне зависимости от лицензии, это просто условия договора, либо соглашаешься с этим, либо не работаешь с этим заказчиком. Другому заказчику просто безразличны исходники, он ничего не понимает в программировании, и осознавая свое незнание ничего не требует, в таком случае если хочешь, то можешь этому заказчику переписать исходники, но он об этом даже не подозревает.

Вот и получается, что тип лицензии скорее формальность, чем реальность.

Re: Лицензионный лигбез (разъясните в двух словах)

СообщениеДобавлено: 25.08.2013 22:46:12
Иван Шихалев
Mirror писал(а):Но в GPL нет разделения на две стороны

Как это? Есть сторона, предоставляющая продукт на условиях лицензии, и есть сторона, его использующая. То, что использующая сторона, в свою очередь, может распространять дальше, это уже частность.

Mirror писал(а):Т.е. получается, что нарушаются права всех контрибьюторов.

Ну да. А в чем проблема?