История


В 1983 году Ричард Столлман (Richard Stallman) начал проект GNU, чтобы возродить некогда распространенный дух сотрудничества среди пользователей компьютеров. Целью Столлмана было налаживание сотрудничества путем устранения ограничений, налагаемых поставщиками проприетарного программного обеспечения.

В 1971 году, когда Столлман только начинал свою карьеру в Массачусетском технологическом институте (Massachusetts Institute of Technology), он работал в группе, которая использовала программное обеспечение с открытым исходным кодом (с определением понятия «свободное программное обеспечение» можно ознакомиться здесь). Атмосфера вокруг распространения программного обеспечения в то время значительно отличалась от сегодняшней: компьютерные компании часто распространяли свободное программное обеспечение; программисты могли свободно делать то же самое и, действительно, часто делали. Но к 1980-м годам почти все программное обеспечение было проприетарным.

Для исправления ситуации Столлман и его единомышленники приступили к разработке полностью пригодной для использования системы на базе платформы UNIX. К 1990-м годам, после нескольких лет разработки, группа написала почти полную операционную систему, включающую компиляторы, текстовые редакторы и другое программное обеспечение. Объединив свое программное обеспечение с Linux, свободным ядром, разработанным Линусом Торвальдсом (Linus Torvalds), они получили полностью функциональную операционную систему с открытым исходным кодом. По оценкам, сейчас системы GNU на базе Linux используют десять миллионов человек, включая такие компании, как Slackware, Debian и Red Hat.

Текущие проблемы и инициативы в сообществе GNU с открытым исходным кодом


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

Однако это не означает, что проект не встретил противодействия и проблем. Ричард Столлман пишет:

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

Есть три основные проблемы, с которыми GNU и остальные члены сообщества Open Source сталкиваются в настоящее время:

«Скрытые возможности аппаратной части»


Производители аппаратного обеспечения все чаще склонны держать в секрете спецификации своего оборудования. Это затрудняет написание свободных драйверов. Это затрудняет написание свободных драйверов, чтобы Linux и другие ядра (например, Xfree86) могли поддерживать новое оборудование. GNU признала эту проблему как угрозу непрерывности свободного программного обеспечения, заявив, что «сегодня у нас есть свободные системы, но завтра у нас их не будет, если мы не сможем поддерживать компьютеры завтрашнего дня».

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

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

«Проприетарные библиотеки»


Библиотеки программирования проприетарных программ, работающие в свободных операционных системах, таких как GNU/Linux, стали своего рода ловушкой для разработчиков свободных программ. Библиотеки представляют собой готовые инструменты программирования, которые обеспечивают удобство для разработчиков, и поэтому весьма привлекательны для программистов свободных программ. Однако использование этих «несвободных библиотек» в широко распространяемых пакетах, таких как свободная операционная система, является потенциальным нарушением авторских прав и, таким образом, подрывает дело свободного проектирования. Еще хуже для сообщества Open Source то, что если несвободная библиотека приобретает популярность, она может проникнуть в кодовую базу свободного программного обеспечения через работу ничего не подозревающего программиста.

Между 1996 и 1998 годами именно это и произошло. Проприетарная библиотека инструментария графического интерфейса, Qt, использовалась в пакетах свободного программного обеспечения, называемого рабочим столом KDE. Свободные системы GNU/Linux не могли использовать KDE из-за несвободных ограничений на библиотеку Qt. Однако некоторые коммерческие распространители систем GNU/Linux, которые не были строги к использованию исключительно свободного программного обеспечения, включали KDE в свои распространяемые системы. Группа KDE активно поощряла программистов использовать Qt, и миллионы новых пользователей Linux столкнулись с потенциальным нарушением авторских прав.

Сообщество Open-Source отреагировало на эту проблему двумя способами: GNOME и Harmony.

GNOME, GNU Network Object Model Environment – это проект Gnu по созданию рабочего стола. Он был начат в 1997 году совместным предприятием Red Hat, которая предложила поддержку, и Мигеля де Икаса (Miguel de Icaza), с намерением предоставить похожие средства рабочего стола, но с использованием исключительно свободного программного обеспечения.

Harmony – это библиотека, совместимая с Qt и заменяющая его, что делает возможным запуск программ KDE в системе GNU/Linux.

Интересным замечанием относительно эффективности тактики Gnu является то, что в ноябре 1998 года разработчики Qt объявили об изменении лицензии, которая, будучи выполненной, сделает Qt свободным программным обеспечением. Предположительно, это произошло отчасти из-за реакции сообщества на проблему, которую представлял собой Qt как несвободное программное обеспечение. Несмотря на это, Qt все еще считался нежелательным, из-за утверждений, что лицензия все еще была «неудобной» и «несправедливой». Наконец, в сентябре 2000 года Qt был выпущен под лицензией GNU General Public License, что, по сути, решило проблему.

Даже при таком успехе остается вопрос: Как сообщество разработчиков открытого кода будет реагировать на подобные соблазны в будущем? «Поймет ли все сообщество необходимость не попасть в эту ловушку? Или многие из нас откажутся от свободы ради удобства и создадут серьезную проблему?»

Патенты на программное обеспечение


В основе борьбы между открытым исходным кодом и проприетарным программным обеспечением лежит вопрос о патентах на программное обеспечение. По мнению членов GNU, патенты на программное обеспечение – это самая большая угроза, с которой в настоящее время сталкивается сообщество Open Source, поскольку они могут запретить использование алгоритмов и функций на срок до двадцати лет. Например, LZW, алгоритм, используемый для сжатия GIF, был запатентован в 1983 году, и до сих пор не может быть выпущено свободное высококачественное программное обеспечение для работы с GIF. Совсем недавно было запатентовано и сжатие MP3. В 1998 году свободная программа для создания аудиофайлов MP3 была изъята из распространения под угрозой патентного иска.

Когда речь идет о патентах на программы, GNU признает, что есть несколько возможностей. А именно, это поиск доказательств для признания патента недействительным и поиск альтернатив запатентованной функции, но они, конечно, не всегда работают. А когда оба метода не срабатывают, патент может заставить все свободные программы лишиться некоторых функций, которые нужны пользователям, вынуждая их выбирать между ними, как об этом пишет Столлман: «Те из нас, кто ценит свободные программы ради свободы, все равно останутся со свободными программами. Мы сможем выполнять работу без запатентованных функций. Но те, кто ценит свободные программы, потому что ожидает от них технического превосходства, скорее всего, назовут их неудачными, если их сдерживают патенты».

Совсем недавно GNU предприняла действия против Amazon.com, которая получила патент (патент США 5,960,411) на идею, известную как покупка в один клик. При покупке в один клик информация о личности пользователя отправляется всякий раз, когда он или она покупает товар через веб-браузер. Браузер отправляет на сервер Amazon «куки» – код, который он получил ранее с того же сервера. Компания Amazon, чтобы защитить то, что она считает собственной технологией, подала в суд, чтобы заблокировать использование технологии «одного клика» другими компаниями электронной коммерции.

GNU, с другой стороны, утверждает, что Amazon несправедливо пытается монополизировать очевидную идею, и трактует иск как нападение на Всемирную паутину и электронную коммерцию в целом. Позиция Gnu по этому вопросу следующая:

Запатентованная здесь идея заключается в том, что компания может дать вам что-то, что вы можете впоследствии предъявить ей для идентификации себя для получения кредита. В этом нет ничего нового: физическая кредитная карта, в конце концов, делает ту же самую работу. Ответ Amazon людям, которые пишут о патенте, содержит тонкое введение в заблуждение, которое стоит того, чтобы его проанализировать: патентная система призвана поощрять инновации, и мы потратили тысячи часов на разработку нашей функции 1-ClickR покупки в один клик.

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

Если внимательно вчитаться в их слова, кажется, что «тысячи часов разработки» могут включать в себя любую из этих двух работ.

Но вопрос здесь не в деталях их конкретных скриптов (которые они нам не предоставляют) и веб-страниц (которые в любом случае защищены авторским правом). Вопрос заключается в общей идее, и в том, должна ли Amazon иметь монополию на эту идею.

Можете ли вы или я потратить необходимые часы на написание собственных скриптов и веб-страниц, чтобы сделать покупки в один клик? Даже если мы продаем не книги, а что-то другое, можем ли мы свободно это делать? Вот в чем вопрос. Amazon стремится лишить нас этой свободы при активной помощи заблуждающегося правительства США.

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

Заключение


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

Перевод статьи The Open Source Movement

28.08.2021

Alexander (c) Stikhin