Растолкуйте GNU GPL

Итак, если я использую в своем закрытом коде библиотеку под GPL лицензией, как мне не открывать код?
В самой лицензии сказано, что использование GPL кода в моей программе, автоматически делает мою программу GPL, а я бы хотел на ней заработать.
Так что же означает использование кода в моей программе? Я использую библиотеку libfprint, а для этого я подключаю заголовочный файл fprint.h и линкую -lfprint при компиляции. Является ли это использованием кода? Если да, то как поступить, чтобы его не использовать?

+1
SD - 28 Февраль, 2011 - 10:13

GPL пункт 2b смысл прост. хочешь продавать - пиши сам, используешь что-либо с гпл - свою прогу тоже делаешь свободной.

+1
aka_melv - 28 Февраль, 2011 - 10:08
Изображение пользователя aka_melv.

Судя по тому, что написано в лицензии - это является использованием кода. Если есть ссылка на код, который где-то воспроизводится, значит он используется.
Чтобы его не использовать, надо не использовать саму библиотеку, или нет?..

+1
vetal.44 - 28 Февраль, 2011 - 15:24
Изображение пользователя vetal.44.

По моему такое разрешает LGPL. С GLP такое сделать нельзя. В этом случае ты должен открыть свой код.

0
Robotex - 28 Февраль, 2011 - 19:53

Насколько мне известно GPL не запрещает продавать, она запрещает скрывать код.

Оказалось, что я неправильно понял лицензию:
The project is licensed under the LGPL v2.1. See the COPYING file for
details, and contact a lawyer if you want to find out if it's suitable

Т.е. библиотека на LGPL. Как в таком случае использовать ее без открытия моих исходных кодов?

0
Robotex - 28 Февраль, 2011 - 19:53

Может кто-нибудь пояснить?

Главное различие между GPL и LGPL в том, что последняя позволяет и такое линкование с данным объектом других, которое создаёт производную от данного работу, если лицензия слинкованных объектов позволяет «модификации для внутреннего использования потребителем и обратную разработку для отладки таких модификаций». Т.е. LGPL, в отличие от GPL позволяет связывание (но только динамическое) библиотеки с любой программой, не обязательно свободной.
LGPL помещает ограничения копилефта на саму программу, но не применяет эти ограничения на другое программное обеспечение, которое только связывается с программой. Однако существуют другие ограничения на это программное обеспечение. Существенно, что должна существовать возможность связывания этого ПО с новейшей версией программы или библиотеки, охваченной LGPL. Наиболее часто используемый способ сделать так — это использовать «подходящий механизм разделяемых библиотек для связывания». Альтернативой этому является разрешение для статической библиотеки, если предоставлены либо исходный код, либо приспособленные для связывания объектные файлы.

Чем статическое связывание отличается от динамического?

+1
Master_Yoda - 28 Февраль, 2011 - 21:03

Статическое, это когда в прогу "зашивается" вся бодяга, которая используется. Т.е. на стороне пользователя такой проги не нужны зависимые библиотеки. А динамическое, это сборка без библиотек, они подхватываются у клиента (конечно при наличии оных).

0
Robotex - 1 Март, 2011 - 18:37

Т.е. в таком случае, подключение заголовочного файла библиотеки и использование ее функций не считаются включением кода библиотеки в программу?

0
DarkneSS - 1 Март, 2011 - 20:05
Изображение пользователя DarkneSS.

Насколько я понимаю, дела обстоят так:

  • вы не включаете код GPL в свой код;
  • на выходе бинарники из вашего кода не содержат в себе скомпилированных фрагментов текстов под GPL, т.е. есть некий /bin/Robotex и /lib/Robotex.so а использованные вами GPL библиотеки лежат отдельными файлами.
0
Robotex - 1 Март, 2011 - 20:37

Да, но в моей программе включены прототипы библиотечных функций (без этого программа просто не сможет их вызвать). Это не считается включением кода?

0
DarkneSS - 1 Март, 2011 - 21:16
Изображение пользователя DarkneSS.

Раз иначе не сможет, значит не должно считаться...

0
fox4 - 1 Март, 2011 - 21:48
Изображение пользователя fox4.

Помоему кодом считается текстовая реализация алгоритма программы поправьте если неправ

0
Robotex - 2 Март, 2011 - 02:37

Т.е. стуктуры тоже не считаются включением?

+2
DarkneSS - 1 Май, 2011 - 14:57
Изображение пользователя DarkneSS.

Наглядное представление популярных Open Source лицензий - кликабельно

Источник

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры