LINUX.ORG.RU
решено ФорумTalks

GPLv2 vs perl поделка vs not redistributable

 ,


0

2

Есть мертвый форк дебиана - vyatta os. Есть коммерческий форк vyatta os - edgeos.

В каталоге /opt/ расположена программа на perl, представляющая из себя cli и web интерфейсы. Код, который пришел из vyatta идёт под лицензией GPLv2 (без всяких лезеров). Среди этого кода встрчаются perl файлы вот с такой забавной лицензией:

USES AND RESTRICTIONS

You may:

download and use the Ubiquiti Software solely in Ubiquiti Devices, and make copies of the Ubiquiti Software as reasonably necessary for such use, provided that You reproduce, unaltered, all proprietary notices on or in the copies. You may not, and shall not permit others to:

use the Ubiquiti Software on any devices or products that are not owned by You or Your business organization; use the Ubiquiti Software on any non-Ubiquiti Devices; copy the Ubiquiti Software (except as expressly permitted above), or copy the accompanying documentation; modify, translate, reverse engineer, decompile, disassemble or otherwise attempt (i) to defeat, avoid, bypass, remove, deactivate, or otherwise circumvent any software protection mechanisms in the Ubiquiti Software, including without limitation any such mechanism used to restrict or control the functionality of the Ubiquiti Software, or (ii) to derive the source code or the underlying ideas, algorithms, structure or organization from the Ubiquiti Software (except that the foregoing limitation does not apply to the extent that such activities may not be prohibited under applicable law); or distribute, rent, transfer or grant any rights in the Ubiquiti Software or modifications thereof or accompanying documentation in any form to any person without the prior written consent of Ubiquiti. remove any Ubiquiti copyright notice or Ubiquiti branding from the Ubiquiti Software or modify any user interface of the Ubiquiti Software or Ubiquiti Device.

Я так понимаю этой лицензией можно подтереться, выдрать логотипы и названия и спокойно сделать форк?

Полная версия: http://pastebin.com/zCmFMuQE

★★★★★

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

GPL защищает связывание одного кода с другим на уровне исходника, или любой библиотечной линковки. Какие исходники или библиотеки были связаны?

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

Непосредственно в сам GPL код внедрена EULA в виде отдельных файлов. Самостоятельно работать они не могут. Они являются частью программного комплекса вятты.

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

Про GPL имхо: если софт ваты ВХОДИТ В ЕДИНУЮ ПОСТАВКУ, где файл с GPL инклудит файл с ватовской лицензией или наоборот - это нарушение. Если часть програм ваты просто само по себе лежит под не-GPL лицензией и нигде не инклудится - то всё в порядке. Если они допустим находятся в разных пакетах, и связываются уже после установки самим пользователем - то нет

Про LGPL: в случае скриптовых языков имхо любой инклуд является динамической линковкой, и LGPL такой вариант вообще никак не защищает

Но в конечном итоге всё равно будет решать суд, и суд скажет, считает ли он код на перле «binary». Сие имхо не очевидно. Если не посчитает, то оно вообще никак не защищается никаким из GPL

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 4)
Ответ на: комментарий от steemandlinux

Я так понимаю этой лицензией можно подтереться, выдрать логотипы и названия и спокойно сделать форк?

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

Нарушение GPL?

Не могу знать (и никто не может, пока не видит всего, что там творится), но даже если и так, то что с того? У вас что логика вида «если им можно, то почему мне нельзя» что ли?

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

Про LGPL: в случае скриптовых языков имхо любой инклуд является динамической линковкой, и LGPL такой вариант вообще никак не защищает

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

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

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

позиция GPLщиков в том, что код на скриптовом языке программирования является binary, следовательно операции языка программирования типа минификацили или импорта являются линковкой. Также вне зависимости от способа импорта, результат его является производной работой, значит попадает под действие *GPL, и эта производная работа должна уважать *GPL (по-разному в зависимости от типа и версии *GPL)

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

У вас что логика вида «если им можно, то почему мне нельзя» что ли?

У меня логика их программа стала GPL.

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

позиция GPLщиков в том, что код на скриптовом языке программирования является binary, следовательно операции языка программирования типа минификацили или импорта являются линковкой

Ну следовательно вся эта edgeos является GPL и они не могут запретить делать форк. Я же не собираюсь распространять бинарный код с их логотипами, мне форк нужен на x86.

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

1) GPL или LGPL?
2) есть ли примеры, когда происходит связь между собой проприетарного и *GPL кода? Покажи пример: типа вот такой файл А вот этой строчкой импортит файл Б с несовместимой лицензией. Или «вот в этом проприетарном файле есть куски кода который был под свободной лицензией»
3) Уверен ли ты, что создтаель ваты и «коммерческой ваты» - не один и тот же человек? Если один и тот же, ему не нужно уважать лицензию своего старого кода, он может перелицензировать всё что хочет

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

У меня логика [такая]: их программа стала GPL.

Если вы исходите из того, что где-то прямым текстом написано, что вся программа (как она называется-то хотя бы?) доступна на условиях GNU GPL, то еще можно предположить, что несвободную лицензию они просто забыли удалить. Иначе — сфигли бы?

И вообще — чего вы хотите от нас услышать? Пока тут никто ничего не видит, говорить нечего.

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

если компоновка статическая (в случае скриптовых языков это будет - когда ты один файл скопипастил в другой, хз как это в перле, в JS например с помощью Grunt или какого-то минификатора)

Откуда вы это взяли? Компоновка — это соединение модулей программ в об’ектных (машинных) кодах.

то это нарушение LGPL в данном случае

С чего бы?

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

Если вы исходите из того, что где-то прямым текстом написано, что вся программа (как она называется-то хотя бы?) доступна на условиях GNU GPL, то еще можно предположить, что несвободную лицензию они просто забыли удалить. Иначе — сфигли бы?

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

И вообще — чего вы хотите от нас услышать? Пока тут никто ничего не видит, говорить нечего.

Ссылка на код в ответе выше.

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

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

Но запретили же.

Я еще раз спрошу — вы что, считаете, что если они нарушают договор с кем-то третьим, то вам можно нарушить договор с ними?

Ссылка на код в ответе выше.

При случае изучу.

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

Но запретили же.

Запрет нелегален.

Я еще раз спрошу — вы что, считаете, что если они нарушают договор с кем-то третьим, то вам можно нарушить договор с ними?

Ну они много что могут запретить, например размножаться. Отсюда же не следует, что запрет легален?

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

Откуда вы это взяли? Компоновка — это соединение модулей программ в об’ектных (машинных) кодах.

GPL говорит не о «программе в объектных (машинных) кодах», а об object code и corresponding source (и исключение для system libraries, которые являются реализацией standard interface, который создал авторитетный коммитет по стандартизации).

Конкретное описание object code не содержится в *GPL, и отдается на откуп общественному мнению и позиции заинтересованных (в т.ч. FSF/GNU).

Позиция FSF/GNU в том, что так как код на скриптовом языке программирования никуда не компилируется, он и является одновременно и corresponding source И object code.

Еще у них есть несколько комментариев-исключений, например исключение для JavaScript из HTML:https://www.gnu.org/licenses/gpl-faq.html#WMS

Таким образом GPL говорит о линковке не только «объектных (машинных) кодах», но дополнительно к этому и о сыром коде на любом скриптовом языке программирования.

Суд может согласиться как с вашей позицией, так и с позицией FSF/GNU. Если нет юристов, лучше сразу согласиться с позицией FSF/GNU, потому что у них юристы есть ;)

Обходным путем может служить написание LGPL2 обертки, для которой добавлено собственное исключение на линковку с проприетарным кодом (например, как у драйверов nvidia, или classpath exception у джавы).

Или использование связывания с помощью сетевых вызовов по TCP/IP (не считаются кодом), в котором в целях закопиращивания как часть протокола можно использовать пропритарные _данные_. Например, у драйвера Oracle Database там используется какой-то закопиращеный стишок.)

Но конечно, суд может не согласиться с позицией FSF/GNU, например в деле Galoob против Nintendo, суд постановил что для установления связи «производная работа» нужно чтобы «производный» код использовал хотя бы часть «исходного» кода, и просто факт линковки бинарников такую связь не создает, и LGPL не работает в принципе.

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

Запрет нелегален.

Почему? Запрет наложен законом.

Ну они много что могут запретить, например размножаться

Нет.

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

Почему? Запрет наложен законом.

каким законом?

Нет.

Так и GPL они не могут по желанию левой пятки сделать проприентарным.

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

Ссылка на код в ответе выше.

Извините, я не могу там найти того, о чем речь.

Я так понял, что я должен был загрузить ER-e200.v1.9.0.4901118.tar и найти в suaqhfs.tmp в /opt/ что-то с вышеприведенной вами лицензией.

Так вот там ничего с этой лицензией нет.

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

Распакуйте squashfs, внутри есть /opt/vyatta/bin. Есть файлы vyatta*.pl, а есть ubnt*.pl. Вот и сравните их.

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

На Украине — законом «Об авторском праве и смежных правах».

С чего это? Запрет нелегален, т.к. нарушает изначальную лицензию.

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

/opt/vyatta/bin. Есть файлы vyatta*.pl, а есть ubnt*.pl.

По-видимому, я что-то не то загрузил (а именно 7b69a102c0a4dc5dedd5fc7213c059a2 ER-e200.v1.9.0.4901118.tar) — в нем /opt/vyatta/bin/ubnt* нет. Дайте более точную ссылку, пожалуйста.

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

А пардон. /opt/vyatta/sbin/ubnt*

На файлах лицензии вообще нет. Я так понимаю дистрибутивная лицензия на них действует.

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

На Украине — законом «Об авторском праве и смежных правах».

С чего это?

В процессе становления капитализма так сложилось.

Запрет нелегален, т.к. нарушает изначальную лицензию.

В законе нет никаких «изначальных лицензий». Я понимаю, где у вас упущение в рассуждениях — вы полагаете, что ваше естественные права воспроизводить, изучать, изменять и т. д. произведение ограничивает лицензия. Это не так. Лицензия — это *разрешение* (само слово «лицензия» именно это и значит), запретить она ничего не может, запрещает вам закон.

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

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

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

В законе нет никаких «изначальных лицензий». Я понимаю, где у вас упущение в рассуждениях — вы полагаете, что ваше естественные права воспроизводить, изучать, изменять и т. д. произведение ограничивает лицензия. Это не так. Лицензия — это *разрешение* (само слово «лицензия» именно это и значит), запретить она ничего не может, запрещает вам закон.

Начнем с того, что именно у ubiquiti не было права запрещать делать форки. Следовательно лицензия не может быть легальной.

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

/opt/vyatta/sbin/ubnt*
На файлах лицензии вообще нет. Я так понимаю дистрибутивная лицензия на них действует.

Да, надо бы понимать именно так.

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

Вежливо написать и намекнуть им об этом было лучшим началом.

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

Я понял про что ты, я не могу нарушать лицензию, даже если она сама является нарушением. GPL просто является фактом нарушения, а не перелицензирования кода.

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

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

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

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

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

И чтоб это было более очевидно, я и рассказываю, что хотя мы все говорим «нарушить лицензию», это не вполне верно. Нарушить разрешение (= лицензию), согласитесь, довольно сложно, но можно нарушить запрет, наложенный *законом*.

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

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

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

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

Приятно слышать, что есть люди, что относятся к таким вопросам серьезно. (Хотя какой-нибудь адвокат и наоборот пожалеет, что у вас не будет проблем, а значит и ему не будет с вас дохода. :-)

Если же вначале файла нет никакой лицензии, то ты целиком зависишь от интерпретации ситуации судом

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

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

и исключение для system libraries, которые являются реализацией standard interface, который создал авторитетный коммитет по стандартизации

А вот и нет. Вы неправильно прочли. Системная библиотека в смысле актуальных лицензий ГНУ — это *либо* таки системная библиотека в нормальном смысле (библиотека, поставляющаяся с операционной системой, без компоновки с которой программа не будет работать на данной системе), *либо* библиотека, реализующая стандартный интерфейс.

Об’единения условий через «И» там нет, да и не должно быть — это исключение же писалось для того, чтоб программы под GNU GPL на несвободных системах типа Макоси или МС ДОСа можно было запускать — а какие на них стандартные программные интерфейсы.

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

Ночь воскресенья, толксы, срач про лицензии, два анонимуса обсуждают никому не интересные тонкости прочтения по зачину параноика, нашедшего косяки в никому не нужному говнософте =). Всеь лор в одном посте =)

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

Конкретное описание object code не содержится в *GPL

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

«“Object code” means any non-source form of a work».

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

Позиция FSF/GNU в том, что так как код на скриптовом языке программирования никуда не компилируется, он и является одновременно и corresponding source И object code.

Соответственно это ваше понимание «позиции» выглядит весьма странным. Можно точный источник?

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

Обходным путем может служить написание LGPL2 обертки, для которой добавлено собственное исключение на линковку с проприетарным кодом

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

Это же лютейший миф из мифов об авторском леве!

(например, как у драйверов nvidia, или classpath exception у джавы).

Я сейчас не вспомню точно, что там у Энвидии, но classpath exception — это просто исключение из GNU GPL (как Lesser, только специализированное), какие тут обертки?

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

Ночь воскресенья, толксы, срач про лицензии

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

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

Почему же? Мы же обсуждаем, значит нам интересные.

А вообще, возможно это искажение моего восприятия, но у меня складывается впечатление, что ни о чем в Сети не распространено такое количество заблуждений, как об авторском праве, и в особенности авторском леве. Поэтому я позволяю себе здесь дать волю синдрому «в интернете кто-то неправ» (ну или по крайней мере «на ЛОРе...») и не проходить мимо.

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

по зачину параноика, нашедшего косяки в никому не нужному говнософте =).

Я тоже не вполне понял, что это за «Вятта» и кому она сдалась, но если товарищ заинтересовался, значит как минимум ему нужна.

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

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

steemandlinux> Непосредственно в сам GPL код внедрена EULA в виде отдельных файлов. Самостоятельно работать они не могут. Они являются частью программного комплекса вятты.

В этом случае тот,к то модифицировал, или должен сам предоставить соответствующие права, или прекратить распространять продукт, полученный нарушением GPL. Так что форкать - вопрос тот ещё.

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

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

Прямо так, разумеется, нельзя. Но если прослойка Б не компонуется с несвободной программой В, а лишь обменивается информацией — то вполне можно, разве нет?

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

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

То есть можно просто взять несовместимые программы А и В и наладить их взаимодействие. Прослойка Б для этой модели не нужна.

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

Интересен случай, когда «программа А» под сильным авторским левом представляет собой библиотеку.

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

Интересен, но ничего исключительного собою не представляет.

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