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

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

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

Сообщение qivi » 21.08.2013 11:23:12

Ранее как то всерьёз не задумывался, но тут по случаю предметно заинтересовался. Программа написанная на Lazarus использует стороннюю библиотеку кода которая распространяется под лицензией GNU Lesser General Public License, - имею ли я право в этих условиях не раскрывать исходники своей программы если не модифицирую исходники сторонней библиотеки? Считается ли модификацией сторонней библиотеки наследование от её классов?
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

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

Сообщение B4rr4cuda » 22.08.2013 02:56:35

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

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

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

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

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

Если где-то не прав, поправьте плз.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

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

Сообщение alexey38 » 22.08.2013 08:49:58

B4rr4cuda писал(а):надо раскрывать код

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

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

Сообщение Лекс Айрин » 22.08.2013 09:00:08

alexey38, насколько я понял, желающим модифицировать программу.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение alexey38 » 22.08.2013 10:28:38

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

Например, я написал программу с использованием библиотеки с GPL лицензией. Пока я Вам об этом не сообщу, Вы просто не догадаетесь о существовании моей программы.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

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

Сообщение qivi » 22.08.2013 12:38:34

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

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

Даже если это так, пожалуй не сильно критично, все унаследованные классы я готов вынести в отдельную библиотеку и если этого требует лицензия опубликую её. Это не помешает оставить основное "мясо" программы с закрытым кодом.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

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

Сообщение Mirror » 22.08.2013 13:57:15

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 лицензией. Пока я Вам об этом не сообщу, Вы просто не догадаетесь о существовании моей программы.

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

А если Вы напишите серьёзную программу, начнёте зарабатывать деньги и продавать её... То Ваши конкуренты вполне могут и заметить нарушение лицензии. Использование кода библиотеки вообще-то не так уж и сложно доказать.
Mirror
новенький
 
Сообщения: 49
Зарегистрирован: 22.05.2005 12:02:48
Откуда: Порту

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

Сообщение qivi » 22.08.2013 15:50:08

Mirror, спасибо за разъяснения.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

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

Сообщение Лекс Айрин » 22.08.2013 16:10:43

alexey38 писал(а): Пока я Вам об этом не сообщу, Вы просто не догадаетесь о существовании моей программы.


И не факт, что она мне будет нужна. В том числе и для модификации.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

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

Сообщение alexey38 » 22.08.2013 18:00:52

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

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

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

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

Сообщение v-t-l » 23.08.2013 09:25:35

А "лигбез" - это "лигвидадзыя безграбоднозди"? :D
v-t-l
энтузиаст
 
Сообщения: 733
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

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

Сообщение Иван Шихалев » 25.08.2013 03:56:21

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

Не только. Нарушаются права автора/авторов исходной библиотеки, поскольку они в явном виде разрешили ее использование на определенных условиях и не иначе.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

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

Сообщение Mirror » 25.08.2013 19:01:05

v-t-l писал(а):А "лигбез" - это "лигвидадзыя безграбоднозди"? :D

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

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

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

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

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

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

Но в GPL нет разделения на две стороны, все права и обязанности одинаковые для всех, кто использует программу, и я не уверен, есть ли у этого последствия при определении пострадавших.
Mirror
новенький
 
Сообщения: 49
Зарегистрирован: 22.05.2005 12:02:48
Откуда: Порту

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

Сообщение alexey38 » 25.08.2013 19:08:42

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

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

Вот и получается, что тип лицензии скорее формальность, чем реальность.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

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

Сообщение Иван Шихалев » 25.08.2013 22:46:12

Mirror писал(а):Но в GPL нет разделения на две стороны

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

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

Ну да. А в чем проблема?
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

Рейтинг@Mail.ru