Говорят, что бесплатных завтраков не бывает, и что халява всегда выходит боком. Билл Гейтс приезжает в Москву, чтобы бороться с нелегальным распространением программ своей фирмы, и правительство сокрушенно кивает головой, признавая, что именно пиратство мешает развитию российской компьютерной промышленности.
А в это самое время те, на кого мы равняемся, потихоньку покоряются нашествию халявы, имя которой Интернет. В Сети можно найти многое, и при желании почти все можно получить бесплатно - будь то программы, книги или музыка. Скоро это будут и фильмы. Студиями звукозаписи и кинокомпаниями война с пиратством уже проиграна, распространение нелегальных копий через Всемирную Паутину не может быть остановлено без того, чтобы не уничтожить саму Сеть.
Производители программного обеспечения, запрещающие пользователю не только копировать программы, но даже смотреть, что у них внутри, как отчаянную литанию повторяют байку о ненадежности бесплатных продуктов, о сервисе, который может быть предоставлен только солидными фирмами. И все их доводы разбиваются об один факт. Факт существования GNU.
Проект GNU провозглашает свободу программ. В основополагающих документах GNU, манифесте (GNU Manifesto) и общей лицензии (GNU General Public License, GPL), определяется свободное программное обеспечение и защищаются права его пользователей. Свободная программа (в отличие от бесплатной, которая может накладывать ограничения вроде некоммерческого использования) дает пользователю три возможности: свободу изучать устройство программы и приспосабливать ее к своим нуждам, свободу распространять копии и свободу изменять программу и предлагать свой, улучшенный вариант. Лицензия GPL запрещает создателям и распространителям свободных программ ограничивать эти свободы.
Главной целью проекта GNU является создание исчерпывающего набора приложений, который сделает бессмысленным ограничение прав пользователя, практикуемое софтверными компаниями. Высокий уровень сотрудничества, достигаемый при свободном использовании программ, позволил проекту GNU разрабатывать приложения лучшие, чем те, что продаются за деньги. Кроме того, лицензия GPL позволяет то же свободное ПО распространять на коммерческой основе, добавляя в комплект поставки оплачиваемую покупателем поддержку и гарантию качества.
Средства разработки GNU стали стандартом для Unix - высшей степенью совместимости является пометка "It runs with GNU". GCC (GNU C Compiler) является символом того, что программисты могут сделать для самих себя. То же можно сказать про текстовый редактор EMACS - сам редактор занимает пару мегабайт, к которым прилагаются 30 MB написанных на Лиспе расширений, вроде мэйлеров, браузеров, средств форматирования и создания гипертекста в десятке форматов, не говоря уже об инструментах собственно редактирования.
Как и должно открытому продукту, написанному на самом себе (EMACS значит Editing MACroS), за двадцать лет жизни EMACS оброс таким обилием примочек, что после примитивного MS Word 97 в них недолго и заблудиться. Этот редактор, созданный основателем GNU и Free Software Foundation Ричардом Столмэном на заре системы Unix в легендарной MIT AI Labs, стал одним из любимых инструментов хакеров мира - они проводят в нем около 80% своего рабочего времени. Некоторые, правда, расшифровывают EMACS как Escape Meta Alt Control Shift за его развесистые комбинации клавиш.
Отечественного разработчика, не зацикленного на C/C++ и привыкшего к средам Borland, порадует наличие компиляторов Extended Pascal, Objective C, Fortran 77, Ada (где-нибудь наверняка есть и другие языки - я их просто не искал), а также перевод библиотек Turbo Vision и графическая библиотека с поддержкой вызовов BGI. Для тех, кому лень разбираться с EMACS, предлагается даже среда RHIDE с интерфейсом а-ля Borland, представляющая собой надстройку front-end над множеством компиляторов GNU.
Утилиты GNU вместе с ядром Linux, которое также распространяется свободно, хотя и не в рамках GPL, составляют мощную операционную систему, совместимую со стандартом POSIX. К своему собственному удивлению я "вот этими руками" запустил их на AT-386 под MS-DOS, получив в свое распоряжение командное окружение Unix с развитой оболочкой bash. Даже без ядра эти утилиты позволяют использовать многие программы и скрипты, предназначенные для Unix.
В настоящее время ведется работа над визуальным пользовательским интефейсом drag' n'drop и расширением EMACS до издательского комплекса с поддержкой WYSIWYG. Полный список программ проекта GNU можно найти на сайте Free Software Foundation по адресу http://www.gnu.ai.mit.edu (больше всего меня заинтересовали оболочка в стиле Norton Commander, графический браузер и электронные таблицы). Кроме того, большая часть исходных текстов, лежащих в Сети, предназначена для GNU или совместима с GNU. Я убедился в этом, разыскивая информацию по искусственному интеллекту, - в среде учебных заведений мира редко признаются операционные среды, не совместимые с GNU/Unix.
Дмитрий БОРОДАЕНКО,
forever@mad.scientist.com
Горячие темы