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

Общественная лицензия Netscape (первоначальный вариант)

Эта статья написана 10—12 марта 1998 года о черновой редакции NPL, доступной на тот момент.


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

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

1. Не все пользователи равны

Первая проблема, которую я заметил в NPL — что лицензия не дает Netscape и нам, остальным, равные права, как это делает GNU GPL. По NPL мы можем пользоваться текстами Netscape только так, как указано в NPL, а Netscape может применять наши изменения как угодно — даже в несвободно лицензированных версиях программы.

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

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

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

Практические следствия этого условия минимальны из-за другого недостатка NPL: она не заключает в себе сильного авторского лева. Другими словами, она не прилагает очень больших усилий, чтобы гарантировать, что модификации, сделанные пользователями, будут доступны как свободные программы.

2. Нет авторского лева

NPL оформлена как авторское лево; в ней явно сказано, что все модификации, внесенные пользователями, должны выпускаться под NPL. Но это относится только к модификациям существующих текстов, а не к добавленным подпрограммам, если они размещаются в отдельных файлах. Практически это значит, что при желании легко внести несвободные изменения: достаточно просто поместить основную массу своего текста в отдельный файл и назвать все это вместе “Более Крупным Произведением”. Выпускать по NPL придется только вызовы функций, добавленные в старые файлы, а они сами по себе будут не очень полезны.

Отсутствие настоящего авторского лева — не катастрофа; это не делает программу несвободной. Например, условия распространения XFree86 даже не пытаются применять авторское лево, и тем не менее программы XFree86 свободны. Программы BSD тоже свободны и без авторского лева, (хотя у старых условий BSD есть важный недостаток, и им не следует подражать — если вы хотите выпускать свободные программы без авторского лева, пользуйтесь, пожалуйста, вместо них условиями XFree86). Программы Netscape тоже могут быть свободными программами без авторского лева.

Однако хотя это не катастрофично, тем не менее это недостаток. А поскольку NPL выглядит как авторское лево, некоторые пользователи могут быть введены в заблуждение и воспользоваться NPL, думая, что они получают выгоды авторского лева по отношению к своим программам, когда на деле это не так. Чтобы избежать таких последствий, нам нужно будет усиленно работать над просвещением людей по этому вопросу, который нелегко объяснить в немногих словах.

3. Неуважение к частной жизни

Следующая проблема в NPL делает ее полностью непригодной: если вы вносите изменение, то вы должны опубликовать его. Вносить изменения исключительно для своего личного пользования не позволено; передавать изменения только немногим знакомым также запрещено.

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

Исправить NPL так, чтобы она уважала эту основную свободу, совершенно необходимо, и наше сообщество должно твердо настаивать на этом. Не стоит жертвовать жизненно важной свободой ради одной дополнительной программы, какой бы полезной и потрясающей она ни была.

4. Несовместима с GPL

В NPL есть еще одна серьезная проблема: она несовместима с GNU GPL. Нельзя сочетать тексты, выпущенные под NPL, с текстами, выпущенными под GNU GPL, в одной программе, даже когда связываются раздельные объектные файлы и библиотеки; независимо от того, как это делается, это нарушит одну или другую лицензию.

Это противоречие возникает, потому что GPL серьезно относится к авторскому леву: она составлена, чтобы гарантировать, что все изменения и расширения свободной программы будут свободны. Таким образом, она не оставляет лазейки для того, чтобы сделать изменения несвободными, поместив их в отдельный файл. Чтобы закрыть эту лазейку, GPL не позволяет связывать программу под авторским левом с программами, у которых есть другие ограничения или условия — такие, как NPL.

Несовместимость с GPL не делает программу несвободной; это не приводит к фундаментальной этической проблеме. Но это может создать серьезную проблему для нашего сообщества, разделив фонд исходных текстов на два корпуса, которые нельзя смешивать. Эта проблема нуждается в практическом разрешении.

Это можно устранить, изменив GPL, но это привело бы к отказу от авторского лева — что принесло бы больше вреда, чем пользы. Но проблему можно решить небольшим изменением в NPL (как именно это сделать, см. ниже).

5. Замечание о названиях

NPL означает “Общественная лицензия Netscape (Netscape Public License)”, но GPL не означает “Общественная лицензия GNU”. Полное название нашей лицензии — “Стандартная общественная лицензия GNU (GNU General Public License)”, сокращенно GNU GPL. Иногда “GNU” опускают и пишут просто “GPL”.

Заключение

Поскольку проблемы 3 и 4 наиболее серьезны, я надеюсь, что люди будут вежливо и разумно объяснять компании Netscape важность их устранения. Был разговор, что Netscape приняла решение устранить проблему 3, но никому не повредит, если вы дадите им знать, что для вас это важно. О планах решения проблемы 4 речи не идет.

Вот один из возможных способов разрешить связывать программы под NPL с программами под GPL. Это можно сделать, добавив в NPL следующие два пункта:

A.1. You may distribute a Covered Work under the terms of the GNU
     General Public License, version 2 or newer, as published by the
     Free Software Foundation, when it is included in a Larger Work
     which is as a whole distributed under the terms of the same
     version of the GNU General Public License.

A.2. If you have received a copy of a Larger Work under the terms of a
     version or a choice of versions of the GNU General Public
     License, and you make modifications to some NPL-covered portions
     of this Larger Work, you have the option of altering these
     portions to say that their distribution terms are that version or
     that choice of versions of GNU General Public License.

(A.1. Вы можете распространять Произведение на условиях Стандартной
      общественной лицензии GNU версии 2 или более новой, в том виде,
      в каком она опубликована Фондом свободного программного
      обеспечения, когда она включается в Более Крупное Произведение,
      которое в целом распространяется на условиях той же самой версии
      Стандартной общественной лицензии GNU.

 A.2. Если Вы получили копию Более Крупного Произведения на условиях
      одной из версий Стандартной общественной лицензии GNU (или
      нескольких версий по выбору) и Вы вносите изменения в некоторые
      части этого Более Крупного Произведения, распространяемые по
      NPL, то при желании Вы можете изменить эти части, чтобы в них
      было сказано, что условиями их распространения является та
      версия Стандартной общественной лицензии GNU (или набор версий
      по выбору).
)

Это позволяет сочетать тексты под NPL с текстами под GPL и распространять объединенное произведение на условиях GNU GPL.

Это разрешает людям выпускать модификации таких объединенных произведений на условиях GNU GPL — но легче всего их выпускать под NPL.

Когда люди пользуются пунктом A.2, их изменения будут выпускаться только на условиях GNU GPL; эти изменения не будут доступны Netscape для применения в несвободных версиях. Разумеется, компанию Netscape это не порадовало бы.

Однако NPL дает разработчикам несвободных программ простой способ сделать их изменения полностью недоступными для Netscape: поместить их в отдельные файлы и назвать все это вместе “Более Крупным Произведением”. На самом деле для них это проще, чем воспользоваться пунктом A.2 для пользователей GPL.

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