LINUX.ORG.RU
ФорумTalks

Лицензия, запрещающая распространение софта в бинарном виде

 , ,


0

3

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

Есть такое в готовом виде?

Перемещено leave из development

Ответ на: комментарий от beastie

С подобной лицензией твой код дальше localhost всё равно не пойдёт.

Проблемы с попаданием в репозитории source-based диструбутивов не должно быть. А это уже что-то. А если софт будет действительно интересен, тогда бы это могло поднять популярность таких дистрибутивов. Это было бы как с эксклюзивами на консолях.

Вопрос носит чисто теоретический характер.

Nietzsche ()

Любой скриптовый язычок, практически ...

А так, только если привязку делать к аппаратной конфигурации пользователя ...

Наконец, реализация как модуль ядра ;)

anonymous ()

Шутка для понимающих. А вообще это DRM наоборот. Кросс-компил запрещён? Компилирование на кластере? Компилирование на NFS-диске?

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

И им ты не сдался. Т.к. surprise! И у source-based есть бинарные пакеты.

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

А вообще это DRM наоборот.

Именно. Добрый DRM.

Кросс-компил запрещён?

Разрешен, если бинарь будет использоваться на той же машине, где его компилили - под эмулятором, например. Но для мобайл версии придется тащить компилятор на устройство.

Nietzsche ()

Так это же что-то типа zfs on linux. Нужно, чтобы твой код был под лицензией не совместимой с gpl, и линковался с gpl кодом. Такое можно распространять только в исходниках :)

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

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

Не взлетит.

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

Идея может и не плохая, но продумайте реализацию, а то мне как то от написанного в треде стало не удобно и не уютно.

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

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

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

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

Согласен. Именно так изначально и задумывалось. Для себя можно кросс-компилить, но при распространении на другие (не свои) мобильные устройства, например через App Store - только сборка на самом устройстве.

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

Не взлетит.

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

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

Если по каким-либо причинам такая лицензия приглянется другим разработчикам

Ага, а если по каким-то причинам велосипед со встроенными палками в колесах приглянется велосипедистам...

Ты упоролся, иди проспись чутка.

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

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

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

Кстати, подобные «палки в колесах» и есть причина того, почему у каждой корпорации свой велосипед и специальная велосипедная дорожка, по которой этот велосипед может ездить (Java, ObjC/Swift, C#, JS/HTML5, etc...).

Nietzsche ()

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

Это самопротиворечивое желание. Лицензия с таким условием несвободна.

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

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

Лицензия с таким условием несвободна.

С таким подходом и GPL трудно назвать свободной лицензией.

Бинарный формат имеет всем известные недостатки, даже если к нему прилагаются сорцы. Пользователям приходится идти на определенный риск запуская бинари. Приходится доверять релизеру бинарного файла, его хостинг компании, провайдеру хостинг компании, спецслужбе страны, в которой находится этот хостинг/провайдер/релизер. Да, существует цифровая подпись специально для людей, которые беспокоятся по этому поводу, но и она не дает гарантии. Есть и другие причины несвободы этого формата, к примеру, зависимость от архитектуры процессора, расширений процессора (например AVX2), которые могут быть у пользователя, но релизер не будет их включать при компиляции, чтобы файл работал на максимально возможном числе машин. То есть про оптимизацию можно забыть, если не заниматься сборкой самому.

Nietzsche ()

Буду брать твой код, компилить и раздавать всем всем всем.

Юридический адрес даже дам, для вызова в суд.

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

Один из плюсов жизни в стране, исповедующей правовой нигилизм (большинство стран постсовка).

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

С таким подходом и GPL трудно назвать свободной лицензией.

Нет. «Свободный» — это термин, а не оценка «мне нравится». GNU GPL удовлетворяет определению этого термина, ваша гипотетическая лицензия — не удовлетворяет. Надо об’яснять почему так, а не наоборот? Потому что изобрел концепт «свободной программы» и написал [первую] лицензию GNU один и тот же человек, и это были не вы.

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

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

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

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

Большинство свободных лицензий имеет ряд ограничений, но все же они продолжают называться свободными. Предложенный мной вариант лицензии дает больше свободы для индивида, но меньше свободы для корпораций с их программными экосистемами. Пользователь свободен собрать программу с теми оптимизациями, которые считает нужными. Он в праве распространять исходники программы вместе с Make-файлом/build-скриптом, который он считает полезным. По-моему, звучит вполне свободно, но я могу упускать какой-то ньюанс в определении «свободный» по версии GNU.

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

Проблемы с попаданием в репозитории source-based диструбутивов не должно быть.

Есть. Мейнтейнеры не будут с этим связываться.

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

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

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

приглянется другим разработчикам

Слава макаронному монстру, большинство других разработчиков более адекватны.

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

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

Пользователь может скачать исходник и собрать самостоятельно, если хочет.

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

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

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

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

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

Кому надо, те это и так делают (и имеют параллельно бинарные пакеты). Хватит переизобретать ports. Второй подобный пример — это brew.

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

Во-первых готового нет.
Во-вторых не переборщи, запрещать пользоваться без сборки на том же устройстве это брехня. Максимум стоит запрещать пользоваться не на своём устройстве. Компиляция и запуск бинаря не должны и часто не могут происходить на одной и той же железке. Это банально не эффективно и не удобно.

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

Это не свобода, это завуалированная дискриминация по признаку корпоративности. Не обманывай себя, ты это делаешь не ради свободы, а из зависти и от жадности.

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

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

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

Опять же, никто не запрещает использовать билд-скрипты, которые будут упрощать установку софта.

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

Довольно много «свободного» софта тянет за собой зависисмости, не всем из которых лицензия позволяет статически линковаться с кем попало.

Никто не мешает сделать пакет, в который будут включены эти библиотеки в виде .so и написать запускалку, которая будет выставлять правильный LD_LIBRARY_PATH.

Тем более, где ты видел такие лицензии? Я знаю только лицензии, которые запрещают статически линковаться с софтом под несовместимыми и несвободными лицензиями. [EDIT: исправил одно слово] Точнее не запрещают, а разрешают использовать библиотеку в проприетарной программе при условии динамического связывания.

В LGPL такое ограничение служит, опять же, для обеспечения свободы пользователей: хотя автор библиотеки идёт на компромисс и разрешает проприетарщикам использовать его софт (и тем самым, с точки зрения FSF, ограничивать свободу пользователей), они всё же должны обеспечить пользователям возможность использовать другую версию библиотеки или вообще другую библиотеку, совместимую по интерфейсу (то есть все возможности относительно самой библиотеки должны сохраняться).

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

И GPL[,] и твою [Nietzsche] правильнее называть «открытой»[,] а не «свободной»

Не путайте. И GNU GPL, и проект т. Ницше, а также, к примеру, WTFPL и Adobe Flash EULA, безусловно абсолютно правильно называть открытыми лицензиями — то есть лицензиями, выданными неопределенному кругу лиц. Однако это никак не отменяет того, что GNU GPL и WTFPL еще и свободны, а проект т. Ницше и Adobe Flash EULA — несвободны.

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

Разрешен, если бинарь будет использоваться на той же машине, где его компилили - под эмулятором, например. Но для мобайл версии придется тащить компилятор на устройство.

Тогда эта лицензия будет несвободная.

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

По-моему, звучит вполне свободно, но я могу упускать какой-то ньюанс в определении «свободный» по версии GNU.

В определении свободной программы целый абзац этому посвящен:

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

В дебиановской генеральной линии в отношении свободных программ (DFSG) также ясно сказано, что «The program must include source code, and must allow distribution in source code as well as compiled form».

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

Хорошо, я не прав в контексте определений данных законодательством и FSF.
Вот кто бы мог подумать, что «открытость» и «свобода» относится не к тому что распространяется под лицензией, а к самой лицензии!
Как тут не перепутать…

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

Разрешен, если бинарь будет использоваться на той же машине, где его компилили - под эмулятором, например. Но для мобайл версии придется тащить компилятор на устройство.

Тогда эта лицензия будет несвободная.

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

Для себя можно кросс-компилить, но при распространении на другие (не свои) мобильные устройства, например через App Store - только сборка на самом устройстве.

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

Тогда моя лицензия будет называться «суперсвободной»™, т.к. она несет свободу даже туда, где её нет. К примеру, захочет эппл использовать софт распространяемый под суперсвободной™ лицензией, тогда ему придется тащить свободное окружение на каждый девайс, чтобы собрать этот софт. Разве не прелесть?

А GNU запатентовало термин «свободная лицензия» на на всех языках или это каcается только словосочетания «free software license»™?

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

Вот кто бы мог подумать, что «открытость» и «свобода» относится не к тому что распространяется под лицензией, а к самой лицензии!

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

А что до «свободной лицензии», то Фонд СПО действительно всячески избегает оборота «free license», предпочитая «free software license» везде, где это осмысленно. Но ничего дурного кроме, я полагаю, пресловутой неоднозначности английского «free» в нем нет — там, где «software» по смыслу не вставляется, «свободная лицензия» пишут и в ФСПО (а уж другие и подавно). В русском же языке, где со словом «свободный» никаких проблем нет, его точно незачем избегать.

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

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

А яблочники говорили что можно, но только нужна Xcode... В Windows Phone тоже можно до семи приложений откуда угодно поставить, вроде.

Но лицензия похоже всё равно будет несвободной считаться.

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

А GNU запатентовало термин «свободная лицензия» на на всех языках или это каcается только словосочетания «free software license»?

Если вы серьезно, то Фонд СПО / Проект GNU — они как бы не копирасты, и за товарный знак не регистрировали даже собственно «GNU». Полагаются исключительно на собственный авторитет и людскую порядочность, а не на принуждение. И пока эти тридцать лет в целом успешно — альтернативных пониманий «свободных программ» (кроме отличающегося парой технических моментов дебиановского) не появилось; напротив — независимо от ФСПО понимание слова «свободный» расширилось до «свободного произведения» в целом (Copyleft Attitude, Wikimedia, Creative Commons — вот это все), сохранив при этом изначально заложенный в него дух.

К слову, рэймондовская контора под названием «Open Source Initiative®» пыталась на полном серьезе монополизировать слова «open source» через регистрацию товарного знака — их послали.

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

Столлману напиши, чтобы скооперироваться. Старик такое любит.

anonymous ()

Вероятность скомпилить бинарник так, чтобы он на любом линуксе запускался, стремится к нулю. Разве что ты жабку какую пользуешь...

Eddy_Em ☆☆☆☆☆ ()

Есть такое в готовом виде ?

qmail license, если склероз не изменяет.

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

Крайне нужно. Я всеми руками и ногами за. Но могу лишь посоветовать тебе набросать свою EULA на основе GPL с добавлением пунктика «запрещается распространять данное ПО в бинарном виде, в т.ч. в составе пакетов бинарных дистрибутивов» и попросить доброго дядю Столлмана в GPLv4 включить такие слова. Тогда заживем!!!

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

Надо будет на досуге подрихтовать правильно текст GPL и все свои новые велосипеды снабжать именно этой лицензией.

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