Я планирую разработать коммерческое программное обеспечение с использованием программного обеспечения LGPL.
В программном обеспечении LGPL, которое я использую, некоторые функции в классе реализованы не полностью. Я хочу изменить код LGPL, чтобы класс и не реализованные функции были видны за пределами dll, добавив dllexport перед классом и добавив виртуальное ключевое слово перед функцией.
Затем я планирую реализовать эти функции в своем проприетарном программном обеспечении. Я готов распространять модифицированный код LGPL, но не проприетарное программное обеспечение, которое реализует функции так, как я хочу.
Это нарушает условия LGPL?
Ответы:
Это сложный вопрос, но я считаю, что то, что вы предлагаете, не допускается.
Вы предлагаете добавить хуки в библиотеку, чтобы упростить для вас подкласс библиотеки и, по крайней мере, таким образом. обойти дух LGPL.
Проблема заключается в том, что если вы подкласса класса, который подпадает под лицензию LGPL в вашем собственном коде, то ваша работа становится работой, основанной на библиотеке , а не работой, которая использует библиотеку, что означает, что ваш код является производным работа, которая рассматривается в разделе 2 ( LGPL v2.1 ), а не в разделе 6 ( LGPL v2.1 ). Т.е. это становится предметом LGPL !
Я думаю, что Стивен Коулборн дает хорошее резюме по javalobby.
Я не большой поклонник разговоров по колено с вашими предложениями адвоката , но в этом случае я думаю, что было бы целесообразно сделать это, если вы планируете продолжить, в противном случае вы можете получить неприятное письмо от свободного программного обеспечения Фонд юридической команды.
Кроме того, вы могли бы спросить FSF напрямую. С их страницы контактов :
Между прочим, в связанный с ним вопрос Отражение и LGPL , gbjbaanb ответы с на LGPL 3.0 перспективе .
источник
Стандарт Я не отказ от адвоката.
LGPL требует внесения изменений в исходный код библиотеки для всех, кто использовал ваш код. Это не требует, чтобы ваш код, который использует библиотеку, был с открытым исходным кодом и выпущен под той же лицензией.
Википедия для более подробного, но не адвокатского описания LGPL, включая раздел о наследовании классов .
источник
«Я хочу изменить код LGPL ...» этого достаточно для того, чтобы выпустить любой измененный код. Затем расширение, является ли расширение этого измененного кода производной работой подлежит утверждению, и в этом случае он становится предметом LGPL.
Похоже, что вы пытаетесь сделать, это обойти LGPL, что в этом случае с этими методами вы не можете.
Но если вы пытаетесь обойти LGPL, я бы связался с FSF в соответствии с рекомендациями Марка Бута .
источник
work based on
поскольку они вносят изменения в LGPL с целью раскрытия ранее закрытого кода.Мое предположение: (но IANAL) вы должны выпустить модифицированную библиотеку с открытым исходным кодом в виде кода LGPL, а затем поместить ее в коммерческую программу. Это будет работать. По сути, у вас будет открытый библиотечный форк с открытым исходным кодом, и вы будете продавать его для внешнего интерфейса.
Но, как справедливо сказали многие, спросите у FSF : у вас там интересный патологический сценарий; они могли бы задаться вопросом так же, как и вы, применимо это или нет. (или, по крайней мере, беспокоиться об этом достаточно, чтобы опубликовать запись FAQ по теме)
источник
https://www.gnu.org/licenses/lgpl-java.html
Короче говоря, нет проблем с наследованием, если вы не изменяете сам код библиотеки, но даже если вы меняете его, вам необходимо выпустить только измененный код библиотеки, а не код приложения.
источник