По сравнению с GPL она позволяет линковать с софтом, несовместимым с GPL. Остальное - то же. Закрывать нельзя, derived work распространяется по тем же правилам и т.п.
у меня есть LGPL графический движек, все изменения в его коде я должен опубликовать. Это меня устраевает. И у меня есть движек игры, имею ли я проаво его не открывать? При этом они будут слинкованы в один бинари который я хочу продавать. А кто то другой будет иметь право его продавать?
>По сравнению с GPL она позволяет линковать с софтом, несовместимым с GPL.
С некоторыми ограничениями, вот наиболее важные из них:
1) нельзя пользователю запрещать модификацию для личного использования пользователем и нельзя запрещать реверс-инженирование для отладки таких модификаций;
2) библиотека может поставляться так, чтобы пользователь смог использовать её с изменённой (работоспособность, естественно, на ответственности пользователя) версией библиотеки:
а) отдельно от программы;
б) вместе с программой в виде разделённой библиотеки (т. е. dll/so), вместе с исходниками этой библиотеки;
в) в статической линковке только если ты предоставляешь объектный/исходный код своей программы, использующей библиотеку, чтобы пользователь мог собрать программу с изменённой версией библиотеки.
> у меня есть LGPL графический движек, все изменения в его коде я должен опубликовать.
Ты должен предоставлять исходные тексты и все права, которые получил сам, получателю. Не более. Публиковать для _всеобщего_ доступа никто не обязывает.
> у меня есть движек игры, имею ли я проаво его не открывать?
Да.
> При этом они будут слинкованы в один бинари который я хочу продавать.
Надо ещё раз перечитать лицензию на предмет статической линковки - не помню, возможно, нельзя.
> А кто то другой будет иметь право его продавать?
Граф. движок - да, игровой - зависит от лицензии на него.
>у меня есть LGPL графический движек, все изменения в его коде я должен опубликовать. Это меня устраевает. И у меня есть движек игры, имею ли я проаво его не открывать? При этом они будут слинкованы в один бинари который я хочу продавать. А кто то другой будет иметь право его продавать?
Если графический движок написан полностью тобой и другими людьми, которые согласны с такими условиями, ты даже имеешь право распространять его отдельно по любой лицензии (например, GPL - чтобы помочь только открытым проектам), а вместе с движком игры (если он опять же написан полностью тобой и другими людьми, которые согласны с такими условиями) - под любой коммерческой лицензией.
гм. графический движек - LGPL, не мой. игра - пока что проприетарщина, моя.
на счет статической линковки как я понял нельзя. А если как so/dll, что в принципе устраевает, то можно? Т.е. полноценные продажи диска с игрой без зашаривания кода игры, и без отчислений разработчикам движка?
Я много раз разговаривалс Ryan Gordon (icculus). Он имеет огромный опыт в этом. Вот что он говорит:
1-й способ: Линкуеш свой проект динамически (т.е. к so библиотекам). Чем чревато: на разных машинах может не запускаться (если библиотеки нужной нет или версия не подходит). Выход: можно таскать все so или dll с собой в проекте.
2-й способ: Линкуеш статически (все в бинарник - библиотеки .a). При этом ты обязательно распространяеш с проектом объектные файлы (.o) чтобы юзер мог пересобрать проект если в библиотеке какой-нибудь нашли уязвимость и т.п.
3-й способ: так делали в Loki! Делаеш два бинарника: статически слинкованный бинарь - является официально поддерживаемым тех. поддержкой. Но в добавок поставляеш динамечески слинкованный бинарник - он unsupported. Это такая лазейка в LGPL лицензии :)
Все эти три совета чисто практические и работают 100% - испытано. Возможно я не смогу подробно объяснить почему и как конкретно работает каждый способ (ниасилил как говорится я лицензию), но это все давно придумали грамотные люди, которые осилили :)