psj-notes
~/home ~/series ~/archive

Глава VII. GNU и идеология свободного ПО

29.07.2026 Серия: История Unix "unix" "gnu" "stallman" "free-software"

Кто такой Ричард Столлман?

Ричард Столлман — фигура, которую невозможно обойти стороной, говоря об истории Unix. Харизматичный, бескомпромиссный, с неизменной бородой и взглядом пророка — он словно вышел из другого времени. В начале 1980-х Столлман работал в лаборатории искусственного интеллекта Массачусетского технологического института и был частью закрытой хакерской культуры, где код передавался из рук в руки, каждый мог его улучшать и исправлять ошибки. Эта культура была разрушена, когда компании начали коммерциализировать программное обеспечение. Ключевой момент — случай с принтером Xerox: Столлману отказались передать исходный код драйвера, чтобы он мог добавить нужную ему функцию. Этот отказ стал для него личным оскорблением и поворотной точкой.

Он мог бы создать свою компанию — мозгов и амбиций хватало. Вместо этого в 1983 году он запустил проект GNU (рекурсивный акроним: "GNU's Not Unix"), поставив перед собой задачу создать полностью свободную операционную систему, совместимую с Unix, но не содержащую ни строчки проприетарного кода.

Манифест GNU

В 1985 году Столлман опубликовал GNU Manifesto — документ, ставший евангелием движения за свободное программное обеспечение. В нём он изложил моральные и практические аргументы против проприетарного ПО. Ключевая идея: программное обеспечение должно быть свободным — не в смысле "бесплатно", а в смысле свободы. Столлман определил четыре фундаментальные свободы:

  • Свобода 0: запускать программу для любых целей.
  • Свобода 1: изучать, как работает программа, и изменять её.
  • Свобода 2: распространять копии.
  • Свобода 3: распространять модифицированные версии.

Манифест был вызовом всей нарождающейся индустрии коммерческого ПО. Столлмана называли коммунистом, утопистом и просто чудаком. История показала, что он был провидцем, даже если его моральный ригоризм не все готовы принять.

Инструменты GNU: замена утилит Unix

GNU начался не с ядра — а с инструментов. Столлман понимал, что чтобы привлечь разработчиков, нужно дать им то, чем они пользуются каждый день. Первой крупной работой стал GNU Emacs — редактор, который превратился в культовый инструмент и по сей день остаётся символом хакерской продуктивности.

Затем последовали:

  • gcc (GNU C Compiler) — переносимый и мощный компилятор, который заткнул за пояс многие коммерческие аналоги.
  • GNU Core Utilities (coreutils) — переписанные версии базовых утилит: cp, mv, ls, cat, grep, sort, и десятки других.
  • bash (Bourne Again SHell) — полностью свободная замена оболочки Bourne shell.
  • Glibc (GNU C Library) — критически важная библиотека, без которой не работает практически ни одна программа.

Каждая из этих программ была не просто клоном — они часто превосходили оригиналы по возможностям и стабильности. К началу 1990-х проект GNU создал практически всё, что нужно для полноценной Unix-подобной системы... кроме одного важнейшего компонента.

Проблема Hurd: ядро, застрявшее в разработке

Столлман решил, что ядро GNU должно быть не просто клоном Unix, а чем-то принципиально лучшим. Так родился Hurd — микроядерная архитектура на базе Mach, разработанного в CMU. Идея была красивой: микроядро управляет самыми базовыми функциями, а всё остальное — файловые системы, драйверы, сетевой стек — работает в виде пользовательских процессов-серверов.

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

К тому моменту, когда Hurd наконец стал хоть сколько-нибудь работоспособным, появился Linux — и весь мир переключился на него. Hurd так и остался экспериментом, объектом для исследований и символом того, что идеализм в инженерии не всегда приводит к успеху.

Лицензия GPL

Возможно, самым долгоживущим вкладом Столлмана стал не код, а лицензия. GNU General Public License (GPL) — это юридический инструмент, реализующий идею copyleft. В отличие от copyright (авторское право, ограничивающее распространение), copyleft использует механизмы авторского права для гарантии свободы: ты можешь распространять и модифицировать код, но только если сохранишь те же права для следующих пользователей.

GPL — это вирусная лицензия, и это слово здесь не ругательство. Если ты используешь GPL-код в своей программе, вся программа должна быть выпущена под GPL. Это свойство, которое Столлман называет "заразной свободой", обеспечило, что открытый код остаётся открытым навсегда.

Влияние на сообщество

Проект GNU создал не просто инструменты и лицензию — он создал идеологию. Термин "свободное программное обеспечение" (free software) — это именно этический и политический концепт, а не технический. Позже, когда появился термин "open source", Столлман критиковал его за то, что он убирает моральное измерение, сводя всё к прагматике: "свободный код делает лучший софт". Столлман настаивает: дело не в качестве, дело в свободе пользователя.

Заключение

GNU не удалось создать своё ядро, но его инструменты стали фундаментом для Linux — и именно комбинация Linux + GNU дала миру то, что мы сегодня называем экосистемой открытого кода. Столлман проиграл битву за Hurd, но выиграл войну за идею. Без GNU не было бы ни Linux в его современном виде, ни самого движения, которое сделало открытый код мейнстримом.

Комментарии

Комментарии пока не подключены.