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

  Альтруизм RU : Технология Альтруизма >>   Home  >> БИБЛИОТЕКА МАРГИНАЛА >> Хэкеры >> GNU: Свобода для программистов и пользователей >>
https://altruism.ru/sengine.cgi/5A/8/7


Юрий Семенов

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


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 (см. раздел 5) и другие программные продукты, не имеющие прямого отношения к 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 и исследовавший семь коммерческих версий Unix, а также утилиты GNU, сделал вывод, что утилиты GNU - надежнее. В серии проведенных исследований утилиты из коммерческих версий Unix завершались аварийно в пределах от 15% до 43%; в тех же условиях утилиты GNU завершались аварийно лишь в 7% случаев.

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

5. Проект 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-страничка: https://www.freedos.org. Для местных пользователей я держу также страничку https://zipper.paco.net/~yury/freedos.html

1998 год



Altruism RU: Никаких Прав (то есть практически). © 2000, Webmaster. Можно читать - перепечатывать - копировать.

Срочно нужна Ваша помощь. www.SOS.ru Top.Mail.Ru   Rambler's Top100   Яндекс цитирования