vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2011-03-10 01:31 pm

Про зловредную libreadline

У [livejournal.com profile] beldmit в журнале обсуждают злобных дебиановцев, которые собрали psql без libreadline потому что readline-вская GPL несовместима с OpenSSL-евской лицензией.

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

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

Давно бы написали такую универсальную запускалку для программ с собственной командной строкой, с которой можно было бы запускать хоть ftp, хоть оракловый sql-плюс. Ну там пришлось бы правила completion-а для каждого такого приложения отдельно описывать. Но вообще-то много где их и так расширяемым делать приходится.

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

Upd оказывается, полезная программа rlwrap существует. А я и не знал. Надо постгресовским мейнтейнерам предложить вместо всяких глючных libedit просто заворачивать psql в скрипт, запускающий его через rlwrap.
sergey_cheban: (Default)

[personal profile] sergey_cheban 2011-03-10 02:00 pm (UTC)(link)
Вот есть у нас exe, и есть исходники от него. Одна часть исходников - OpenSSL, она требует ссылки на OpenSSL в документации, и эту ссылку, по условиям лицензии, никак нельзя оторвать. Другая часть - GPL. Она требует, чтобы всё, что с ней слинковано, распространялось на условиях GPL. То есть - без требований ссылок в документации. GPL - "вирусная" лицензия, она "заражает" весь код, который слинкован с чем-нибудь GPL'ным. А OpenSSL содержит требование, не позволяющее менять лицензию.

Что характерно, GPLv3 несовместима с GPLv2 по той же самой причине: каждая из них пытается подмять весь код под себя, и каждая - не даёт менять лицензию на свой код.