LINUX.ORG.RU

Частичное использование кода GPL в проприетарном ПО

 


0

3

Здравствуйте, уважаемые форумчане!

Пишу приложение для Android, состоящее из нескольких небольших модулей. Недавно нашёл в сети интересный код (объёмом примерно 500-600 строк), написанный на C и распространяемый по лицензии GPL v3. Я правильно понимаю, если я сейчас перепишу этот код на Java с некоторыми изменениями и внедрю в один из своих модулей, в дальнейшем я обязан буду распространять своё приложение по GPL и, соответственно, раскрыть весь исходный код? Или потребуется раскрытие исходного кода только той части, где непосредственно используется позаимствованная часть?

Прошу извинить, если тема уже была подобная.

если я сейчас перепишу этот код на Java с некоторыми изменениями и внедрю в один из своих модулей, в дальнейшем я обязан буду распространять своё приложение по [GNU] GPL

Да. Или совместимой с GNU GPL лицензии.

Или потребуется раскрытие исходного кода только той части, где непосредственно используется позаимствованная часть?

Нет.

(Хотя я не знаю, что вы называете словом «непосредственно».)

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Нет, никакой совместимой там не уместно. Та часть, которая была под GNU GPL v3, должна остаться именно на тех же условиях.

Goury ★★★★★
()
Ответ на: комментарий от Goury

Нет, никакой совместимой там не уместно

Вполне уместно.

Та часть, которая была под GNU GPL v3, должна остаться именно на тех же условиях.

А не, это Конечно. (Ну или более поздней, я надеюсь, хотя об этом и не сказано.)

Я написал так, что сложилось впечатление, что можно сменить условия распространения заимствованного текста? Прошу извинить. (Хотя мне по прежнему так не кажется — по-моему все ясно написано.)

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Никаких «более поздней» и никаких совместимостей.
То, что ты получил на условиях GNU GPL v3, публиковать и распространять нужно именно на этих самых условиях. Распространять на других условиях можно только автору. А если авторов больше одного, то только по взаимному согласию всех.

Goury ★★★★★
()
Ответ на: комментарий от Goury

Никаких «более поздней»

Откуда инфа?

То, что ты получил на условиях GNU GPL v3, публиковать и распространять нужно именно на этих самых условиях.

«А не, это конечно. (Ну или более поздней, я надеюсь, хотя об этом и не сказано.)

Я написал так, что сложилось впечатление, что можно сменить условия распространения заимствованного текста? Прошу извинить. (Хотя мне по прежнему так не кажется — по-моему все ясно написано.)»

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Откуда инфа?

От Ричарда лично. А ещё я читать умею.

Ну или более поздней, я надеюсь

Только с разрешения всех авторов. Некоторые такое разрешение дают сразу в явном виде, но к лицензии это отношения не имеет.

Goury ★★★★★
()
Ответ на: комментарий от Goury

А ещё я читать умею.

Извините, не согласен. Ну или, по крайней мере, сейчас это у вас плоховато получается :-).

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

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

(Ответ «да» прошу обосновать цитатой из GPL с пояснением.)

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Неужели GPL будет считать такую работу производной?

А при чем здесь «счет» GNU GPL? Она об’ективно производная.

Ответ «да» прошу обосновать цитатой из GPL с пояснением.

Откуда она там возьмется? Зачем в типовом договоре прописывать то, на что он повлиять не в силах?

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 2)
Ответ на: комментарий от intelfx

Он собирается цпп на яву переписывать же.
Переписывал бы он бейсик на питоне — претензий было бы меньше.

Goury ★★★★★
()
Ответ на: комментарий от intelfx

В общем случае ТС решил просто портировать код, т.е. как можно ближе к тексту. А вот если бы он разобравшись, написал своё - тогда, мне кажется, другое дело. Ведь тогда это просто очередная реализация алгоритма, а не производная работа / заимствование кода, что, к сожалению, легко перепутать. Разве что этот алгоритм уникален и нигде не описан, а код - его единственная реализация. Тогда только плагином, как предлагали выше (и только как отдельная загрузка).

gag ★★★★★
()
Ответ на: комментарий от gag

Разве что этот алгоритм уникален и нигде не описан, а код - его единственная реализация.

То что? Теоретически избавиться от авторского труда должно быть возможно всегда.

Тогда только плагином, как предлагали выше (и только как отдельная загрузка).

А вот здесь поподробнее, пожалуйста. По-моему, кто-то из нас чего-то не понял.

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

А при чем здесь «счет» GNU GPL? Она об’ективно производная.

Допустим, тот GPL-код написан по алгоритму, но скромно умолчали по какому, ведь «лицензия» алгоритма не такая копилефтная как GPL. Ведь не зная о том факте, что человек использовал именно код вместо алгоритма как документацию, чтобы написать свою реализацию, невозможно судить о производности новой реализации. Обе будут реализациями алгоритма и могут казаться производными друг от друга. Т.е. даже умолчав об алгоритме автор GPL, если не он сам этот алгоритм выдумал, всё равно не сможет ничего доказать. А только это в конечном итоге и в счёт.

gag ★★★★★
()
Ответ на: комментарий от gag

не сможет ничего доказать

Скользкая дорожка.

Zmicier ★★★★★
()
Ответ на: комментарий от gag

В общем случае ТС решил просто портировать код, т.е. как можно ближе к тексту.

Да, совершенно верно, речь идёт именно о порте (с Си (не Си++) на Java). Ничего нового я вносить не собирался (кроме разьве что пары «косметических» изменений).

В целом ответ на свой вопрос я получил: при таком подходе будет нарушение GPL.

Спасибо всем, кто откликнулся и уделил время.

Mike1991
() автор топика
Ответ на: комментарий от Zmicier

Разве что этот алгоритм уникален и нигде не описан, а код - его единственная реализация.

То что? Теоретически избавиться от авторского труда должно быть возможно всегда.

А тут не понял я.

Тогда только плагином, как предлагали выше (и только как отдельная загрузка).

А вот здесь поподробнее, пожалуйста. По-моему, кто-то из нас чего-то не понял.

Открытый плагин, использующий GPL-код. Вызывается закрытым приложением в отдельном процессе: https://www.gnu.org/licenses/gpl-faq.en.html#GPLPluginsInNF Или, как там дальше написано, можно даже добавить исключение для плагина, что можно напрямую линковать из закрытого кода.

Разумеется, распространяться плагин должен отдельно от закрытого кода.

gag ★★★★★
()
Ответ на: комментарий от Mike1991

Спасибо всем, кто откликнулся и уделил время.

Всегда пожалуйста.

Но обратите внимание, что с другой стороны все обычно ожидают, что и вы на их встречные вопросы тоже ответите.

Zmicier ★★★★★
()
Ответ на: комментарий от Mike1991

Так что же за фильтр такой хитрый (всё равно по тому коду на гитхабе его пользователей не отследить)? И уговорили на открытие кода в будущем?

gag ★★★★★
()
Ответ на: комментарий от gag

А тут не понял я.

Да я собственно вопрос задал. Если алгоритм нигде не описан, то что?

плагин
в отдельном процессе: https://www.gnu.org/licenses/gpl-faq.en.html#GPLPluginsInNF Или, как там дальше написано

А! «Плагин» — это в формулировке вопроса так из ЧаВО так. В смысле там вопрос просто про плагин, это не термин для способа взаимодействия.

«Сборником» [0], вы хотели сказать. Но что-то я не уверен, что под «Андроидом» это удобно.

https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation

можно даже добавить исключение для плагина, что можно напрямую линковать из закрытого кода

Ха! Так это проще сразу попросить выдать в частном порядке лицензию без авторского лева.

Кстати, ОП, спрашивал, что ему делать. Вот третий вариант — написать автору фильтра и пропросить продать исключение из GNU GPL, даже если он не рекламирует такой возможности, попытка, как известно, — не пытка.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от gag

Так что же за фильтр такой хитрый (всё равно по тому коду на гитхабе его пользователей не отследить)?

Ok, так и быть. Я немного слукавил, речь идёт об обработке звука, пишу что-то навроде звукового редактора (хотя там и небольшая обработка изображений тоже есть). А сложности возникли с алгоритмом реверберации. Найденное решение: https://github.com/swh/lv2/tree/master/gverb. На сколько я понял, это тоже какой-то порт с какого-то другого проекта.

Mike1991
() автор топика
Ответ на: комментарий от Mike1991

Я немного слукавил, речь идёт об обработке звука

И лицензия немного другая — GNU GPLv2+, а не v3.

gverb

Безотносительно всего остального обращаю внимание, что из Audacity его выкинули, заменив на другой.

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

И лицензия немного другая — GNU GPLv2+, а не v3.

В README написано, что v3: https://github.com/swh/lv2/blob/master/README

Безотносительно всего остального обращаю внимание, что из Audacity его выкинули, заменив на другой.

Да я в курсе. Впрочем, как по мне, так неплохой алгоритм и по скорости (даже после порта на Java), и по качеству в общем-то тоже (конечно, с маленькими комнатами он не очень хорошо справляется, но это беда всех алгоритмических ревербераторов).

Mike1991
() автор топика
Ответ на: комментарий от Zmicier

Да я собственно вопрос задал. Если алгоритм нигде не описан, то что?

Если человек придумал алгоритм, но вместо описания выкладывает только его GPL-реализацию, то это выглядит как патент на алгоритм (к которым вроде как очень негативно относятся любители свободы), пусть и копилефт патент. Т.к. известно, что любая его реализация могла быть только производной от изначального GPL-кода. Если бы его открыли под LGPL, это был бы хороший компромисс между тратой (неоплачиваемого) времени на написание документации и накладыванием слишком копилефтного GPL-«патента» на алгоритм.

что под «Андроидом» это удобно.

Надо глянуть, как там под андроидом с плагинами принято.

Вот третий вариант - написать автору фильтра и пропросить продать исключение из GNU GPL

Если ОП собирается зарабатывать, то это резонно. Проблема только в том, что если тот код уже изменялся ещё кем-то, то это будет непросто. Ещё один аргумент в пользу LGPL. Да и код лежит у некого Стива, а написали его 17 лет назад в Финляндии(?). Попробуй тут того автора разыскать.

gag ★★★★★
()
Ответ на: комментарий от Mike1991

Ясно.

А сложности возникли с алгоритмом реверберации. Найденное решение: https://github.com/swh/lv2/tree/master/gverb.

Его тут интересно критикуют: http://wiki.audacityteam.org/wiki/GVerb#Criticisms

Выходит, эти несколько строчек действительно такие особенные. Жаль, что нет ссылок к литературе.

gag ★★★★★
()
Ответ на: комментарий от gag

Если человек придумал алгоритм, но вместо описания выкладывает только его GPL-реализацию, то это выглядит как патент на алгоритм

Ни в коем случае!

к которым вроде как очень негативно относятся любители свободы

По-моему к ним все негативно относятся. Только патентные тролли нежно любят.

пусть и копилефт патент

А это вообще какой-то нонсенс.

любая его реализация могла быть только производной от изначального GPL-кода

Почему? Во-первых, куда делась возможность независимой реализации? А во-вторых, в теории труд автора должно быть можно отделить от труда изобретателя.

Ещё один аргумент в пользу LGPL.

Не понимаю, о какой «пользе» вы говорите.

Попробуй тут того автора разыскать.

А что заставляет вас полагать, что адрес уже не рабочий? В 12-м году еще был.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Извините за напоминание, но вы помните, что у меня к вам вопрос по существу подвис?

Какой? Перейду ли я на GNU GPL?

Mike1991
() автор топика
Ответ на: комментарий от Mike1991

Какой?

Улавливаете ли вы, что в вашем случае GNU GPL вовсе не обяжет вас публиковать исходные тексты вашей программы в открытом доступе?

Перейду ли я на GNU GPL?

Ну и это тоже. :-)

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Улавливаете ли вы, что в вашем случае GNU GPL не обяжет вас публиковать исходные тексты вашей программы в открытом доступе?

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

Ну и это тоже. :-)

Пока нет. В будущем - возможно (когда программирование станет основным средством заработка, а денег от него будет хватать не только на еду (что, вполне возможно, может означать «никогда»), либо если будет мало продаж, отсутствие интереса у пользователей, можно будет перевести проект на GPL, открыть исходники, возможно кто-то заинтересуется, сделает хороший форк...).

Mike1991
() автор топика
Ответ на: комментарий от Mike1991

могут обязать пользователи

Вас опубликовать в открытом доступе? Нет.

у них ведь будет на это право, потребовать от меня исходный код?

В зависимости от избранного вами способа реализации их права на изменение программы — либо у всякого располагающего сборкой такое право будет, либо ваши покупатели должны получать к ним доступ безо всяких требований.

По очевидным причинам, первым — распространением по требованию — почти никто не пользуется.

А потом, почему вы так беспокоитесь именно об исходниках? Стыдитесь написанного? ;-)

Zmicier ★★★★★
()
Ответ на: комментарий от Mike1991

если будет мало продаж

Я, честно говоря, так и не уловил, почему вы уверены, что продажа свободной программы должна идти фатально хуже несвободной. То есть гипотеза-то разумная, но уверенность непонятна. Вы знаете какие-то исследования на сей счет? Мне было бы крайне интересно полистать.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

А потом, почему вы так беспокоитесь именно об исходниках? Стыдитесь написанного? ;-)

И это тоже) Но в целом, как-то не очень хочется грубо говоря отдавать в общественное достояние то, на что тратил на протяжении года практически всё свободное время. Если бы это была просто какая-то небольшая полезная библиотека или утилита, написанная максимум за месяц (в свободное от основной работы время), на которой я и не стремился бы зарабатывать деньги, то конечно, я бы выполне выбрал для неё даже LGPL.

Я, честно говоря, так и не уловил, почему вы уверены, что продажа свободной программы должна идти фатально хуже несвободной.

Если GPL так хороша и продажа приложений, распространяющихся по её условиям, не хуже, чем продажа проприетарного ПО, почему скажем многие крупные производители ПО (будь то Adobe или Autodesk, например) не перешли на неё?

Mike1991
() автор топика
Ответ на: комментарий от Mike1991

Если GPL так хороша и продажа приложений, распространяющихся по её условиям, не хуже, чем продажа проприетарного ПО, почему скажем многие крупные производители ПО (будь то Adobe или Autodesk, например) не перешли на неё?

Продавать свободные программы - это как продавать песок в пустыне. Зачем тратить деньги, если можно взять нахаляву?

vq156 ★★
()
Ответ на: комментарий от vq156

Зачем тратить деньги, если можно взять нахаляву?

Вы полагаете, что люди с одной стороны насколько тянуться к халяве, что никогда не заплатят за то, что взять бесплатно, а с другой — настолько законопослушны, что никогда не возьмут на халяву то, что взять на халяву без проблем можно, но не разрешено?

Хорошая гипотеза. А что есть в ее подтверждение?

Zmicier ★★★★★
()
Ответ на: комментарий от Mike1991

как-то не очень хочется грубо говоря отдавать в общественное достояние

А кто что-то говорит о общественном достоянии?

почему многие крупные производители ПО (будь то Adobe или Autodesk, например) не [продают свободные программы]?

А я, честно говоря, не в курсе, что «Адоуб» или «Автодекс» продают в «Гуглоплэе»?

Zmicier ★★★★★
()
Ответ на: комментарий от vq156

Вы говорили вот это: «Продавать свободные программы — это как продавать песок в пустыне. Зачем тратить деньги, если можно взять нахаляву?».

остальное — ваши домыслы.

Так изложите свои домыслы! Или вы просто вбросили тезис и все?

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.