Ричард Столлмен Richard Stallman
Сергей Короп (пер. с англ.)
(оригинальная версия этой статьи была написана в марте 1998 г. о предварительном варианте NPL. Нашей первой статьей на эту тему была "Netscape намеревается сделать свой навигатор свободной программой".)
Общественная Лицензия Netscape (Netscape Public License или NPL), как она была окончательно разработана в 1998 г, является свободной лицензией, но имеет три основных недостатка. Первый содержит неудачный идеологический подтекст, второй ставит сообщество свободного ПО в неустойчивое положение, а третий создает главную практическую проблему внутри нашего сообщества. Два из этих недостатков также характерны и для Mozilla Public License. Вследствие этого, мы советуем вам не использовать NPL либо MPL для ваших свободных программ.
Первая проблема, которую я заметил в NPL, состоит в том, что она не дает Netscape и всем нам равные права, как это делает GNU GPL. Согласно NPL, мы можем использовать код Netscape только на условиях NPL, в то время, как Netscape вправе пользоваться нашими модификациями произвольно, даже в собственнических лицензированных версиях программ.
Эта проблема незначительна, поскольку не делает программу несвободной. Она не запрещает нам распространение программы либо ее доработку, нас не лишают ни одной конкретной свободы. С чисто прагматической точки зрения, она может вообще не считаться проблемой.
Проблема кроется в глубине этого соглашения. Она сводит на нет идею равноправного сотрудничества, на которой основывается наше сообщество, и подразумевает, что работа над свободной программой может означать взнос в программу собственническую. Те, кто примут это условие, вероятно, изменятся под его влиянием, и такое изменение не сделает нас сильнее.
Одним предложенным решением этой асимметрии будет наложить временные ограничения--скажем, аннулировать привилегию спустя три-пять лет. Это будет существенным улучшением, поскольку временные рамки устранят возможность нежелательного развития событий.
Практический эффект этого условия минимизируется другим недостатком NPL: она не подвергалась тщательной проработке, чтобы удовлетворять идее "авторского лева". Другими словами, она не прикладывает никаких усилий, чтобы гарантировать доступность модификаций, сделанных пользователями, как свободного ПО.
Лицензия MPL (Mozilla Public License) не имеет такой проблемы. В этом принципиальное отличие MPL и NPL.
NPL имеет форму "авторского лева"; она явно указывает, что все модификации, сделанные пользователями, должны распространяться на условиях NPL. Но это относится только к модификациям существующего кода, но не к добавленным подпрограммам, если они размещены в отдельных файлах. На практике это значит, что при желании легко сделать модификации собственническими: достаточно поместить ваш код в отдельный файл и назвать конечный продукт Большей Работой (Larger Work). Только вызовы подпрограмм, добавленные в старые файлы, обязаны подчиняться условиям NPL, а сами по себе они не будут очень полезны.
Отсутствие реального "авторского лева" не катастрофа; это не делает программу несвободной. К примеру, условия распространения XFree86 вообще не пытаются использовать "авторское лево", но тем не менее XFree86 является свободной программой. BSD также является свободным ПО, не подчиняющимся "авторскому леву" (несмотря на то, что лицензия BSD имеет серьезные упущения и не желательна для подражания--если вы желаете выпустить свободную программу, не пользуясь "авторским левом", пожалуйста, используйте вместо нее лицензию XFree86). Программы, лицензированные посредством NPL, также считаются свободными, хотя и не пользуются "авторским левом", и это само по себе не делает NPL хуже других лицензий на свободное ПО, не являющихся "авторским левом".
Тем не менее, хотя это не катастрофа, это все же недостаток. Поскольку NPL напоминает "авторское лево", некоторые пользователи могут впасть в заблуждение и применить ее для своих программ, думая, что наделяют их преимуществами "авторского лева", в то время, как это не так. Чтобы устранить такую возможность, нам придется серьезно поработать и разъяснить обществу этот вопрос, который не так прост, чтобы хватило пары слов.
Самая серьезная практическая проблема NPL в том, что она несовместима с GNU GPL. Невозможно сочетать NPL-код и GNU GPL-код вместе в одной программе, даже путем компоновки различных объектных файлов и библиотек; каким бы путем это ни делалось, будет нарушаться то одна, то другая лицензия.
Этот конфликт возникает потому, что GPL твердо соблюдает "авторское лево", она специально была разработана, чтобы гарантировать свободу всех модификаций и расширений свободных программ. Поэтому в ней нет скрытой возможности делать изменения в программе собственническими, просто помещая их в отдельный файл. Чтобы ликвидировать такую "дыру", GPL не разрешает компоновку программы, защищенной "авторским левом", с кодом, который имеет другие ограничения или условия, такие как предлагает NPL.
Несовместимость с GPL не делает программу несвободной, не затрагивает базовых этических принципов. Но это дает повод ожидать возникновения в нашем сообществе серьезной проблемы: разделения наработанного кода на две группы, которые нельзя смешивать. На практике эта проблема очень важна.
Найти компромисс изменяя GPL возможно, но это может повлечь за собой отказ от "авторского лева", что принесет больше вреда, чем пользы. Но вполне реально добиться соглашения путем небольших изменений NPL. (Ниже представлены конкретные предложения.)
NPL означает Netscape Public License, в то время, как GPL не расшифровывается, как GNU Public License. Полное название нашей лицензии GNU General Public License, сокращенно--GNU GPL. Иногда слово ``GNU'' пропускается и пишется просто GPL.
(Это не проблема, а лишь факт, который вам следует знать.)
Поскольку проблема 3 наиболее серьезна, я надеюсь, что люди будут вежливо и обоснованно разъяснять Netscape важность ее решения. Это возможно, требуется лишь согласие со стороны компании.
Вот возможный путь разрешить компоновку 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.
В переводе (использованная терминология не является общепринятой, если Вам известен официальный перевод NPL на русский, пожалуйста, сообщите мне об этом --Прим. перев.):
A.1. Вы имеете право распространять Объект Лицензирования (Covered Work) на условиях GNU General Public License, версия 2 либо новее, как она опубликована Free Software Foundation, когда этот Объект включается в Большую Работу (Larger Work), которая целиком распространяется с той же версией GNU General Public License. A.2. Если вы получили копию Большей Работы на условиях версии либо набора версий GNU General Public License, и вы модифицируете некоторые фрагменты Большей Работы, защищенные NPL, вам предоставляется возможность поместить ваши модификации под действие GNU General Public License той же версии либо набора версий.
Это позволит комбинировать код, защищенный NPL и GPL, и распространять результирующую работу на условиях GNU GPL.
Люди будут иметь возможность выпустить свои модификации такого комбинированного продукта на условиях GNU GPL, в то время, как проще всего будет выпустить их с NPL.
Когда общество реализует преимущества пункта A.2, модификации будут распространяться только на условиях GNU GPL; так что они не будут доступны Netscape для использования в собственнических проектах. Вполне возможно, что Netscape признает это неприемлемым.
В то же время, NPL оставляет разработчикам собственнических программ легкий путь сделать свои модификации вообще недоступными для Netscape--просто поместить свой код в отдельный файл и назвать все вместе "Большей Работой". Фактически, им это легче сделать, чем пользователям GPL--применить пункт A.2.
Если Netscape не пугают проблемы (легко осуществимых) собственнических модификаций, вероятно, ущерб от изменений на условиях GPL сравнительно невелик. Если Netscape верит, что практические соображения вынудят большинство собственнических разработчиков возвращать плоды своих трудов самой Netscape без всякого к тому принуждения, те же причины должны быть признаны справедливыми и для мира свободных программ. Netscape следует признать, что предлагаемые изменения приемлемы, и принять их, дабы предотвратить серьезную дилемму, перед которой могут очутиться разработчики свободных программ.
Вопросы о деятельности FSF и проекте GNU направляйте по адресу gnu@gnu.org, либо свяжитесь с FSF иным способом.
Внимание! Эта страница НЕ поддерживается FSF, который не несет никакой ответственности за ее содержание и/или оформление.
Бета-версия! Эта предварительная версия перевода может в дальнейшем подвергаться изменениям. Если Вы заинтересованы в ее публикации, сообщите об этом, и я вышлю Вам по окончании работы готовую версию. Если у Вас есть конструктивные замечания по стилю и качеству перевода---пишите.
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
© 2000 Перевод на русский язык: Сергей Короп
<svk@lib.ru>.
Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Перевод выполнен по версии статьи от 23 апреля 2000.