Обход GPLv2
От: пыщьх http://rsdn_user.livejournal.com
Дата: 07.10.10 15:01
Оценка:
Допустим, есть некоторый код под GPLv2. И пишется некоторая Closed-source софтень, использующая его. Согласно лицензии GPLv2, так явно делать нельзя. А если сделать такой финт ушами?:
1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK.
2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт.
Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Вопрос теоретический, так что кидаться ссаными тряпками с криками "сдохни, гейтсов засланец" не надо.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re: Обход GPLv2
От: Mr.Cat  
Дата: 07.10.10 15:09
Оценка:
Здравствуйте, пыщьх, Вы писали:
П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Т.е. схема такова?
Библиотека(GPL) ---- Обертка(UnknownLicense) ---- Библиотеки SDK(BSD) ---- Приложение(проприетарное)

Вполне очевидно, что если UnknownLicense — это BSD, то нельзя ее линковать с твоей GPL-библиотекой. Если GPL — то с библиотеками SDK.
Re[2]: Обход GPLv2
От: пыщьх http://rsdn_user.livejournal.com
Дата: 07.10.10 15:39
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, пыщьх, Вы писали:

П>>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
MC>Т.е. схема такова?
MC>
MC>Библиотека(GPL) ---- Обертка(UnknownLicense) ---- Библиотеки SDK(BSD) ---- Приложение(проприетарное)
MC>

MC>Вполне очевидно, что если UnknownLicense — это BSD, то нельзя ее линковать с твоей GPL-библиотекой. Если GPL — то с библиотеками SDK.
Почему? Если SDK — это тупо набор хедеров, какой пункт GPL запрещает мне использовать не-GPL хедеры? С этой точки зрения, любое Windows-приложение, выпущенное под GPL, незаконно, т.к. Windows SDK выпущен не под GPL. Но ведь это не так?
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: Обход GPLv2
От: fdn721  
Дата: 08.10.10 03:31
Оценка:
П>Почему? Если SDK — это тупо набор хедеров, какой пункт GPL запрещает мне использовать не-GPL хедеры? С этой точки зрения, любое Windows-приложение, выпущенное под GPL, незаконно, т.к. Windows SDK выпущен не под GPL. Но ведь это не так?

Для системных библиотек есть специальный пункт в GPL, разрешающий их использовать.

Ну а по поводу всего остального, GPL написана не кучкой "фанатиков", а юристами FSF, по сему её так просто на косой козе не объедешь.
Re: Обход GPLv2
От: DOOM Россия  
Дата: 08.10.10 11:43
Оценка:
Здравствуйте, пыщьх, Вы писали:

П>Допустим, есть некоторый код под GPLv2. И пишется некоторая Closed-source софтень, использующая его. Согласно лицензии GPLv2, так явно делать нельзя. А если сделать такой финт ушами?:

П>1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK.
П>2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт.
П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?

Читаю, читаю — никак понять не могу, чем твоя схема отличается просто от использования GPL библиотеки?
Re[2]: Обход GPLv2
От: пыщьх http://rsdn_user.livejournal.com
Дата: 08.10.10 11:56
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Читаю, читаю — никак понять не могу, чем твоя схема отличается просто от использования GPL библиотеки?

Тем, что нет closed-source приложения, использующего GPL-библиотеку. Есть Open-source плагин, использующий GPL-библиотеку. И есть closed-source приложение, использующее open-source плагин.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: Обход GPLv2
От: DOOM Россия  
Дата: 08.10.10 12:02
Оценка:
Здравствуйте, пыщьх, Вы писали:

П>Здравствуйте, DOOM, Вы писали:


DOO>>Читаю, читаю — никак понять не могу, чем твоя схема отличается просто от использования GPL библиотеки?

П>Тем, что нет closed-source приложения, использующего GPL-библиотеку. Есть Open-source плагин, использующий GPL-библиотеку. И есть closed-source приложение, использующее open-source плагин.
Физически твой плагин это что? Динамическая библиотека или совсем самостоятельный процесс? Если первое — то, по сути, получается, что библиотека используется закрытым приложением. Если второе и обмен через какой-нибудь pipe или socket — то надо уже внимательнее смотреть, может где-то и есть лазейка.
Re: Обход GPLv2
От: Cyberax Марс  
Дата: 08.10.10 12:08
Оценка:
Здравствуйте, пыщьх, Вы писали:

П>1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK.

П>2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт.
П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором".
Sapienti sat!
Re[2]: Обход GPLv2
От: KipDblK Россия  
Дата: 08.10.10 13:27
Оценка: 1 (1) +1
Здравствуйте, Cyberax, Вы писали:

П>>1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK.

П>>2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт.
П>>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
C>Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором".

По идее должно, иначе можно к любой программе, имеющей открытый Plugin API (Public domain или открытая лицензия) написать GPL плагин и можно судить автора программы за нарушения GPL?
... << RSDN@Home 1.2.0 alpha 4 rev. 1233>>
Ego Liberare Art Ultimus Injuria
Re[3]: Обход GPLv2
От: Cyberax Марс  
Дата: 08.10.10 14:00
Оценка:
Здравствуйте, KipDblK, Вы писали:

C>>Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором".

KDK>По идее должно, иначе можно к любой программе, имеющей открытый Plugin API (Public domain или открытая лицензия) написать GPL плагин и можно судить автора программы за нарушения GPL?
Если в этом плугине будет основная функиональность системы, да ещё его будет писать тот же автор, что и основную систему, то вполне можно попробовать.
Sapienti sat!
Re[3]: Обход GPLv2
От: Cyberax Марс  
Дата: 08.10.10 20:50
Оценка:
Здравствуйте, KipDblK, Вы писали:

C>>Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором".

KDK>По идее должно, иначе можно к любой программе, имеющей открытый Plugin API (Public domain или открытая лицензия) написать GPL плагин и можно судить автора программы за нарушения GPL?
Нет. А вот если предварительно втереться в доверие и совместно выпустить пару продуктов, то будет уже достаточное основание.

Тут ведь нет разделения чёрное/белое. Всё намного более сложно.
Sapienti sat!
Re[4]: Обход GPLv2
От: KipDblK Россия  
Дата: 08.10.10 21:09
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Нет. А вот если предварительно втереться в доверие и совместно выпустить пару продуктов, то будет уже достаточное основание.

C>Тут ведь нет разделения чёрное/белое. Всё намного более сложно.

С юридической точки зрения или нарушаешь GPL или нет. А про существенная часть системы или не существенная, в лицензии ничего не сказано.
Тако же и про доверие/недоверие. Если говорить про дух GPL, то понятно, что описаная схема в таких условиях это нарушение.
... << RSDN@Home 1.2.0 alpha 4 rev. 1233>>
Ego Liberare Art Ultimus Injuria
Re[5]: Обход GPLv2
От: Cyberax Марс  
Дата: 08.10.10 21:52
Оценка:
Здравствуйте, KipDblK, Вы писали:

C>>Нет. А вот если предварительно втереться в доверие и совместно выпустить пару продуктов, то будет уже достаточное основание.

C>>Тут ведь нет разделения чёрное/белое. Всё намного более сложно.
KDK>С юридической точки зрения или нарушаешь GPL или нет.
Но для определения этого нет чётких стопроцентных критериев.

KDK>А про существенная часть системы или не существенная, в лицензии ничего не сказано.

Ещё как сказано:

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.


Здесь нет чётких определений что такое "can be reasonably considered independent and separate works in themselves". Т.е. "суд решит".
Sapienti sat!
Re: Зачем такие сложности
От: Gaperton http://gaperton.livejournal.com
Дата: 10.10.10 19:06
Оценка:
Здравствуйте, пыщьх, Вы писали:

П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?


Просто делаешь свой closed source код в отдельном процессе. Применяя любой способ межпроцессного взаимодействия. И все. Взаимодействуй с GPLv2 кодом на здоровье и без последствий.

ЗЫ: Прослойку API можешь сделать на том же GPLv2, и влинковать в нее.
Re[2]: Зачем такие сложности
От: DOOM Россия  
Дата: 10.10.10 19:11
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Просто делаешь свой closed source код в отдельном процессе. Применяя любой способ межпроцессного взаимодействия. И все. Взаимодействуй с GPLv2 кодом на здоровье и без последствий.

Что-то по поводу таких прямолинейных способов я слыхал, только не помню точно, что — либо это перекрыли только в GPLv3, либо таки что-то такой способ нарушает...
Re[3]: Зачем такие сложности
От: Gaperton http://gaperton.livejournal.com
Дата: 10.10.10 22:37
Оценка:
Здравствуйте, DOOM, Вы писали:

G>>Просто делаешь свой closed source код в отдельном процессе. Применяя любой способ межпроцессного взаимодействия. И все. Взаимодействуй с GPLv2 кодом на здоровье и без последствий.

DOO>Что-то по поводу таких прямолинейных способов я слыхал, только не помню точно, что — либо это перекрыли только в GPLv3, либо таки что-то такой способ нарушает...

GPLv2 не нарушает точно. Линковки нет, код не смешивается. А уж как межпроцессное взаимодействие идет — по сети, или локально — неважно.

LGPL — отличается от GPL в том, что позволяет линковаться с GPL.

А вот GPLv3 уже очень многое перекрыло. Гораздо больше, чем указанный мной способ. В том числе — использование в коммерческих веб-сервисах и ембедщине. Почему Linux на нее и не перешел.
Re[4]: Ошибка
От: Gaperton http://gaperton.livejournal.com
Дата: 10.10.10 22:39
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>LGPL — отличается от GPL в том, что позволяет линковаться с GPL.


Пардон, разрешает линковать себя в коммерческий код, конечно. Она не вирусная.
Re[4]: Зачем такие сложности
От: fdn721  
Дата: 11.10.10 02:04
Оценка:
G> Почему Linux на нее и не перешел.

Это не верно. Линух по прежнему 2.0 only.
Re[5]: Зачем такие сложности
От: Gaperton http://gaperton.livejournal.com
Дата: 11.10.10 13:09
Оценка:
Здравствуйте, fdn721, Вы писали:

G>> Почему Linux на нее и не перешел.


F>Это не верно. Линух по прежнему 2.0 only.


Что не верно-то?
Re: Обход GPLv2
От: Mackseem  
Дата: 01.11.10 14:34
Оценка:
Тема мутная.
Всё зависит от деталей и абстрактно рассуждать невозможно.

Официальное мнение FSF можно прочитать здесь: http://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins.
Более обширно тема раскрыта здесь: http://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works.

Если вкратце, то – последнее слово за судьей.

Впрочем, неясно, за каким, российским, американским, японским, и кто к кому едет в гости.

Но до суда, конечно, лучше не доводить, и если есть желание смешать non-GPL и GPL, лучше подстраховаться заранее: самые строгие мнения – у FSF. Они считают что линковать – хоть статически, хоть динамически – нельзя, за единственным пограничным исключением: когда главный софт и плагин не обмениваются данными. Допустимо же, по их мнению, вызывать плагин как отдельный процесс, причём обмен данными должен быть максимально простым и общим (no complexity, no intimacy).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.