НАЗАД

Юрий СемЃнов

Yury Semenov 2:467/2 yury@petre.odessa.ua

ВПЕРГД

ДОМОЙ

Редакционный комментарий:

Редакция считает что ниже -- самый своеобычный материал номера. Хотя и, может быть, самый сложный и требующий много дополнительной информации для понимания.

Мы открываем своим читателям дверь в почти неизвестное нам ранее неформальное сообщество и тем вызываем на дружеское соревнование в такого рода открытиях журнал "Та сторона", впервые повернувший к нам одну из граней "Кристалла".

ГНУсное сообщество тоже весьма малочисленно: по самым оптимистичным оценкам в нем несколько сотен активистов. Увы, в неформальных сообществах это не всегда решающий параметр. Диссидентов в СССР было примерно столько же, но их вклад в то, что мы сейчас имеем, трудно недооценить.

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

Редакция рекомендует читателям прочесть в строках и между ними следующее:

- пока советские люди, впоследствии названные русскими (снговскими, беловежскими) нарушали международное законодательство об авторских правах, вовсю используя нелицензионное программное обеспечение,

- пока в недрах русской интеллегенции вызревала идея о "культуре бедности",

-- пока бывший советский народ отринал коммунизм, а потом чуть-чуть было не выринул его обратно...

Если Вы захотите работать в Интернете или программировать в C++ на компьютере, стоимостью меньше телевизора (XT с CGA), обращайтесь к автору этой статьи.

Юрий Семенов

GNU: Свобода для программистов и пользователей

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

-- The Independent, October 5, 1992

Многим европейским профессорам нравится следующая аналогия между программами и математикой: программа сходна с одной большой формулой. Традиционно никто не может быть владельцем формулы. Любой может ее скопировать и использовать.

-- из стенограммы лекции Ричарда Столлмена в Королевском Технологическом Институте (Стокгольм, Швеция), прочитанной 30-го октября 1986 г.

* Если Вы хотите пользоваться программами, которыми можно делиться со своими друзьями, без опасения быть привлеченными к ответственности за это; * Если Вы опасаетесь использовать программы, владельцы авторских прав на которые скрывают от широкой публики ошибки в них, надеясь получить побольше прибыли; * Если Вы хотите иметь исходные тексты используемых Вами программ, и возможность усовершенствовать их или просто исправить обнаруженные в них ошибки, а затем без опаски делиться ими со своими коллегами; * Если Вы программист и Вас смущает, что в один прекрасный день окажется, что используемый в Вашей программе алгоритм и/или интерфейс пользователя будет запатентован какой-либо коммерческой фирмой, а Вы будете обвинены в воровстве интеллектуальной собственности. (Это не фантазии, а реальность -- например, для создания GIF'ов необходимо использовать алгоритм LZW, однако последний уже запатентован фирмами Unisys и IBM). * Если Вы опасаетесь введения государственной, а то и религиозной цензуры в Интернете (а в Соединенных Штатах уже имела место попытка введения такой цензуры), и являетесь сторонником свободы слова, печати и объединений в Интернете

-- заходите на сервер http://www.gnu.ai.mit.edu/ , Вы найдете здесь много полезного и интересного !


СОДЕРЖАНИЕ:

0. Где нашли приют общественные ценности. 1. А чем не устраивает коммерческое программное обеспечение? 2. Что такое GNU. 3. История GNU и FSF. 4. И что мы с этого имеем? (Оценка программных продуктов GNU) 5. Ричард Столлмен: Почему программное обеспечение не может быть собственностью. (Сокращенный перевод). 6. Дополнение: Проект FreeDOS


0. Где нашли приют общественные ценности.

Как это ни странно, но несмотря на то, что в советские времена нам много чего рассказывали о необходимости приносить пользу обществу, а впрочем, может именно по этой причине, сегодня, в пост-коммунистический период такие понятия как "общественная польза" или "общественное достояние", похоже, что окончательно девальвированы. Хотя, честно говоря, их никак нельзя причислить числу иных "коммунистических химер". Мне нравится оценка текущей ситуации писателем Виктором Пелевиным в его статье "Джон Фаулз и трагедия русского либерализма" :

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

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

Я думаю, что время в конце концов все расставит по своим местам, а пока я предлагаю просто не удивляться тому, что некоторые общечеловеческие ценности нашли приют не здесь, а на другой стороне земного шара...

Итак: немного о проекте GNU и Free Software Foundation, в котором участвуют тысячи американцев, представителей других стран и даже несколько представителей стран бывшего Советского Союза!

1. А чем не устраивает коммерческое программное обеспечение?

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

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

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

Ну и несколько примеров:

* Драйвер COM-порта в MS-DOS, начиная с версии 1.0, и заканчивая версией 6.20 содержит грубейшую ошибку, делающую невозможным его использование в ряде совершенно обыденных ситуаций. За 15-ть лет Microsoft не счел необходимым ее исправить.

* Другая разработка фирмы Microsoft - Windows-95 содержит в себе ошибки, приводящие к разрушению данных, записанных на жестком диске - постепенно пользователи начинают к этому привыкать...

* SCO Unix продолжает удивлять своих пользователей неожиданными зависаниями, необратимым разрушением файловой системы, при несвоевременном выключении компьютера или отключении электроэнергии (UPS'ы способны поддерживать работоспособность компьютера ограниченное время, и между прочим, за них тоже платить надо). За свои же деньги пользователь приобретает также т.н. менеджер лицензий, без которого ничего вообще не работает, а он сам, даже работая в среде честно зарегистрированного SCO Unix конфликтует с рядом программ, и не позволяет пользователю выполнять необходимую работу...

Этот список можно было бы продолжать еще долго...

И вот тут возникает вопрос - а почему, собственно, мы (пользователи) должны страдать в результате политики монополистов рынка программного обеспечения? Человечество - огромно. Среди нас есть программисты, обладающие любым опытом и сколь угодно высокой квалификацией. Те из них, кто считает, что он будет работать только за большие деньги - ну и пусть делают свои деньги. Просто нам с ними не по дороге. Всегда найдутся люди, по тем или иным причинам, готовые сделать работу любой сложности бескорыстно. Они обеспечат себя и своих друзей - а тем самым и все человечество необходимыми программными продуктами. В выигрыше от этого будет человечество, а не жалкая кучка монополистов. Интернет - свободный! - обеспечит нам возможность общения, координирования действий, позволит любому желающему получить программные продукты, являющиеся результатом нашей работы.

Ярким примером жизнеспособности такого подхода является GNU.

2. Что такое GNU.

GNU произносится (в англоязычных странах) примерно как "гнью" (в русскоязычных часто говорят "гну", что позволяет такое словообразование как "гнусный", т.е. под лицензией GNU) и расшифровывается как "Gnu's Not Unix". Вероятно, дело тут в том, что слово "Unix" является зарегистрированной торговой маркой, и не может использоваться без специального разрешения. Следует различать проект GNU и лицензию GNU. Проект GNU имеет своей целью разработку Unix'оподобной операционной системы и множества утилит, драйверов и сервисных программ для него, а также всех сопутствующих программ, включая игровые. Эта операционная система разрабатывается в рамках концепции "Свободное программное обеспечение", более подробная информация об этом имеется в разделе 5 (я не смог удержаться от того, чтобы не включить в эту статью хотя бы сокращенный перевод статьи Ричарда Столлмена, настолько она мне понравилась). Ричард Столлмен не устает повторять - "Свободное" - означает не цену, "Свободное" - означает именно свободу. Для обеспечения возможности следовать этой концепции была разработана лицензия GNU, ее часто называют GPL (GNU Public License - Общая Лицензия GNU, кроме нее имеется еще Лицензия на Библиотеки). Программы разработанные в рамках проекта GNU и/или при участии FSF (Free Software Foundation - Организация Свободного Программного Обеспечения), как правило, распространяются с лицензией GNU. Однако, лицензия GNU используется и другими организациями и/или частными лицами. Кроме того лицензия GNU может использоваться и вне рамок проекта GNU. Лицензия GNU может быть использована любым программистом, желающим, чтобы разработанное им программное обеспечение распространялось именно как свободное. С лицензией GNU, в частности, распространяется такая известная операционная система как Linux, FreeDOS (см. раздел 6), и другие программные продукты, не имеющие прямого отношения к FSF. Желающих подробнее разобраться в том, что такое свободное программное обеспечение я все-таки отошлю к тексту самой лицензии GNU, здесь же я постараюсь сформулировать только важнейшие ее черты в нескольких словах.

Разрешается копировать и распространять точные копии программ, обязательно с текстом самой лицензии. Вы можете получать прибыль с распространяемых копий.

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

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

Если вы нарушаете Лицензию в каком-либо пункте - это автоматически лишает вас всех прав, гарантированных Лицензией.

Никаких гарантий: вы используете эту программу на свой страх и риск, вам не гарантируется ничего, даже пригодность программы для того или иного использования. Если программа окажется дефектной - все расходы на восстановление и исправление лягут на вас.

3. История GNU и FSF. В поисках утраченного рая?

Этот раздел написан на основе материалов стенограммы лекции, прочитанной Ричардом Столлменом в Королевском Технологическом Институте (Стокгольм, Швеция), 30-го октября 1986 г.

В 70-ые годы отношение к программным продуктам резко отличалось от сегодняшнего, Ричард Столлмен, работавший в это время в лаборатории MIT-AI, которая занималась проблемами искусственного интеллекта, рассказывает:

Когда я начал работать в MIT (Массачусетский технологический институт) в 1971, идея о том, что мы можем не делиться с другими своими разработками даже не обсуждалась. То же самое было в Стэнфорде и в Институте Карнеги-Меллона, и вообще всюду, даже в DIGITAL. Операционная система от DIGITAL в то время поставлялась бесплатно.

Сама лаборатория MIT-AI в это время была своеобразной общиной хакеров. Сегодня слово "хакер" часто используется как синоним выражения "взломщик компьютерных систем". Однако, Столлмен употребляет его исключительно в смысле "человек, безумно влюбленный в компьютеры и программирование".

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

Хакеры из MIT-AI писали операционные системы, поскольку имеющиеся часто оказывались неудовлетворительными, ремонтировали свои компьютеры. Многие не хотели покидать лабораторию даже по ночам - так появились места, где можно было выспаться не покидая ее.

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

В лаборатории никогда не использовались системы авторизации доступа

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

Однажды, один из пользователей системы для работы с символьной алгеброй Максима, разработанной в MIT-AI, прислал просьбу помочь в работе с нею. Он был очень напуган тем, что ответ пришел буквально через несколько часов, но совсем от другого человека.

...на что получил ответ "Конечно, у нас файлы не защищают. А в чем проблема? Вы получили ответ быстрее и недовольны? Конечно, мы читаем почту друг друга, так что можем найти людей, таких как вы, и помочь им."

С появлением сети ARPA (предшественницы Интернет), любой желающий мог не только переписать любые данные с компьютеров MIT-AI, но даже подглядывать за тем, что сейчас делают законные пользователи системы.

Однако к началу 80-ых годов ситуация изменилась. Началось производство коммерческого программного обеспечения. Многие квалифицированные специалисты MIT-AI получали приглашения на работу в коммерческие фирмы и покидали лабораторию.

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

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

4. И что мы с этого имеем? (Оценка программных продуктов GNU)

В результате мы имеем многое - ну во-первых обширный список разнообразных программ, начиная с простеньких утилиток (которые тоже важны!), и заканчивая мощными программными пакетами, под самые разнообразные платформы. Я приведу список лишь немногих:

Операционные системы: Linux, HURD (разработка FSF, выпущенная этим летом).

Компиляторы: язык C (GCC и DJGPP), АДА (GNAT), GNU Fortran.

Генераторы кода: Flex, Bison.

Интерпретаторы: C, Common Lisp, Smalltalk.

Графические системы: Ghostscript, Ghostview, GNU Graphics, X11

Системы символьной алгебры: Octave.

Текстовые редакторы: GNU Emacs, TeX

Такие вспомогательные средства как: Ispell, Groff, пакетный редактор GNU sed, GAWK, gnuplot.

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

Во-вторых возникает вопрос - а насколько надежно программное обеспечение под лицензией GNU? Я приведу всего два факта (информация FSF):

Бартон П. Миллер, проводивший в 1990 и 1995 годах исследования стабильности работы утилит для среды Unix, и исследовавший 7 коммерческих версий Unix, а также утилиты GNU, сделал вывод, что утилиты GNU - надежнее. В серии проведенных исследований утилиты из коммерческих версий Unix завершались аварийно в пределах от 15% до 43%; в тех же условиях утилиты GNU завершались аварийно лишь в 7% случаев.

Онкологический Центр в Фарго, Северная Дакота, использует базирующуюся на Linux GNU-систему. Это необходимо, постольку, поскольку для Центра крайне важна надежность в работе. Компьютеры, под управлением GNU/Linux, соединены в сеть и обеспечивают работу информационной системы, координирующей лекарственную терапию, и много других вещей. Доктор Г.В. Веттестейн считает, что создать такую систему в среде коммерческих приложений было бы невозможно.

5. Ричард Столлмен: Почему программное обеспечение не может быть собственностью.

[ Сокращенный перевод. ] [ Полный (английский) текст доступен на http://www.gnu.ai.mit.edu ]

Электронные информационные технологии подарили миру возможность легко копировать и изменять информацию. Компьютеры обещают такую возможность каждому из нас.

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

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

Электронные технологии намного гибче печатного станка: если информация уже в электронной форме, вы можете легко копировать ее и делиться ею с другими. Такая гибкость плохо укладывается в систему авторских прав. Это и является причиной усиления грязных и драконовских мер по навязыванию соблюдения авторских прав на программное обеспечение. Рассмотрим следующие четыре примера практики Ассоциации Издателей Программного Обеспечения (SPA):

* Интенсивная пропаганда утверждающая, что это плохо - не слушаться владельцев, а помогать своим друзьям. * Подталкивание к осведомительству по поводу своих сослуживцев и коллег. * Рейды (при поддержке полиции) на офисы и школы, в ходе которых люди вынуждены доказывать, что они не замешаны в нелегальном копировании. * Судебные преследования (правительством США, по запросу SPA) людей, таких как David LaMacchia из MIT, даже не за копирование программного обеспечения (он не был обвинен в копировании чего-либо) а просто за отсутствие охраны возможностей копирования и контроля за использованием программ.

Все эти четыре примера сходны с практикой, использовавшейся в бывшем Советском Союзе, где при каждой копировальной машине имелся охранник для предотвращения запрещенного копирования, и где отдельные лица копировали информацию тайно и передавали ее из рук в руки как "самиздат". Разумеется, тут есть разница: мотив контроля за информацией в Советском Союзе был политическим, мотив в США - это выгода. Но это действия, которые задевают нас, а не мотивы. Любая попытка блокировать совместное использование информации, не важно по каким причинам, приведет к тем же методам и той же жестокости.

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

* Терминологические. Используются такие клеймящие слова как "пиратство" и "воровство", равно как научные термины "интеллектуальная собственность" и "ущерб" чтобы внушить публике определенное направление мысли - простодушную аналогию между программами и физическими объектами. Наши воззрения и интуитивные представления о собственности на материальные объекты таковы, что нам кажется что это означает забрать объект у кого-то другого. Но они напрямую неприменимы к созданию копии чего-либо. Тем не менее нам предлагается применять их все равно. * Преувеличения. Владельцы программ говорят, что они терпят "ущерб" или "экономические потери" когда пользователи копируют программы самостоятельно. Но копирование непосредственно не влияет на владельца, и не наносит ущерба кому-либо. ... * Правовые. Владельцы программ часто ссылаются на имеющиеся законы... ... Каждый американец должен знать, что сорок лет назад во многих штатах считалось противозаконным для черных сидеть на передних сидениях автобуса; но только расист скажет, что сидеть там было злом. ... * Экономические. ... Система поощряет владельцев программного обеспечения производить что-либо - но не то, что обществу на самом деле надо. И это незаметно влечет за собой этическое загрязнение, влияющее на всех нас. Что нужно обществу? Ему нужна информация, которая на самом деле доступна гражданам - например, программы, которые люди могут читать, исправлять, адаптировать, усовершенствовать, а не только запускать. Но то что владельцы программ обычно предоставляют - это черный ящик, который мы не можем изучать или изменять. Обществу также нужна свобода. Когда программа имеет своего владельца, пользователь теряет свободу управления частью своей собственной жизни. Сверх того обществу нужно поощрить дух сознательного сотрудничества граждан. Когда владельцы программ говорят нам, что естественная помощь своим соседям это "пиратство", они оскверняют гражданский дух нашего общества. Вот почему мы говорим, что суть свободного программного обеспечения в свободе, а не в цене. ... Вы заслуживаете того, чтобы открыто и свободно кооперироваться с другими людьми, использующими программное обеспечение. Вы заслуживаете того, чтобы иметь возможность изучить как оно работает и обучить этому ваших студентов. Вы заслуживаете того, чтобы быть способным нанять своего любимого программиста для внесения исправлений, когда оно дает сбой.

Вы заслуживаете свободного программного обеспечения.

[ Конец сокращенного перевода статьи Ричарда Столлмена ]

6. Дополнение: Проект FreeDOS

А вот пример еще одного проекта, целью которого является создание программного продукта, распространяющегося с лицензией GNU - это проект FreeDOS. Выдержка из документа "FreeDOS в вопросах и ответах":

... Целью проекта FreeDOS является создание полностью свободной, совместимой с MS-DOS (tm) операционной системы. FreeDOS будет работать на всех совместимых с DOS платформах, начиная от XT до Pentium Pro...

Хотя, казалось бы, написать операционную систему, совместимую с DOS проще, чем совместимую с Unix, тем не менее проект был инициирован Джеймсом Холлом в июле 1994 года - т.е. на десять лет позже, чем проект GNU. Возможно, здесь сыграл роль отказ фирмы Microsoft поддерживать предыдущие версии MS-DOS, что вынудило бы пользователей MS-DOS переходить к использованию Windows-95. Те, кто желали продолжать использовать именно DOS вынуждены были позаботиться о себе сами.

Сегодня координатор проекта - Morgan "Hannibal" Toal, активные участники: Pat Villani (ядро ОС DOS-C), Steffen Kaiser (компиляторы, библиотеки), Bill Weinman (документация, и средства работы с ней), Tim Norman (командный интерпретатор), Swante Frey, Paul Vojta, и многие другие (включая автора этой статьи :)... Список рассылки проекта: fd-dev@list.freedos.org, WEB-страничка: http://www.freedos.org. Для местных пользователей я держу также страничку http://zipper.paco.net/~yury/freedos.html и раздел на BBS Tesseract Corner (Fidonet#2:467/2). Этой осенью намечаются два важных события в проекте - Pat Villani пообещал опубликовать версию 1.0 DOS-C (сейчас имеется версия 0.92), а я, в свою очередь собираюсь впервые опубликовать альтернативное ядро FreeDOS - FDAK.