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

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

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

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

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

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

Date: 2011-03-10 11:36 am (UTC)
allter: (Default)
From: [personal profile] allter
Ну, совместимость свободных лицензий - это давняя песня, я просто отвечал на предположение [livejournal.com profile] beldmit.

Кстати, при написании предыдущего коммента стало любопытно, считается ли линковка путём IPC с маршаллингом (т.е. когда линкуемый код находится в другом процессе-песочнице операционки или компартменте (например, в грин-треде/сопрограмме) в рамках того же самого процесса) линковкой в терминах GPL? Я просто тут для развлечения подумал, как виртуализовывать DHTML средствами DHTML, а о лицензионных вопросах только сейчас задумался.

Date: 2011-03-10 12:16 pm (UTC)
From: [identity profile] lqp.livejournal.com
Это зависит не от того как код выполняется внутре себя, а от того как он распространяется.

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

Если же без бинарника программа вполне себе, с точки зрения системы, запускается - хотя бы и не делает ничего полезного, а только сыпет сообщениями об ошибках (но своими а не системными) - то это "mere aggregation"с общением по протоколу.

Date: 2011-03-10 12:36 pm (UTC)
allter: (Default)
From: [personal profile] allter
Понятно, я так это себе абстрактно и представлял, просто очень уж давно читал сами лицензии и комментарии к ним.

Т.е. если у меня DHTML приложением будет загружаться javascript приложение-транскодер под лицензией A (которое также имеет библиотеку функций для обеспечения кросплатформенной функциональности), которым уже будут обрабатываться исходники с лицензией B, в результате транслируемые во внутреннее представление в javascript-окружении (и имеющее ссылки на вышеупомянутую библиотеку функций), то лицензии A и B не должны быть совместимы, для того, что бы пользователь не считался нарушителем копирайта(?)...

Интересно, что считается javascript/DHTML программой (запускающейся отдельно)? Соглашения ведь для вызова из командной строки у разных ВМ разные - считается ли, например, eval() таким запуском?

Date: 2011-03-10 10:46 pm (UTC)
From: [identity profile] lqp.livejournal.com
Очень плохо понял. Я так догадываюсь, все это не на локалхосте будет работать и не на сидюках рассылаться потребителям?

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

Date: 2011-03-11 08:13 pm (UTC)
allter: (Default)
From: [personal profile] allter
Не совсем так: загружаемая пользователем страничка (A) у меня, по сути, будет виртуальной машиной для javascript-кода c JIT компиляцией в хостовое javascript окружение в браузере пользователя, в которую по требованию пользователя будет загружаться сторонний javascript код (B) вместе с зависимостями (под другой лицензией, потенциально, несовместимой с лицензией ВМ [A]).

Date: 2011-03-17 01:24 pm (UTC)
From: [identity profile] lqp.livejournal.com
Давайте вы расскажете все-таки, не как оно внутре устроено, а что оно делает. Каковы его функции?

Date: 2011-03-10 12:45 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
т.е. надо поставлять отдельно либу-затычку-плэйсхолдер с GPL и функциональную не-GPL отдельно.

Date: 2011-03-11 05:05 pm (UTC)
From: [identity profile] lqp.livejournal.com
Не совсем. Если ты распространяешь проприетарную софтину, слинкованную с GPL-библиотекой (не твоей), ты не можешь (во всяком случае в то же время и тем же людям) распространять саму GPL-библиотеку.

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

Date: 2011-03-11 05:11 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
не понимаю.
моя софтина слинкованна с моим плэйсхолдером.
который по символам совпадает с некоей gpl библиотекой.
но поставляю я софтину с плэйсхолдером.

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

Date: 2011-03-17 01:25 pm (UTC)
From: [identity profile] lqp.livejournal.com
Какая разница, поставляешь ты программу на одном сдюке или на двух.

Ты все равно поставляешь ту же самую программу.

Date: 2011-03-17 01:29 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
gpl-хлам обычно целиком болванку забивает, под программу места уже не останется.

ну и обратное тоже верно, очень часто.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

July 2025

S M T W T F S
  12345
6789 1011 12
13141516171819
20212223242526
2728293031  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 15th, 2025 07:53 am
Powered by Dreamwidth Studios