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

Почему выражение “свободные программы” лучше, чем “открытый исходный текст”

Эта статья была серьезно переработана в статью Почему ‘открытый исходный текст’ не передает понятия ‘свободная программа’, которая гораздо лучше. Мы сохраняем эту версию по историческим причинам.


Хотя свободные программы под любым другим названием дали бы вам ту же самую свободу, очень важно, какое название мы употребляем: разные слова передают разные мысли.

В 1998 году в сообществе свободного программного обеспечения некоторые стали употреблять термин “программы с открытым исходным текстом” вместо термина “свободные программы” для описания того, чем они занимаются. Термин “открытый исходный текст” быстро стал ассоциироваться с другим подходом, другой философией, другими ценностями и даже другим критерием приемлемости лицензий. Сегодня движение за свободное программное обеспечение и движение за открытый исходный текст — два отдельных движения с разными взглядами и целями, хотя мы можем работать и работаем вместе над некоторыми практическими проектами.

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

Связь между движением за свободное программное обеспечение и движением за открытый исходный текст

Движение за свободное программное обеспечение и движение за открытый исходный текст — как два политических лагеря внутри сообщества свободного программного обеспечения.

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

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

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

Поэтому упоминайте, пожалуйста, о движении за свободное программное обеспечение, когда вы говорите о работе, которую мы выполнили, и о программах, которые мы разработали — например об операционной системе GNU/Linux.

Сопоставление терминов

В остальной части статьи сравниваются два термина — “свободные программы” и “открытый исходный текст”. Объясняется, почему термин “открытый исходный текст” на самом деле не решает никаких проблем, а создает их.

Неоднозначность

У термина “свободная программа” есть проблема неоднозначности: непреднамеренное значение “программа, которую вы можете получить по нулевой цене” подходит под этот термин так же, как подразумеваемое значение “программа, которая дает пользователю определенные свободы”. Мы решаем эту проблему, публикуя более точное определение свободных программ, но это не идеальное решение; оно не может полностью устранить проблему. Однозначный корректный термин был бы лучше, если бы он не заключал в себе других проблем.

К сожалению, у всех альтернатив в английском языке есть свои проблемы. Мы рассмотрели многое из того, что нам предлагали, но ничто не было так явно “правильно”, чтобы переход на это был бы хорошей идеей. У каждой предлагавшейся замены термина “свободная программа” в лучшем случае есть семантическая проблема подобного рода или даже хуже — в том числе и у “открытого исходного текста”.

Официальное определение “программы с открытым исходным текстом” в том виде, в каком оно опубликовано Инициативной группой открытого исходного текста, очень близко к нашему определению свободной программы; однако оно несколько более свободно в некоторых отношениях, и они приняли несколько лицензий, которые мы считаем недопустимо жесткими для пользователей. Однако очевидное значение выражения “программа с открытым исходным текстом” — “вы можете смотреть на исходный текст”. Этот критерий намного слабее, чем определение свободной программы; ему соответствуют свободные программы, но также и некоторые несвободные программы, в том числе Xv и Qt под первоначальной лицензией (до перехода на QPL).

Это наивное толкование “открытого исходного текста” не означает того, что подразумевают его защитники. Это приводит к тому, что большинство людей неверно понимают, за что выступают эти защитники. Вот как писатель Нил Стефенсон определил “открытый исходный текст”:

“Linux — это программа с ‘открытым исходным текстом’, что попросту означает, что каждый может получить копии файлов исходного текста”.

Я не думаю, что он преднамеренно стремился отвергнуть или оспорить “официальное” определение. Я полагаю, он просто применил правила английского языка, чтобы получить смысл термина. Штат Канзас опубликовал сходное определение:

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

Конечно, сторонники открытого исходного текста пытались бороться с этим, опубликовав точное определение термина, точно так же, как мы сделали это для “свободных программ”.

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

Боязнь свободы

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

Несколько лет назад разработчики свободных программ заметили последствия этого дискомфорта, и некоторые из них стали искать пути избежать его. Они поняли, что умалчивая об этике и свободе и говоря только о немедленных практических выгодах определенных свободных программ, они могли бы более эффективно “всучивать” эти программы определенным пользователям, особенно предпринимателям. Термин “открытый исходный текст” предлагается как способ сделать этого больше — способ быть “более приемлемыми для деловых кругов”. Взгляды и ценности движения за открытый исходный текст основаны на этом решении.

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

Рано или поздно этих пользователей пригласят вернуться назад к несвободным программам ради какой-нибудь практической выгоды. Бесчисленные компании стремятся предложить такое искушение. В каком случае пользователи будут отказываться? Только если они научились ценить свободу, которую им дают свободные программы, ради самой свободы. Наша задача — разнести эту мысль,— и чтобы сделать это, нам необходимо говорить о свободе. Подход “умалчивания” по отношению к предпринимателям в определенной мере может быть полезен для сообщества, но разговоры о свободе должны быть в избытке.

В настоящее время у нас избыток первого и недостаток второго. Большинство из тех, кто связан со свободными программами, мало говорит о свободе — обычно потому, что они стремятся быть “более приемлемыми для предпринимателей”. В особенности это характерно для поставщиков программ. Некоторые дистрибутивы операционной системы GNU/Linux добавляют несвободные программы к основной свободной системе и приглашают пользователей рассматривать это как достоинство, а не шаг назад от свободы.

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

Если те, кто пользуется термином “открытый исходный текст”, привлекают больше пользователей в наше сообщество, это полезно, но остальным из нас нужно еще больше работать, чтобы привлечь внимание этих пользователей к проблеме свободы. Чаще и громче, чем когда-либо прежде, мы должны говорить: “Это свободная программа, она дает вам свободу!”

Мог бы помочь товарный знак?

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

Но была бы ли большая разница, если бы применялся термин, который был бы товарным знаком? Не обязательно.

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

Как общепринято в сообществе открытого исходного текста, пользователи этих... средств смогут сотрудничать с IBM...

В действительности здесь не говорилось, что программа является программой с “открытым исходным текстом”, но многие читатели не заметили этой детали. (Я должен отметить, что IBM искренне пыталась сделать эту программу свободной и впоследствии приняла новую лицензию, которая действительно делает программу свободной и с “открытым исходным текстом”; но когда публиковалось объявление, программа не была ни тем, ни другим.)

А вот как компания Cygnus Solutions, которая сформировалась как фирма, занимавшаяся свободными программами, а впоследствии ответвилась (так сказать) на несвободные программы, рекламировала несвободные программные продукты:

Cygnus Solutions — лидер рынка открытого исходного текста — только что выпустила два продукта на рынке [GNU/]Linux.

В отличие от IBM, Cygnus не пыталась сделать эти пакеты свободными программами, и эти пакеты не приближались к этому. Но Cygnus на самом деле не заявляла, что это — “программы с открытым исходным текстом”, они только воспользовались термином, чтобы создать у невнимательных читателей такое впечатление.

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

Заблуждения(?) об “открытом исходном тексте”

Определение открытого исходного текста достаточно ясно, и совершенно ясно, что типичная несвободная программа ему не удовлетворяет. Таким образом, можно считать, что выражение “компания, занимающаяся открытым исходным текстом”, обозначает компанию, продукты которой являются свободными программами (или близки к этому), верно? Увы, многие компании пытаются вложить в это другое значение.

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

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

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

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

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

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

Он заявил: “Мы ни в коем случае не сделаем наш продукт открытым исходным текстом, но, возможно, мы сделаем его ‘внутренним’ открытым исходным текстом. Если мы позволим сотрудникам нашего отдела поддержки клиентов получить доступ к исходному тексту, они могли бы исправлять ошибки для клиентов, и мы могли бы предоставить лучший продукт и лучшее обслуживание”. (Это не точная цитата, поскольку я не записывал его слов, но в целом это звучало так.)

Присутствовавшие говорили мне впоследствии: “Он просто не понимает”. Но так ли это? Чего именно он не понял?

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

Аспект, который он упустил из виду,— это то, что “открытый исходный текст” призван был замалчивать: то, что пользователи заслуживают свободы.

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

Примечания

  • Джо Барр написал статью под заглавием Живи и позволь разрешать, которая отражает его точку зрения на этот вопрос.
  • Работа Лакхани и Вольфа о мотивации разработчиков свободных программ говорит, что значительная доля мотивируется взглядами, согласно которым программы должны быть свободными. И это несмотря на то, что они опрашивали разработчиков на SourceForge — сайте, который не разделяет мнения о том, что это — вопрос этики.