LINUX.ORG.RU

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

 


0

3

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

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

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

Прочесть саму лицензию GPL v3 религия не позволяет?

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

религия

Незнание английского, я полагаю. Но ЧаВО-то по ней переведены!

Zmicier ★★★★★ ()

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

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

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

Нет.

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

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

Согласен. Но сейчас, я с вашего позволения, все-таки отвечу (уже).

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

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

А как быть в моём случае? Вообще, как-то можно выявить нарушение GPL при частичном использовании каких-то кусков кода? Как это можно обнаружить на скомпилированном приложении?

Mike1991 ()

Скорее всего можно. Алгоритмы же бородатая лицензия не кабалит.

fornlr ★★★★★ ()

[gpl violation]

А вообще прагматичненькое у вас отношение, я смотрю. :-)

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

Не только. В сети есть много статей на русском, пытающихся объяснить суть GPL более простым языком.

И место доброй половины из них в мусорке. Если хотите разобраться, идите читайте официальные материалы на https://gnu.org — на русский там все, что надо, кроме текстов самих договоров, переведено.

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

Вообще, как-то можно выявить нарушение GPL при частичном использовании каких-то кусков кода?

Извините, я не намерен давать советов по нарушению авторского лева.

Как это можно обнаружить на скомпилированном приложении?

Да, даже при компиляции в машинный код, если захотеть, можно.

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

А как быть в моём случае?

Есть два очевидных варианта.

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

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

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

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

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

Ещё и с маленькой буквы. Представь, что человек разрабатывает для получения денег или просто не хочет, чтобы код его приложения кто-то видел/брал/менял.

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

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

Последующий заработок. Вероятно, это более честный ответ.

Понятное дело, что открыв исходный код приложения, рискуешь в дальнейшем на нём не заработать ничего (кто будет покупать за деньги то, что итак лежит бесплатно?). И тем более, не хочется этого делать, если объём того кода, которым «вдохновился» (как выразился Nietzsche), составляет чуть меньше половины процента от всего остального кода, который написал сам.

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

Еще и с маленькой буквы

Пардон?

или

Мне кажется, или мой вопрос именно об этом?

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

Пардон?

Свобода с маленькой буквы написана.

Мне кажется, или мой вопрос именно об этом?

Просто он прозвучал, как будто ТС обязан открывать код.

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

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

Безусловно. Однако, будем честны, вы и так рискуете не заработать на нем ничего. Риск же.

кто будет покупать за деньги то, что итак лежит бесплатно?

А вот здесь стоп! Где лежит?

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

Так я вас смею заверить, если программа ценна, то даже и не имея вашего разрешения, кто-нибудь да выложит противоправно. Целые тематические форумы есть, и там даже часто не считают нужным писать, варез они распространяют или нет — просто, мол, приложения с Гуглоплэя — и их даже никто толком не преследует. Так что рассчитывайте риски.

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

Свобода с маленькой буквы написана.

Конечно. Мы же не на английском пишем.

Просто он прозвучал, как будто ТС обязан открывать код.

В случае описанных заимствований — именно так (скорее всего).

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

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

Goury ★★★★ ()

Либо выноси свободное ПО в отдельный свободный подпроект, либо всё под GNU GPL v3.

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

Однако, будем честны, вы и так рискуете не заработать на нем ничего. Риск же.

Согласен. Но если открыть исходники, то такая вероятность (отсутствия заработка) практически стопроцентная.

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

Я имею в виду то, что любой сможет скачать исходники, скомпилировать их и пользоваться. Зачем покупать приложение в таком случае?

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

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

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

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

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

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

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

Я имею в виду то, что любой сможет скачать исходники

Откуда?

Вы уверены, что кто-то выложит? Будет программа полезной — выложат, конечно. И сборку выложат, так что ничего компилировать будет не надо.

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

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

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

Ключевое слово «частичное». Та небольшая часть кода, кода подпадает под fair use, может быть использована. Также тот кусок кода, который решает общую классическую задачу, ничего уникального для этого проекта. Но не более. Иначе только вдохновляться, как написали выше: inspired by тоже ведь встречается.

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

Та небольшая часть кода, кода подпадает под fair use

Ой-ой! Заимствования чужого программного кода в свою программу — fair use? Пример, пожалуйста!

Zmicier ★★★★★ ()

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

Антилопнутые теперь ещё и алгоритмы копирастят?

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

Я имею в виду то, что любой сможет скачать исходники, скомпилировать их и пользоваться. Зачем покупать приложение в таком случае?

Если не ошибаюсь, программки под андроид стоят как пожертвование: 3-5 у.е. Т.е. низкая цена, зато больше купивших. Знание, что люди спонсируют не просто прогу, автор которой в любой исчезнет, и они останутся ни чем, а код в любом случае останется открытым, и найдётся кто-нибудь ещё, только увеличивает привлекательность именно этой программы.

Собирать самому - это ведь только для любителей. А чтобы прога появилась собранной бесплатно на f-droid, нужно сначала заработать популярность. И даже тогда можно по-прежнему просить при возможности её покупать или, что ещё лучше, предложить дополнительный счёт, на который можно что-то пожертвовать. Для тех, кто принципиально не пользуется всеми этим гугло-эпло-сторами.

Вот попалась программка Conversations. Там есть и как собрать, и как купить, и как пожертвовать и/или взять на f-droid (https://github.com/siacs/Conversations/issues/266#issuecomment-48655704), и как платить за услугу (https://account.conversations.im/).

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

Да? И паровой двигатель был чьей-то идеей?

А как же -> Герон Александрийский.

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

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

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

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

GPL программы, также как и другие не-GPL программы, используют getopt, преобразование чисел из одного формата в другой, используют API других библиотек. В итоге даже не понятно, кто у кого вообще заимствовал. Только IT-археологи когда-нибудь установят, кто первым какую тривиальность или очевидность первым записал.

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

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

Откуда инфа?

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

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

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

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

Это ответ на какой-то вопрос? Если да, то на какой?

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

Согласен в целом.

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

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

Вспомнил об одном из, наверное, самых известных примеров заимствования кода, на который накладывать какие-либо ограничения очень противоречиво. Это код из книги Numerical Recipes. Можно реализовать какой-то численный алгоритм самому. Но если он будет давать правильный результат и не будет написан в стиле запутанного программирования, то, наверняка, человека можно обвинить в заимствовании.

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

В моём случае я делаю небольшое приложение, скажем для обработки изображений. В нём помимо всего прочего есть порядка 15 разных фильтров, которые я написал сам, но с одним из фильтров возникли сложности, а на просторах гитхаба нашлось решение на языке C, но с GPL v3.

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

Откуда инфа?

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

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

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

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

Выноси фильтр в отдельный подпроект и публикуй исходники как положено.

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

Я спрашивал не просто «примеры заимствования кода» (которых, разумеется, тьма), но примеры, когда это действие будет «fair use’ом». Я, конечно, не специалист по североамериканскому авторскому праву, но по-моему это очень сомнительно.

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

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

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

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

но с одним из фильтров возникли сложности, а на просторах гитхаба нашлось решение на языке C

А вот теперь поддержу оратора выше — дайте ссылку.

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

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

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

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

когда это действие будет «fair use’ом»

Так вот все они и есть этот fair use, иначе бы эти более/менее открытые проекты друг друга заклеймили/засудили.

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