Лицензия Lazarus

Вопросы программирования и использования среды Lazarus.

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

Лицензия Lazarus

Сообщение krab » 27.07.2010 15:13:09

На сайте Лазаруса написано:
Can I create commercial products with this?
Yes. The code for the Free Pascal compiler is licensed under the GPL. This means that it is open source, free, whatever name you want to stick to it. You can modify the code if you wish but you MUST distribute those changes or make them available to others if they wish to use it.

The FCL (Free Pascal Component Libraries) and the LCL (which will eventually become part of the FCL) are licensed under a modified LGPL. In a nut shell this means that you can write your own proprietary software that just links to these libraries. You can sell your application without the need to supply or make available your code. However, as with the compiler if you make modifications to the FCL or LCL you must make those changes available to the general public and the world.

Означает ли это, что компоненты, которые наследуются от классов
Код: Выделить всё
TMyButtonWithBell = class(TButton)

должны быть под той же лицензией, что и Лазарус? Считается ли это модификацией LCL?
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Лицензия Lazarus

Сообщение Odyssey » 27.07.2010 15:58:50

Отличный вопрос. К сожалению, он не вполне однозначен, и возможно следует указать на это разработчикам...
С одной стороны, в GPL FAQ явно указано что наследование от класса является созданием произведения, производного от библиотеки (derived work) и попадает под GPL.

С другой стороны, а если рассмотерть не этот вариант
Код: Выделить всё
TMyButtonWithBell = class(TButton)
, а вот этот:
Код: Выделить всё
MyObjectWithBell = class(TObject)
? Ведь RTL, так же как и LCL, находится под modified LGPL. Т.е. наследование при ООП-разработке на Pascal используется сплошь и рядом, и исходники никто не открывает.

С третьей стороны, LGPL v3 явно разрешает наследование, но LCL/RTL/FCL лицензируются под LGPL v2.

Таким образом, если верить GPL FAQ и помнить что modified LGPL явно разрешает линковку (а не наследование), то да, все унаследованные классы тоже должны быть под modified LGPL. А на практике никто так не делает, кроме того весь смысл modified LGPL именно в том, чтобы создавать закрытые приложения, использующие RTL/FCL/LCL.

Подробнее о похожей проблеме написано например тут:
http://www.law.washington.edu/lta/swp/l ... ative.html

Как поступать -- тут не вполне понятно, но имхо было бы правильным сообщить об этом разработчикам, и прояснить этот вопрос у них.

P.S. Я не юрист.

Добавлено спустя 7 часов 40 минут 17 секунд:
krab писал(а):Означает ли это, что компоненты, которые наследуются от классов
Код: Выделить всё
TMyButtonWithBell = class(TButton)

должны быть под той же лицензией, что и Лазарус? Считается ли это модификацией LCL?

Прояснил. Нет, не означает. Модификацией LCL это не считается. Наследование от классов LCL считается линковкой с LCL. Доказательство в этом и следующих сообщениях.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 47

Рейтинг@Mail.ru