Взгляд назад на 40-летие GNU и Фонда свободного программного обеспечения
Это исчезает из памяти, но если бы не GNU и Фонд свободного программного обеспечения, открытый исходный код и Linux, действительно, большей части нашего мира, ориентированного на технологии, не было бы здесь.
Поверите ли вы, что почти все технологии, которые вы используете сегодня, возникли из-за плохо работающего принтера? Поверь в это.
В начале 1980-х годов у программиста Лаборатории искусственного интеллекта Массачусетского технологического института по имени Ричард М. Столлман (RMS) возникли проблемы с заведомо ненадежным принтером Xerox 9700. Он хотел модифицировать его программное обеспечение, чтобы уведомлять пользователей о частых замятиях. Отличная идея, но он не смог получить доступ к исходному коду, чтобы внести эти изменения. Это противоречило духу открытости Лаборатории. Итак, он решил, что код программного обеспечения должен быть бесплатным. Не бесплатно в смысле бесплатного пива, а бесплатно в смысле свободы слова.
Кроме того, RMS была раздосадована тем, что в 1982 году MIT купил компьютер 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.
Джеймс Гослинг, наиболее известный как родитель языка Java, затем взял идею EMACS, перенес ее на Unix и улучшил производительность отображения. Затем, столкнувшись с выбором: «Я либо мистер EMACS на всю жизнь, либо я заканчиваю учебу», он решил закончить аспирантуру и передал гаражной компании Unipress права на поддержку и продажу EMACS. Тогда RMS, как рассказывает Гослинг, «уродились» и «просто забрали весь исходный код».
Столлман переписал нарушающий код после судебного процесса между IBM и DEC против Unipress и множества резких слов между Гослингом и RMS. По иронии судьбы, именно в этой неблаговидной борьбе RMS добился своего величайшего достижения: Публичной лицензии GNU (GPL).
RMS понял, что по неформальным правилам сообщества EMACS, также известного как Коммуна EMACS, он не может контролировать даже свою собственную версию EMACS. РМС и его коллеги решили, что пользователи могут изменять код GNU EMACS, пока они публикуют свои модификации, и их «производные» работы также будут иметь ту же лицензию GNU EMACS. Делались первые шаги в направлении Стандартной общественной лицензии GNU (GPL).
В основе открытого исходного кода лежала радикальная идея о том, что люди могут свободно изменять код, если они делятся им как свободным программным обеспечением. Идея свободного программного обеспечения гораздо старше, чем свободное программное обеспечение. На заре вычислительной техники программное обеспечение просто было общим. Однако в качестве неожиданного побочного эффекта антимонопольного иска США против IBM в 1969 году мэйнфреймы и миникомпьютеры, такие как DEC и IBM, перестали поставляться в комплекте с бесплатным программным обеспечением и начали продавать проприетарные операционные системы и программы. К концу 70-х и началу 80-х проприетарное программное обеспечение стало новой нормой.
С помощью Марка Фишера и Джерри Коэна, юристов в области интеллектуальной собственности (ИС), и Джона Гилмора, разработчика свободного программного обеспечения и соучредителя Electronic Frontier Foundation (EFF), RMS поняла, что лицензия GNU EMACS слишком ограничена. Фишер призвал RMS использовать авторское право в качестве основы для лицензии, в то время как Гилмор предложил: «Вам, вероятно, следует удалить «EMACS» из лицензии и заменить его на «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ» или что-то в этом роде. Мы надеемся, что вскоре Emacs перестанет быть самая большая часть системы GNU, и лицензия распространяется на всю ее».
Приняв эти идеи, RMS создала первую версию GPL: «Авторское лево, используемое в проекте GNU, представляет собой комбинацию уведомления об авторских правах и Стандартной общественной лицензии GNU. Уведомление об авторских правах является обычным. Стандартная общественная лицензия представляет собой лицензия на копирование, которая, по сути, гласит, что у вас есть те свободы, которые мы хотим, чтобы вы имели, и что вы не можете отнять эти свободы у кого-либо еще».
Эти четыре свободы теперь являются основополагающими для всех лицензий на свободное программное обеспечение и лицензии с открытым исходным кодом. Это:
Свобода запускать программу по своему желанию и для любых целей.
Свобода изучать, как работает программа, и изменять ее так, чтобы она выполняла ваши вычисления по вашему желанию. Доступ к исходному коду является предварительным условием для этого.
Свобода распространять копии, чтобы вы могли помочь другим.
Свобода распространять копии ваших измененных версий среди других. Сделав это, вы дадите всему сообществу возможность извлечь выгоду из ваших изменений. Доступ к исходному коду является предварительным условием для этого.
GPL будет развиваться с годами и приобретать все большее значение. GPLv2, пожалуй, самый важный из ее вариантов, поскольку это лицензия Linux. Самая последняя версия, GPLv3, расширила концепции свободного программного обеспечения, включив в них управление цифровыми правами (DRM) и патенты.
Чтобы помочь поддержать разработку программ GNU, в 1985 году был основан Фонд свободного программного обеспечения (FSF) для поддержки и продвижения программистов GPL и движения за свободное программное обеспечение. Следующей важной вехой стала разработка компилятора GNU C (GCC) в 1987 году. GCC был не только бесплатным, но и превосходил по производительности многие современные компиляторы, что обеспечило его быстрое внедрение и способствовало развитию проекта.
GCC широко считается GNU и высшим достижением Столлмана в кругах программирования. Майкл Тиманн, программист и основатель первой компании с открытым исходным кодом Cygnus Support, назвал GCC «бомбой». Точно так же, как каждый писатель мечтает написать великий американский роман, каждый программист в 1980-х годах говорил о написании великого американского компилятора. Внезапно Столлман сделал это. Это было очень унизительно».
Существуют и другие программы GNU. К ним относятся Отладчик проекта GNU (Gdb); загрузчик GRUB и GNU Common Lisp.
Больной вопрос заключается в том, что RMS так и не создала успешную операционную систему. Действительно, к началу 90-х годов проект GNU успешно переписал большую часть системы Unix. Но всё же осталось одно яркое исключение: ядро операционной системы.
Линус Торвальдс, финский студент-компьютерщик, который в 1991 году начал работать над ядром операционной системы в качестве хобби-проекта. Это ядро, названное Linux, в сочетании с системой GNU создало полностью свободную операционную систему. По сей день Столлман и ФСПО настаивают на том, чтобы Linux назывался «GNU/Linux».
Во всяком случае, как недавно заметил один читатель Linux Weekly News (LWN), «GNU и RMS заслуживают похвалы за то, что увидели, что было возможно, и разработали gcc, glibc и кучу утилит с нуля. Но они потратили 30 из последних 40 лет пытались получить признание за Linux. Самый первый релиз Линуса в 1991 году, возможно, во многом зависел от GNU, но развитие программного обеспечения GNU за последние 30 с лишним лет зависело и направлялось Linux и его сообществом».
GNU также не помогло то, что с годами у RMS сложилась противоречивая репутация. Это достигло апогея в 2019 году, когда его защита покойного Марвина Мински, пионера искусственного интеллекта и соратника печально известного миллиардера-педофила Джеффри Эпштейна, привела к его отставке с поста президента ФСФ. Затем, в 2021 году, RMS вернулась в Совет ФФС, что также вызвало сопротивление как внутри ФФС, так и за его пределами.
Сегодня, в 2023 году, RMS по-прежнему является членом Совета директоров ФФС. FSF также спонсирует проект GNU, который продолжает попытки создать полную операционную систему свободного программного обеспечения. FSF также владеет авторскими правами на многие программы GNU.
Шли годы, и некоторые разработчики и компании почувствовали, что GPL слишком ограничительна. Это привело к появлению альтернативных лицензий, таких как лицензия Apache и лицензия MIT, которые предлагали более либеральные условия. Эта напряженность способствовала появлению открытого исходного кода, который многие считают более прагматичным подходом к свободе программного обеспечения.
Но хотя GNU и RMS столкнулись с оппозицией и имели свои проблемы, фундаментальный факт заключается в том, что они изменили мир. Для разработчиков наследие GNU остается непреходящим свидетельством идеи о том, что программное обеспечение должно расширять возможности, а не ограничивать своих пользователей.
Для всего мира их вклад был огромен. Без GPL не существует свободного программного обеспечения или программного обеспечения с открытым исходным кодом. Действительно, практически невозможно представить, какой была бы наша жизнь без него. Почти все, что вы сегодня используете на компьютере, от Интернета до облачных сервисов и игр, обязано GNU и ее новаторской работе.