vitus_wagner (
vitus_wagner) wrote2011-03-10 01:31 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Entry tags:
Про зловредную libreadline
У
beldmit в журнале обсуждают злобных дебиановцев, которые собрали psql без libreadline потому что readline-вская GPL несовместима с OpenSSL-евской лицензией.
Вообще это далеко не первый случай, когда из-за лицензионных ограничений в программу с собственным командным языком не удается впихнуть libreadline.
И почему-то ни до кого до сих пор не доперло, что вообще-то GPL запрещает что-то с чем-то линковать, но не запрещает запускать как субпроцесс программы с какой угодно лицензией и общаться с ними через пайп, псевдотерминал или что угодно.
Давно бы написали такую универсальную запускалку для программ с собственной командной строкой, с которой можно было бы запускать хоть ftp, хоть оракловый sql-плюс. Ну там пришлось бы правила completion-а для каждого такого приложения отдельно описывать. Но вообще-то много где их и так расширяемым делать приходится.
Нет, с упорством достойным лучшего применения, норовят все обязательно слинковать в один бинарник.
Upd оказывается, полезная программа rlwrap существует. А я и не знал. Надо постгресовским мейнтейнерам предложить вместо всяких глючных libedit просто заворачивать psql в скрипт, запускающий его через rlwrap.
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Вообще это далеко не первый случай, когда из-за лицензионных ограничений в программу с собственным командным языком не удается впихнуть libreadline.
И почему-то ни до кого до сих пор не доперло, что вообще-то GPL запрещает что-то с чем-то линковать, но не запрещает запускать как субпроцесс программы с какой угодно лицензией и общаться с ними через пайп, псевдотерминал или что угодно.
Давно бы написали такую универсальную запускалку для программ с собственной командной строкой, с которой можно было бы запускать хоть ftp, хоть оракловый sql-плюс. Ну там пришлось бы правила completion-а для каждого такого приложения отдельно описывать. Но вообще-то много где их и так расширяемым делать приходится.
Нет, с упорством достойным лучшего применения, норовят все обязательно слинковать в один бинарник.
Upd оказывается, полезная программа rlwrap существует. А я и не знал. Надо постгресовским мейнтейнерам предложить вместо всяких глючных libedit просто заворачивать psql в скрипт, запускающий его через rlwrap.
no subject
Если бинарники друг без друга неработоспособны (и никакой бинарник не является частью операционной системы, рантайма компилятора и всякого прочего, что традиционно поставляется отдельно) - значит код является частью софтины и требует соблюдения лицензий.
Если же без бинарника программа вполне себе, с точки зрения системы, запускается - хотя бы и не делает ничего полезного, а только сыпет сообщениями об ошибках (но своими а не системными) - то это "mere aggregation"с общением по протоколу.
no subject
Т.е. если у меня DHTML приложением будет загружаться javascript приложение-транскодер под лицензией A (которое также имеет библиотеку функций для обеспечения кросплатформенной функциональности), которым уже будут обрабатываться исходники с лицензией B, в результате транслируемые во внутреннее представление в javascript-окружении (и имеющее ссылки на вышеупомянутую библиотеку функций), то лицензии A и B не должны быть совместимы, для того, что бы пользователь не считался нарушителем копирайта(?)...
Интересно, что считается javascript/DHTML программой (запускающейся отдельно)? Соглашения ведь для вызова из командной строки у разных ВМ разные - считается ли, например, eval() таким запуском?
no subject
Если это веб-приложение, запускаемое в браузере то здесь смотрим не на внутреннюю логику его работы, а на логику его распространения. Если оно загружается разом из одного и того же источника, у пользователя просто нет физической возможности (не прибегая к хаку) запускать элементы этого приложения по отдельности, а тем паче в сочетании с другими элементами по своему выбору - то разумеется это одна программа, как бы она ни была внутре устроена.
no subject
no subject
no subject
no subject
А так аналогичная система широко применяется в играх. GPL-код поставляется с небольшим демонстрационным набором уровней, но за полноценную игру надо платить денюжку издателю.
no subject
моя софтина слинкованна с моим плэйсхолдером.
который по символам совпадает с некоей gpl библиотекой.
но поставляю я софтину с плэйсхолдером.
а gpl библиотеку, нуормальную, можно качнуть у меня же с сайта.
или со второго сидюка взять, который всяким gpl-хламом забит, с сырцами и компилированным.
no subject
Ты все равно поставляешь ту же самую программу.
no subject
ну и обратное тоже верно, очень часто.