Подключение GPL-ной динамической библиотеки к close-source проекту? (возможно?)

Обсуждение развития Open-source.

Модератор: Модераторы разделов

Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение Denjs »

Сабж. Не могли бы вы мне напонить точно / убедить меня - допускает ли GPL динамическое подключение библиотеки содержащей GPL-код, к проприетарной программе?
надо подключить DLL-ку c GPL-ными классами к проекту с закрытыми исходниками.

Логически, я понимаю, что оно допустимо - иначе-бы на KDE например не было ни одного проекта с закрытыми исходниками... но точно ли так?
как дело обстоит с GPL v.2 и GPL v.3 ? есть разница?
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение t.t »

Если библиотека именно под GPL (не LGPL), то линковать её к закрытому коду нельзя, даже динамически. Ведь для того и существует LGPL (ранее расшифровывалось как Library GPL; сейчас — Lesser GPL): она отличается только отсутствием этого ограничения.

Denjs писал(а):
06.09.2010 03:19
Логически, я понимаю, что оно допустимо - иначе-бы на KDE например не было ни одного проекта с закрытыми исходниками... но точно ли так?
Наверное, не на kdelibs, а на qt. У qt двойная лицензия (по крайней мере была раньше). С юридической точки зрения двойное лицензирование не совсем корректно (по крайней мере, в России, Украине и большинстве стран Европы); тем не менее, это достаточно распространённая практика.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение NickLion »

Qt и сейчас использует двойное лицензирование. Но если раньше это было GPL и Commercial, то теперь LGPL и Commercial. Хм. А вот можно ли организовать межпроцессное взаимодействие между GPL и закрытым проектом? Через DBus, pipe или ещё как-нибудь.

PS а kdelibs тоже, вроде под LGPL идут. Во всяком случае KDE4:
/* This file is part of the KDE project
*
* Copyright © 2002-2004 George Staikos <staikos@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение t.t »

NickLion писал(а):
06.09.2010 10:08
Qt и сейчас использует двойное лицензирование. Но если раньше это было GPL и Commercial, то теперь LGPL и Commercial.
Если теперь LGPL, то азачем тогда двойное лицензирование, интересно. Впрочем, это не так важно.

NickLion писал(а):
06.09.2010 10:08
Хм. А вот можно ли организовать межпроцессное взаимодействие между GPL и закрытым проектом? Через DBus, pipe или ещё как-нибудь.
Можно. В этом разделе обсуждались подобные случаи; в частности, я приводил пример ABBYY FineReader.

Т.е. можно написать отдельную свободную часть с использованием свободной библиотеки, а с ней взаимодействовать из закрытой части без линковки.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение t.t »

NickLion писал(а):
06.09.2010 10:08
PS а kdelibs тоже, вроде под LGPL идут. Во всяком случае KDE4:
/* This file is part of the KDE project
*
* Copyright © 2002-2004 George Staikos <staikos@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation
Не исключено, что и предыдущие версии шли под ней же, я мог подзабыть.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение MrClon »

t.t писал(а):
06.09.2010 10:17
Если теперь LGPL, то азачем тогда двойное лицензирование, интересно. Впрочем, это не так важно.
На одном нокиевском семинаре из представитель рассказывал про это, точно не помню но но что-то вроде того что для выполнения обязательств перед теми кто в своё время успел купить проприетарную лицензию. Фактически там никакой разницы нет, только к проприетарной лицензии прилагается поддержка от разработчиков кажется.
Спасибо сказали:
Аватара пользователя
Minton
Сообщения: 1588
Статус: openSUSE Localization Team
ОС: openSUSE Tumbleweed x86-64

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение Minton »

На http://qt.nokia.com/downloads основные различия приведены, даже с галочками :)
Русский раздел на forums.opensuse.org :)

"Настоящие мужчины используют поиск" ©Goodvin
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение NickLion »

Кроме приведённых на странице загрузки отличий, коммерческая версия содержит драйвера для БД Oracle и DB2, кажется :)
Спасибо сказали:
Аватара пользователя
кып
Сообщения: 77
ОС: Xubuntu

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение кып »

NickLion писал(а):
06.09.2010 12:56
Кроме приведённых на странице загрузки отличий, коммерческая версия содержит драйвера для БД Oracle и DB2, кажется :)


Так они и в LGPL-ной версии есть.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение Denjs »

Господа, вернемся к GPL и проприетарной программе.
Означает ли это, что в случае, когда мне надо сделать подобную штуку - мне придется создавать LGPL-прослойку.
Т.е. например,

Код: Выделить всё

(проприетарная программа) <=> (LGPL-библиотека) <=> (GPL-библиотека)


Уж не Nvidia-ли так послупает со своими закрытыми драйверами?
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение t.t »

Denjs писал(а):
06.09.2010 14:24
Господа, вернемся к GPL и проприетарной программе.
Означает ли это, что в случае, когда мне надо сделать подобную штуку - мне придется создавать LGPL-прослойку.
Т.е. например,

Код: Выделить всё

(проприетарная программа) <=> (LGPL-библиотека) <=> (GPL-библиотека)
Не уверен, что такое пройдёт. По-моему, с GPL-кодом можно линковать только GPL-код, а не под GPL-совместимыми лицензиями. Т.е. вторая спайка недопустима. Только исхитряться с другими методами взаимодейстия (не линковка, а какая-либо передача данных между двумя «независимыми» модулями, я писал об этом выше).
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение MrClon »

А как тогда GPL проги линкуются с LGPL библиотеками?
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение NickLion »

кып писал(а):
06.09.2010 13:39
NickLion писал(а):
06.09.2010 12:56
Кроме приведённых на странице загрузки отличий, коммерческая версия содержит драйвера для БД Oracle и DB2, кажется :)


Так они и в LGPL-ной версии есть.

Может ошибся про конкретные драйвера, но вот: http://doc.qt.nokia.com/4.6/sql-driver.htm...orted-databases
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение NickLion »

MrClon - GPL можно линковать с LGPL, но не наоборот. Более того, GPL программа может линковаться с несвободными компонентами - KDE (первый) разрабатывался с использованием Qt, который тогда ещё не был свободным.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение /dev/random »

Denjs писал(а):
06.09.2010 14:24

Код: Выделить всё

(проприетарная программа) <=> (LGPL-библиотека) <=> (GPL-библиотека)

Не пойдёт. При линковке с GPL результат становится GPL. Т.о. LGPL-библиотека при линковке с GPL-библиотекой становится GPL-библиотекой. И с ней линковать проприетарную программу нельзя.

Denjs писал(а):
06.09.2010 14:24
Уж не Nvidia-ли так послупает со своими закрытыми драйверами?

ЕМНИП, у nvidia библиотека полностью закрытая, безо всяких прослоек, а для ядерного модуля исходники доступны, но обфусцированные и под несвободной лицензией. Так что совершенно не так.

MrClon писал(а):
06.09.2010 20:25
А как тогда GPL проги линкуются с LGPL библиотеками?

Элементарно: результат становится GPL.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение eddy »

А вот у меня тоже вопрос: в своей GPL'ной программе я использую одну функцию из numerical recipes. Она находится в отдельном сишном файле и полностью скопирована из сборника (со всеми комментариями).
Вопрос: насколько я правомерно поступаю? Или мне стоит запрятать эту функцию "во глубину сибирских руд", немного видоизменив? Дело в том, что эта функция реализует алгоритм быстрого поиска медианы выборки, и из всех найденных мною решений она - самая быстрая.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение NickLion »

А что за сборник-то? Там были приведены лицензии на публикуемый материал?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение /dev/random »

NickLion писал(а):
09.09.2010 09:01
А что за сборник-то? Там были приведены лицензии на публикуемый материал?

Да. Запрещается распространять в виде исходного кода. В виде бинарников - сколько угодно.

eddy писал(а):
09.09.2010 08:49
А вот у меня тоже вопрос: в своей GPL'ной программе я использую одну функцию из numerical recipes. Она находится в отдельном сишном файле и полностью скопирована из сборника (со всеми комментариями).
Вопрос: насколько я правомерно поступаю? Или мне стоит запрятать эту функцию "во глубину сибирских руд", немного видоизменив? Дело в том, что эта функция реализует алгоритм быстрого поиска медианы выборки, и из всех найденных мною решений она - самая быстрая.

Если функция тривиальная, и отличается от аналогов лишь мелкими оптимизациями, то можно никуда и не прятать. А вот если отличия принципиальны, то советую сжечь книгу, пепел закопать в полночь на дне ущелья, и больше никогда даже взгляд не бросать в её сторону, чтобы не дай бог не сделать в своей программе что-то по аналогии.
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)
Контактная информация:

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение Voral »

t.t писал(а):
06.09.2010 10:17
Если теперь LGPL, то азачем тогда двойное лицензирование, интересно. Впрочем, это не так важно.

в комерческой разрешена статическая линковка.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение eddy »

/dev/random писал(а):
09.09.2010 09:11
Если функция тривиальная, и отличается от аналогов лишь мелкими оптимизациями, то можно никуда и не прятать.

Элементарная - один вариант всего 11 строчек (самый быстрый алгоритм - оптимизированная сортировка), второй - 64 строчки со всеми комментариями (алгоритм quick_select).
И вообще, я считаю незаконным патентовать основные алгоритмы. Это же все равно, что запатентовать колесо, ДВС, электричество...
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение /dev/random »

eddy писал(а):
09.09.2010 09:31
Элементарная - один вариант всего 11 строчек (самый быстрый алгоритм - оптимизированная сортировка), второй - 64 строчки со всеми комментариями (алгоритм quick_select).

Алгоритмы общеизвестные или придуманные автором?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение eddy »

/dev/random писал(а):
09.09.2010 09:34
Алгоритмы общеизвестные или придуманные автором?

Откуда же я знаю?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение /dev/random »

eddy писал(а):
09.09.2010 09:37
Откуда же я знаю?

Названия он их давал? Алгоритма сортировки, например?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение eddy »

/dev/random писал(а):
09.09.2010 09:38
eddy писал(а):
09.09.2010 09:37
Откуда же я знаю?

Названия он их давал? Алгоритма сортировки, например?

Один алгоритм - quicksort (ссылаются на Кнутовские "фундаментальные алгоритмы"), а второй (более быстрый алгоритм, но для строго фиксированного количества членов выборки) вообще не помню откуда взял - оказывается, он не из NR.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение /dev/random »

eddy писал(а):
09.09.2010 09:49
Один алгоритм - quicksort

Без проблем

eddy писал(а):
09.09.2010 09:49
а второй (...) вообще не помню откуда взял - оказывается, он не из NR.

Мда. На третий год обсуждений выясняется...
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение eddy »

/dev/random писал(а):
09.09.2010 09:57
Мда. На третий год обсуждений выясняется...

:)
Честно не помню. Тоже был какой-то "сборник рецептов".
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение Stauffenberg »

t.t писал(а):
06.09.2010 08:25
С юридической точки зрения двойное лицензирование не совсем корректно (по крайней мере, в России, Украине и большинстве стран Европы);

Почему?
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение t.t »

Stauffenberg писал(а):
15.09.2010 22:20
t.t писал(а):
06.09.2010 08:25
С юридической точки зрения двойное лицензирование не совсем корректно (по крайней мере, в России, Украине и большинстве стран Европы);
Почему?
Если кратко, то всё достаточно очевидно: выпуская GPL-код ещё и под закрытой лицензией, компания тем самым нарушает требования самой GPL. Более корректная схема: раздавать всем под GPL/LGPL, а отдельно продавать поддержку (ради которой по сути альтернативная лицензия при таких двойных схемах и покупается).
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение /dev/random »

t.t писал(а):
15.09.2010 22:37
Если кратко, то всё достаточно очевидно: выпуская GPL-код ещё и под закрытой лицензией, компания тем самым нарушает требования самой GPL.

Согласно разъяснениям FSF (ссылку не дам, не помню), это так тогда и только тогда, когда автор включил в программу _чужой_ GPL-код. В этом и только в этом случае он сам обязан соблюдать требования GPL. Если же он - единственный автор, то распространение им программы под GPL его самого ни к чему не обязывает.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Подключение GPL-ной динамической библиотеки к close-source проекту?

Сообщение t.t »

/dev/random писал(а):
15.09.2010 22:43
t.t писал(а):
15.09.2010 22:37
Если кратко, то всё достаточно очевидно: выпуская GPL-код ещё и под закрытой лицензией, компания тем самым нарушает требования самой GPL.
Согласно разъяснениям FSF (ссылку не дам, не помню), это так тогда и только тогда, когда автор включил в программу _чужой_ GPL-код. В этом и только в этом случае он сам обязан соблюдать требования GPL. Если же он - единственный автор, то распространение им программы под GPL его самого ни к чему не обязывает.
Возможно, я что-то не совсем правильно истрактовал. Завтра на свежую голову постараюсь ещё раз вспомнить пояснения юристов.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Ответить