Хорошо, прежде чем все будут кричать о дублирующих вопросах, да, я уже видел несколько подобных вопросов здесь. Но никто не отвечает на вопрос.
Если я ссылаюсь на библиотеку под GPL без изменения этой библиотеки, нужно ли мне выпускать исходный код?
По этому вопросу ответ - да!
Но этот ответ меня не устраивает. Ответ в основном говорит о том, что я не могу использовать код GPL, не сделав свой код открытым исходным кодом.
Но если предыдущее верно, то это будет означать, что ни один человек или организация никогда не смогут выпустить какое-либо проприетарное программное обеспечение для Linux. Что должно быть не так. Просто потому, что для того, чтобы какое-либо приложение могло сделать что-то полезное, открыть файлы, записать на консоль, создать TCP-соединения, приложение должно быть связано с тем, libc
что написано под GPL.
Поэтому мой вопрос заключается в следующем: если GPL заявляет, что, как и во всех предыдущих ответах на сайте, это так, что программа, которая ссылается на другую программу GPL, должна быть самой GPL, как можно создавать / выпускать / продавать любое проприетарное приложение? вообще что работает на линуксе? Поскольку, как я описал выше, это приложение должно быть похоже на код GPL только для запуска в Linux.
Более практический пример говорит, что я ссылаюсь на разделяемую библиотеку, которая написана под GPL в приложении не-GPL, заставит ли это приложение не стать под GPL? Более конкретно, если я использую библиотеку GPL без ее изменения, а затем распространяю эту библиотеку как .so
или .dll
, потребует ли мое приложение открытого исходного кода?
Ответы:
Если вы ссылаетесь на библиотеку GPL, то вы создали производную работу, и ваш код должен быть GPL - это отличается от кода L GPL, который, в частности, позволяет динамически связывать код с другой лицензией. Все системные библиотеки, включая libc, являются LGPL.
Существует также специальное исключение для заголовков ядра Linux и libgcc (библиотеки, неявно вызываемой компилятором).
источник
В общем случае вы правы в том, что вы не можете ссылаться на библиотеку GPL, распространять свой код, а затем не выпускать свой код как GPL.
Тем не менее, существует исключение System Library, которое позволяет людям связываться с библиотеками Linux и по-прежнему выпускать свой продукт под лицензиями не-GPL.
Другое исключение - когда две лицензии совместимы друг с другом. Проверьте совместимую с FSF страницу лицензии для дальнейшего чтения.
Наконец, авторы библиотеки GPL могут создавать особые исключения, например, для некоммерческого или любительского использования.
К сожалению, слишком много возможностей, чтобы иметь жесткое и быстрое правило. Без дополнительных подробностей в вашем вопросе, ваш ответ «вероятно, не может, но, возможно, вы можете».
источник
Короткий ответ: никто не знает. (Это обсуждение о GPL, а не LGPL.)
В GPL есть смутные формулировки о «Производных работах», которые разные люди интерпретируют по-разному. Похоже, консенсус заключается в том, что статическое связывание нарушает, а вызов через системные прерывания (например, в ядро Linux) - нет. Последнее основано главным образом на том факте, что такие компании, как Oracle, поставляют Linux и на них не было предъявлено обвинение - это не ясно в лицензии.
Динамическое связывание неясно, вероятно, 70/30 говорят, что оно нарушает. Вызов программы с использованием каналов или удаленных вызовов процедур, вероятно, 30/70 не нарушает, хотя это, по сути, одно и то же. Вызов через COM или использование Java Jar совершенно неясен.
В принципе, если есть какие-либо сомнения, и вы не любите адвокатов, тогда держитесь подальше от GPL.
источник