Интересное про GNU-лицензию

Осторожно, на нерусском языке.

http://www.red-sweater.com/blog/825/getting-pretty-lonely

Краткое содержание: разработчики WordPress после консультаций с юристами Free Software Foundation объявили, что темы и плагины Вордпресса автоматически подпадают под действие GNU-лицензии. Даниэль Джалкут, разработчик софта для работы с WordPress под Mac OS, критикует это решение и саму GNU-лицензию.

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

Это называется «вирусной природой» (viral nature) GNU-лицензии. Если обнаруживается, что GNU-код используется совместно с кодом под другой лицензией, то дело может дойти до судебного разбирательства. Единственным «нормальным» выходом является лицензирование «производного» проекта под GNU-лицензией.

Возникает, правда, два вопроса — что такое «изменение оригинального кода» и что такое «распространение». Фанаты GNU-лицензии считают, например, что плагины для GIMP (GNU Image Manipulation Program, или УАФДК — ущербный аналог фотошопа для красноглазиков) должны удовлетворять ее требованиям — ведь они представляют собой модификацию кода GIMP.

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

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

1. GNU и аналогичные. Изменения можно распространять только на тех же условиях.

2. «Очень свободные» лицензии — BSD/MIT/Apache. Лицензированное таким образом ПО можно распространять на любых условиях с обязательным указанием авторов оригинальной разработки.

3. Лицензии с закрытыми исходниками.

Точно так же можно разделить на категории разработчиков.

1. «Идейные» сторонники GNU.

2. Просто разработчики, которых не волнуют проблемы лицензирования.

3. «Идейные» сторонники закрытых исходников.

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

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

Якобы «свободная» GNU-лицензия на самом деле является такой же «запрещающей» лицензией, как и любая лицензия, к примеру, для ПО с закрытыми исходниками. «Свобода» GNU-лицензии модифицировать исходники по своему усмотрению — свобода чисто мнимая. Фактически, она ограничивает права разработчиков по простому зарабатыванию денег на собственном коде. Использовав в программе любой, даже самый малозначительный GNU-модуль, разработчик оказывается в заложниках этой лицензии.

Довольно нетрудно, кстати, представить такую ситуацию. Думаю, очень многие программисты когда-либо изучали какие-нибудь программы, распространяющиеся по GNU-лицензии. К примеру, специалист по сжатию видео мог изучить какой-нибудь «свободно распространяемый» кодек. Затем, работая в какой-нибудь компании, занимающейя разработкой своего, коммерческого, кодека, он вносит какие-то изменения, отдаленно напоминающие тот самый «свободный» кодек. Затем — все очень просто. Free Software Foundation подает на компанию в суд, мотивируя это тем, что в коммерческой программе использованы части GNU-кода. Фактически, если какая-то технология реализована в GNU-программе, то ее дальнейшее использование в коммерческих инструментах блокируется лицензией не менее эффективно, чем в случае «коммерческой» реализации. Кстати, именно поэтому в американских университетах все разработки в области Computer Science лицензируются по «очень свободным» BSD или MIT-лицензиям.

Если это кому-то кажется бредом — напомню, что Microsoft выиграла несколько процессов по поводу «нарушения NDA». Суть — точно такая же, программист, ранее видевший (просто видевший!) исходники богомерзкой венды, работая в другой компании, якобы использовал в «чужих» продуктах код за авторством мелкомягких. Что мешает FSF поступить так же — не знаю, но крайности, как говорится, сходятся.

К счастью, как это убедительно доказывает [info]infowatch, «вирусная природа» GNU-лицензии противоречит российскому законодательству. Поэтому у нас можно демонстративно подтираться не только «несвободной» лицензией, к примеру, на продукты Microsoft, но и «свободной» GPL. С чем я всех и поздравляю!

PS Кстати, наше Минобороны нарушает условия GNU-лицензии. На минобороновских ПК используется, по слухам, модифицированный RedHat Linux, но исходники ОС хранятся в строжайшем секрете. Единственная причина, по которой FSF не судится с МО РФ — это то, что в случае судебной тяжбы вся нелицензионная продукция прилетит, приплывет и приползет в Америку своим ходом.

PPS Завтра будет пост про Windows 7, хвалебный конечно, так что готовьте свои шайзеверферы.

Интересное про GNU-лицензию: 5 комментариев

  1. Слышал мнение насчёт МСВС (тот самый модифицированный RedHat Linux), что GPL не нарушается, так как модифицированный код используется в пределах модифицировавшей его организации, т.е. самой Минобороны.

  2. объясни мне парадокс: почему ты не материшься в собственном журнале, но раз за разом матом пресекаешь мои попытки тебя разбанить?

  3. Фактически, если какая-то технология реализована в GNU-программе, то ее дальнейшее использование в коммерческих инструментах блокируется лицензией не менее эффективно, чем в случае “коммерческой” реализации.

    Автор не отличает технологию от кода? :)

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *