Здравствуйте, Cyberax, Вы писали:
П>>1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK. П>>2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт. П>>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться? C>Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором".
По идее должно, иначе можно к любой программе, имеющей открытый Plugin API (Public domain или открытая лицензия) написать GPL плагин и можно судить автора программы за нарушения GPL?
Допустим, есть некоторый код под GPLv2. И пишется некоторая Closed-source софтень, использующая его. Согласно лицензии GPLv2, так явно делать нельзя. А если сделать такой финт ушами?:
1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK.
2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт.
Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Вопрос теоретический, так что кидаться ссаными тряпками с криками "сдохни, гейтсов засланец" не надо.
Здравствуйте, 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. Но ведь это не так?
П>Почему? Если SDK — это тупо набор хедеров, какой пункт GPL запрещает мне использовать не-GPL хедеры? С этой точки зрения, любое Windows-приложение, выпущенное под GPL, незаконно, т.к. Windows SDK выпущен не под GPL. Но ведь это не так?
Для системных библиотек есть специальный пункт в GPL, разрешающий их использовать.
Ну а по поводу всего остального, GPL написана не кучкой "фанатиков", а юристами FSF, по сему её так просто на косой козе не объедешь.
Здравствуйте, пыщьх, Вы писали:
П>Допустим, есть некоторый код под GPLv2. И пишется некоторая Closed-source софтень, использующая его. Согласно лицензии GPLv2, так явно делать нельзя. А если сделать такой финт ушами?: П>1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK. П>2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт. П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Читаю, читаю — никак понять не могу, чем твоя схема отличается просто от использования GPL библиотеки?
Здравствуйте, DOOM, Вы писали:
DOO>Читаю, читаю — никак понять не могу, чем твоя схема отличается просто от использования GPL библиотеки?
Тем, что нет closed-source приложения, использующего GPL-библиотеку. Есть Open-source плагин, использующий GPL-библиотеку. И есть closed-source приложение, использующее open-source плагин.
Здравствуйте, пыщьх, Вы писали:
П>Здравствуйте, DOOM, Вы писали:
DOO>>Читаю, читаю — никак понять не могу, чем твоя схема отличается просто от использования GPL библиотеки? П>Тем, что нет closed-source приложения, использующего GPL-библиотеку. Есть Open-source плагин, использующий GPL-библиотеку. И есть closed-source приложение, использующее open-source плагин.
Физически твой плагин это что? Динамическая библиотека или совсем самостоятельный процесс? Если первое — то, по сути, получается, что библиотека используется закрытым приложением. Если второе и обмен через какой-нибудь pipe или socket — то надо уже внимательнее смотреть, может где-то и есть лазейка.
Здравствуйте, пыщьх, Вы писали:
П>1. Closed-source софтень с плагин-интерфейсом и BSD-лицензией на Plugin SDK. П>2. Open-source плагин с использованием GPLv2 кода, написанный с использованием BSD-лицензированного SDK. Плагин идет как отдельный продукт. П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором".
Здравствуйте, KipDblK, Вы писали:
C>>Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором". KDK>По идее должно, иначе можно к любой программе, имеющей открытый Plugin API (Public domain или открытая лицензия) написать GPL плагин и можно судить автора программы за нарушения GPL?
Если в этом плугине будет основная функиональность системы, да ещё его будет писать тот же автор, что и основную систему, то вполне можно попробовать.
Здравствуйте, KipDblK, Вы писали:
C>>Плугин будет лицензирован под GPLv2 (его лицензия автоматически "проапгрейдится"). А дальше уже вопрос спорный, является ли интерфейс плугинов достаточным "изолятором". KDK>По идее должно, иначе можно к любой программе, имеющей открытый Plugin API (Public domain или открытая лицензия) написать GPL плагин и можно судить автора программы за нарушения GPL?
Нет. А вот если предварительно втереться в доверие и совместно выпустить пару продуктов, то будет уже достаточное основание.
Тут ведь нет разделения чёрное/белое. Всё намного более сложно.
Здравствуйте, Cyberax, Вы писали:
C>Нет. А вот если предварительно втереться в доверие и совместно выпустить пару продуктов, то будет уже достаточное основание. C>Тут ведь нет разделения чёрное/белое. Всё намного более сложно.
С юридической точки зрения или нарушаешь GPL или нет. А про существенная часть системы или не существенная, в лицензии ничего не сказано.
Тако же и про доверие/недоверие. Если говорить про дух GPL, то понятно, что описаная схема в таких условиях это нарушение.
Здравствуйте, 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". Т.е. "суд решит".
Здравствуйте, пыщьх, Вы писали:
П>Что скажут ярые воины Вима и Баша? Требования лицензии соблюдены, или есть к чему прикопаться?
Просто делаешь свой closed source код в отдельном процессе. Применяя любой способ межпроцессного взаимодействия. И все. Взаимодействуй с GPLv2 кодом на здоровье и без последствий.
ЗЫ: Прослойку API можешь сделать на том же GPLv2, и влинковать в нее.
Здравствуйте, Gaperton, Вы писали:
G>Просто делаешь свой closed source код в отдельном процессе. Применяя любой способ межпроцессного взаимодействия. И все. Взаимодействуй с GPLv2 кодом на здоровье и без последствий.
Что-то по поводу таких прямолинейных способов я слыхал, только не помню точно, что — либо это перекрыли только в GPLv3, либо таки что-то такой способ нарушает...
Здравствуйте, DOOM, Вы писали:
G>>Просто делаешь свой closed source код в отдельном процессе. Применяя любой способ межпроцессного взаимодействия. И все. Взаимодействуй с GPLv2 кодом на здоровье и без последствий. DOO>Что-то по поводу таких прямолинейных способов я слыхал, только не помню точно, что — либо это перекрыли только в GPLv3, либо таки что-то такой способ нарушает...
GPLv2 не нарушает точно. Линковки нет, код не смешивается. А уж как межпроцессное взаимодействие идет — по сети, или локально — неважно.
LGPL — отличается от GPL в том, что позволяет линковаться с GPL.
А вот GPLv3 уже очень многое перекрыло. Гораздо больше, чем указанный мной способ. В том числе — использование в коммерческих веб-сервисах и ембедщине. Почему Linux на нее и не перешел.
Впрочем, неясно, за каким, российским, американским, японским, и кто к кому едет в гости.
Но до суда, конечно, лучше не доводить, и если есть желание смешать non-GPL и GPL, лучше подстраховаться заранее: самые строгие мнения – у FSF. Они считают что линковать – хоть статически, хоть динамически – нельзя, за единственным пограничным исключением: когда главный софт и плагин не обмениваются данными. Допустимо же, по их мнению, вызывать плагин как отдельный процесс, причём обмен данными должен быть максимально простым и общим (no complexity, no intimacy).