Взгляд на 40 лет GNU и Фонда свободного программного обеспечения

40 лет GNU и Фонда свободного программного обеспечения

Вы поверите, что практически все технологии, которыми вы пользуетесь сегодня, существуют из-за неправильно работающего принтера? Поверьте.

В начале 1980-х годов программист лаборатории искусственного интеллекта MIT по имени Ричард М. Столлман (RMS) испытывал проблемы с ненадежным принтером Xerox 9700. Он хотел изменить программное обеспечение принтера, чтобы уведомлять пользователей о его частых замятиях. Замечательная идея, но он не смог получить доступ к исходному коду, чтобы внести эти изменения. Это противоречило открытой этике лаборатории. Поэтому он решил, что программный код должен быть свободным. Не свободным в смысле бесплатного пива, а свободным в смысле свободы слова.

Также: Основатель Debian Linux Иан Мердок был бы поражен его наследием

Кроме того, RMS был недоволен тем, что в 1982 году МИТ купил компьютер DEC PDP-10 с несвободной временной системой Digital вместо свободной несовместимой временной системы (ITS).

Разгневанный, RMS хотел, чтобы пользователи были свободны использовать, изменять и распространять программное обеспечение. К 1983 году эта задумка превратилась в миссию: создать свободную операционную систему, схожую с Unix. Так родился GNU, что расшифровывается как “GNU’s Not Unix”.

Как написал тогда RMS, “начиная с Дня Благодарения, я собираюсь написать полную совместимую с Unix программную систему под названием GNU (от GNU’s Not Unix) и раздать ее бесплатно всем, кто может ее использовать. Время, деньги, программы и оборудование вносят большой вклад”.

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

Тем не менее, RMS иногда не был искренен в своей работе. Например, он утверждает, что является “изобретателем оригинального и многократно подражаемого редактора EMACS”. На самом деле, заслуга за EMACS принадлежит Дэвиду А. Муну и Гай Л. Стилу-младшему в виде набора макросов редактора TECO.

Также: Google празднует 25-летие: от гаражного стартапа до глобального гиганта

Джеймс Гослинг, наиболее известный как создатель языка Java, затем взял идею EMACS, портировал ее на Unix и улучшил ее производительность отображения. Затем, столкнувшись с выбором “либо я на всю жизнь становлюсь г-н EMACS, либо я заканчиваю учебу”, он решил закончить свою аспирантуру и передал права на поддержку и продажу EMACS гаражной компании под названием Unipress. Тогда RMS, как рассказывает Гослинг, “сорвался” и “просто взял весь исходный код”.

Столлман переписал проблемный код после судебного разбирательства между IBM и DEC против Unipress и множества оскорбительных слов между Гослингом и RMS. Иронично, именно из этой некрасивой ссоры RMS создаст свою самую великую работу: GNU Public License (GPL).

RMS понял, что в рамках неформальных правил сообщества EMACS, также известного как EMACS Коммуна, он не мог контролировать даже свою собственную версию EMACS. RMS и его коллеги решили, что пользователи могут изменять код GNU EMACS, при условии, что они публикуют свои изменения, и их “производные” работы также будут иметь ту же лицензию GNU EMACS. Были сделаны первые шаги к GNU General Public License (GPL).

Также: Вы знаете историю происхождения Apple, но знаете ли вы историю Samsung? Ее почти невозможно поверить

Радикальная идея, что люди могут свободно изменять код, публикуя его как свободное программное обеспечение, стала основой открытого исходного кода. Теперь идея свободного программного обеспечения гораздо старше, чем свободное программное обеспечение. В начале вычислений программное обеспечение просто распространялось. Однако в неожиданной побочной реакции на антимонопольный иск США против IBM в 1969 году, крупные и средние компьютеры, такие как DEC и IBM, перестали включать бесплатное программное обеспечение в комплект поставки и начали продавать проприетарные операционные системы и программы. К концу 70-х и началу 80-х годов проприетарное программное обеспечение стало новой нормой.

С помощью Марка Фишера и Джерри Коэна, юристов по интеллектуальной собственности (IP), и Джона Гилмора, разработчика свободного программного обеспечения и сооснователя Electronic Frontier Foundation (EFF), Ричард Столлман (RMS) понял, что Лицензия GNU EMACS была слишком ограничена. Фишер поощрял Столлмана использовать авторское право в качестве основы для лицензии, тогда как Гилмор предложил: “Возможно, вам следует удалить “EMACS” из лицензии и заменить его на “ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ” или что-то подобное. Скоро, надеемся, Emacs перестанет быть самой большой частью системы GNU, и лицензия будет применяться ко всему.”

Также: Принцип сетевой нейтралитет: что это такое и почему мы снова об этом говорим

Исходя из этих идей, Столлман создал первую версию GPL: “Copyleft, используемый проектом GNU, состоит из комбинации авторского уведомления и GNU General Public License. Авторское уведомление представляет собой обычное уведомление. Лицензия общественного пользования является лицензией на копирование, которая в основном говорит о том, что у вас есть свободы, которые мы хотим, чтобы у вас были, и вы не можете отнять эти свободы у кого-либо еще.”

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

  • Свободу запускать программу по своему усмотрению для любых целей.

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

  • Свободу распространять копии программы, чтобы помочь другим.

  • Свободу распространять копии ваших измененных версий программы другим. Таким образом, вы даете всему сообществу возможность воспользоваться вашими изменениями. Доступ к исходному коду является предпосылкой для этого.

GPL будет развиваться с течением времени и приобретать все большее значение. GPLv2, возможно, самая важная из ее вариантов, так как она является лицензией Linux. Самая последняя версия, GPLv3, расширила концепции свободного программного обеспечения, чтобы охватить управление цифровыми правами (DRM) и патенты.

Чтобы помочь развитию программ GNU, в 1985 году была создана Free Software Foundation (FSF), которая поддерживает и продвигает GPL и движение свободного программного обеспечения. Следующим важным вехом стало развитие GNU C Compiler (GCC) в 1987 году. GCC был не только бесплатным, но и превосходил многие современные компиляторы, что способствовало его быстрому распространению и способствовало развитию проекта.

Также: Почему открытый исходный код является колыбелью искусственного интеллекта

GCC широко признаны в кругах программирования как главные достижения GNU и Столлмана. Майкл Тиман, программист и основатель первой компании с открытым исходным кодом, Cygnus Support, назвал GCC “бомбой. Каждый писатель мечтает написать великий американский роман, каждый программист в 1980-х годах говорил о написании великого американского компилятора. И вот Столлман сделал это. Это было очень смирительно.”

Есть и другие программы GNU. Среди них: GNU Project Debugger (Gdb); загрузчик GRUB и GNU Common Lisp.

Одной из проблем GNU является то, что Столлман никогда не смог успешно создать операционную систему. Верно, к началу 90-х годов проект GNU успешно переписал большую часть системы Unix. Однако оставалось одно явное исключение: ядро операционной системы.

Появляется Линус Торвальдс, финский студент по компьютерным наукам, который в 1991 году начал работу над ядром операционной системы в качестве хобби-проекта. Это ядро, названное Linux, в сочетании с системой GNU создало полностью свободную операционную систему. До сих пор Столлман и FSF настаивают на том, что Linux должен быть известен как “GNU/Linux”.

Также: Почему мало кто использует настольную версию Linux? У меня есть теория, которая вам может не понравиться

Если верить одному из читателей Linux Weekly News (LWN), “GNU и Ричард Столлман заслуживают признания за то, что они увидели возможности и разработали gcc, glibc и множество утилит с нуля. Но в течение последних 30 лет они постоянно пытаются присвоить себе заслуги за Linux. Хотя первая версия, выпущенная Линусом в 1991 году, сильно зависела от GNU, развитие программного обеспечения GNU в течение последних 30+ лет зависит от Linux и его сообщества.”

GNU также не помогло тот факт, что Ричард Столлман приобрел сомнительную репутацию на протяжении многих лет. Это достигло своего апогея в 2019 году, когда его защита покойного Марвина Мински, пионера искусственного интеллекта и связанного с известным миллиардером-педофилом Джеффри Эпштейном, привела к его отставке с поста президента FSF. Затем, в 2021 году, Ричард Столлман вернулся в Совет FSF, что вызвало оппозицию как внутри, так и снаружи FSF.

Сегодня, в 2023 году, РМС по-прежнему является членом совета Фонда свободного программного обеспечения (Free Software Foundation, FSF). ФСФ также спонсирует проект GNU, который продолжает стремиться создать полноценную свободную операционную систему. ФСФ также владеет авторскими правами на многие программы GNU.

Кроме того: 8 вещей, которые вы можете делать с Linux, но не можете делать с MacOS или Windows

С течением времени некоторые разработчики и компании почувствовали, что GNU GPL слишком ограничивающая. Это привело к появлению альтернативных лицензий, таких как Apache License и MIT License, которые предлагали более гибкие условия. Эти напряжения способствовали появлению открытого исходного кода, который многие видят как более прагматичный подход к свободе программного обеспечения.

Несмотря на то, что GNU и РМС столкнулись с оппозицией и имели свои проблемы, основные факты заключаются в том, что они изменили мир. Для разработчиков наследие GNU остается беспрецедентным свидетельством идеи, что программное обеспечение должно давать возможности, а не ограничивать пользователей.

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