Ричард Столлман — отец открытого программного обеспечения, биография и проекты

Биография

Поступил в Гарвардский Университет, после — учился в Технологическом Институте Массачусетса (небезызвестном MIT). По прошествии некоторого времени стал работать в этом же институте – программистом – в сфере развития искусственного интеллекта. Осенью 1983-го года Столлман начал разработку проекта GNU и через год оставил работу в Институте, полностью посвятив себя новым идеям.

Слава Столлмана происходит от GNU Project, который он основал для разработки бесплатной операционной системы, и за это его считают отцом свободного программного обеспечения. Его «нешуточная биография» гласит: «Платное программное обеспечение оставляет людей беспомощными и заставляет колебаться, запрещая им делиться и изменять его. Свободная операционная система является основой для того, чтобы люди могли свободно пользоваться компьютерами».

Столлман, который предпочитает, чтобы его называли rms, начал заниматься хакерством в MIT. Он работал штатным хакером на проекте Emacs и других. Он критически относился к ограниченному доступу в лаборатории. Когда была установлена система парольной защиты, Столлман взломал ее, обнулил пароли и разослал пользователям письма об отмене системы.

Крестовый поход Столлмана во имя свободного программного обеспечения начался из-за принтера. В лаборатории MIT ему и другим «хакерам» было разрешено изменить код принтеров для того, чтобы они выдавали понятные сообщения об ошибках. Однако, прибыл новый принтер, в котором им было запрещено что-либо менять. Он находился далеко от лаборатории, и отсутствие сообщений вызывало неудобство. Именно в этот момент он «убедился в том, что ПО должно быть свободным».

Вдохновленный этим, он начал работать над GNU. Столлман написал реферат «The GNU Project», в котором он выбрал работу над операционной системой, потому что это основа, «ключевое программное обеспечение для использования компьютера». В тот момент версия операционной системы GNU/Linux использовала ядро Linux начатое Торвальдсом. Операционная система GNU распространяется под лицензией «авторского лева», которая использует авторское право, позволяющее пользователям использовать, изменять, копировать и распространять программное обеспечение.

Жизнь Столлмана продолжает вертеться вокруг продвижения идеи свободного программного обеспечения. Он работает против таких движений, как Digital Rights Media (или как он любит его называть — Digital Restrictions Management), с помощью таких организаций, как Free Software Foundation и League of Programming Freedom. За свою работу он получил широкую узнаваемость, а так же награды (в том числе он лауреат премии имени Грейс Мюррей Хоппер), стипендии и четыре почетные докторские степени.

В сентябре 2019 года стало известно, что главный евангелист идеи свободного программного обеспечения Ричард Столлман (Richard Stallman) завершил свою карьеру в Массачусетском технологическом институте (MIT) и Фонде свободного ПО (Free Software Foundation, FSF). Столлман, легенда в мире свободного ПО, сообщил на своем сайте, что был вынужден сделать этот шаг [1] .

« «Я безотлагательно ухожу в отставку со своей должности в MIT и покидаю Фонд СПО по причине давления на меня на фоне недопонимания и неверных характеристик», – сказал Столлман. »

 

Проект GNU

В 1983 году Мэтью Столлман основал проект GNU. Он был уверен, что избран, для того чтобы дать пользователям свободу, создавая открытое программное обеспечение. Это не просто технический проект, он имел политическое, культурное и социальное значение.

Главная цель GNU — это свобода, на которую у каждого есть право. Свобода программного обеспечения включает такие возможности:

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

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

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

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

Конечная цель GNU — создать новую операционную систему, в которой все программное обеспечение будет работать бесплатно. Разработка началась в 1984 году, а в 1992 стала доступна вторая версия.

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

Open Source vs СПО

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

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

GNU и Linux

Вернемся к определению GNU. Это рекурсивный акроним, GNU означает — GNU это не Unix (GNU is not Unix). Но в то же время GNU Unix совместимый.

В начале 90-х GNU/Linux была очень простой операционной системой, без графического установщика и установочных дисков.

Первое ядро Linux было написано 1991. Тогда для создания операционной системы было использовано ядро Linux и утилиты проекта GNU. Это были такие утилиты, как bash, find, cp и набор компиляторов GCC.

Отличие GNU / Linux

Чем GNU / Linux отличается от других операционных систем, таких как проприетарные UNIX и Microsoft Windows?

Во-первых, исходный код полной рабочей системы распространяется под различными лицензиями с открытым исходным кодом. По сути, любой может изменить код в соответствии со своими потребностями. В результате, разработка большинства компонентов происходит в открытом сообществе, а не в закрытой коммерческой среде. Любые улучшения в коде будут вноситься в сообщество. Кроме того, любое программное обеспечение, основанное на вирусных лицензиях, будет, в свою очередь, лицензироваться в соответствии с ними. Само ядро Linux лицензировано в соответствии с GNU General Public License (GPL).

Во-вторых, программное обеспечение распространяется многими различными компаниями. Основные дистрибутивы GNU / Linux включают:

  • Red Hat
  • Open SUSE
  • Debian
  • Ubuntu

Кроме основных перечисленных существуют еще сотни дистрибутивов.

В 2005 году Forbes.com опубликовал статью о том, что Linux управляет 60% ведущих суперкомпьютеров мира. В 2003 году Центр технологий IBM GNU / Linux пришел к выводу, что GNU / Linux обладает надежностью корпоративного класса. Серверы GNU / Linux могут работать без перезагрузки в течение многих лет, как это обычно можно увидеть по самому длинному времени безотказной работы на Netcraft.com. Еще одно место, где можно проверить статистику о времени безотказной работы Linux, — страница о времени безотказной работы компьютера в Linux Counter .

GNU / Linux вполне может стать одной из наиболее распространенных операционных систем в мире. Тем не менее, это трудно определить количественно с помощью достоверных доказательств. Причина в том, что большинство дистрибутивов Linux раздаются «бесплатно», и есть мало записей о продажах или маркетинговых цифр для просмотра.

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

Например:

  • широкополосные бытовые маршрутизаторы,
  • цифровые видеомагнитофоны
  • мобильные телефоны.

Linux и технологии

Непрерывное развитие операционной системы GNU / Linux представляет собой самый важный пример модели совместной работы в области технологий. Превосходная стабильность и безопасность GNU / Linux, как в серверной, так и в потребительской версиях, являются ярким примером успеха.

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

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

GNU / Linux предустановлен

С самого начала было трудно найти новые компьютеры вне рынка серверов, доступные с предустановленной GNU / Linux. Хотя специализированные компании, продают компьютеры, оснащенные настольными версиями Linux. До недавнего времени крупные производители компьютеров сопротивлялись этой тенденции.

Обычно пользователям необходимо загрузить выбранный дистрибутив GNU / Linux и установить его на свой компьютер. Многие пользователи домашних компьютеров считают установку операционной системы сложной задачей. Эта ситуация кардинально изменилась в 2007 году, когда Dell начала продавать ноутбуки и настольные компьютеры широкой публике с предустановленной Linux.

В течение 2008 года большинством крупных производителей был представлен новый тип недорогого портативного компьютера «нетбук». Чтобы снизить затраты, Linux был предложен на большинстве линий в качестве альтернативы Windows XP.

Принцип и обязательство

В конце девяностых в сообществе произошел раскол, обусловивший появление EGCS (произносится как eggs) — ответвления GCC, целью которого было отстраниться от руководства FSF разработкой, и Open Source Initiative (OSI) для продвижения менее радикальных и бескомпромиссных взглядов и идей открытого программного обеспечения.
«Главное, в чем они [OSI] стремились отличаться от FSF, это то, что они не осуждали закрытые программные продукты и не заявляли о себе как о движении за свободу, а развивали идеи о том, какие экономические преимущества может принести добровольная работа энтузиастов бесплатно, just for fun.» Но некоторые видели «ее основной целью — попытаться политически маргинализировать Столлмана; и попытке в чем-то небезуспешной.»
О выходе Hurd стали говорить в 1994 г., когда вроде бы удалось запустить Emacs; в качестве даты релиза указывался 2001 г., но этого так и не случилось. Когда в 2005 г. Hurd портировали на L4, Маркус Бринкман сказал, что «теперь мы можем с легкостью исследовать и развивать систему так, как мы захотим», но был вынужден признать, что «я могу собирать простые приложения, используя мой порт glibc, но большинство из них не запускаются, т.к. им требуются файловая система или, скажем, вызовы fork и exec, а у меня там пока только заглушки.»
В середине девяностых на сцене появляется Debian, который благодаря Debian Guidelines, написанных Брюсом Перенсом, становится носителем и выражением «общественного сознания» FOSS-движения, в то время как FSF во многом отстранилась от разработки GNU, сосредоточившись главным образом на политических проблемах движения.
С 1998 г. Debian GNU/Hurd — один из активных проектов Debian, выпускающий инсталляционный и live CD-диски, может рассматриваться как эталонная версия Hurd, однако до сих пор не имеет статуса официального релиза. Качество кода Hurd все еще не позволяет применять его для решения сколько-нибудь реальных задач, поддержка оборудования также весьма ограничена — но его можно полноценно запустить в виртуальной машине, попробуйте.
Когда-то FSF платила программистам за работу над проектами GNU, теперь же большинство из них — это волонтеры или сотрудники компаний, которые заинтересованы в проектах типа GCC и, соответственно, спонсирующие их. Hurd практически выпал из поля зрения, ведь есть Linux, который работает уже здесь и сейчас, так что особой нужды в еще одном ядре нет. Но принцип и обязательство никуда не делись, и, возможно, в будущем идеи GNU Hurd вновь окажутся востребованными.

Alix — истинное ядро GNU

Ричард рассказывает историю, что ядро GNU изначально не должно было называться Hurd.
«Сначала я назвал его Alix (Аликс), так звали мою девушку в то время. Она была системным администратором Unix и как-то обратила внимание на то, что ее имя схоже с названиями многих Unix-систем. Друзьям она в шутку сказала, что „кто-то должен назвать ядро в честь меня“. Я тогда промолчал, но решил, что сделаю ей сюрприз и назову ядро Alix.»
«Впрочем, название не прижилось. Майкл (теперь Томас) Бушнелл, главный разработчик ядра, предпочел имя Hurd, а имя Alix досталось одной из подсистем ядра — той, что перехватывала системные вызовы и обрабатывала их, обмениваясь сообщениями с серверами Hurd.»
«Какое-то время спустя Аликс и я расстались; она сменила имя. Вместе с тем (но независимо) в архитектуре Hurd произошли изменения, и библиотека C стала посылать сообщения серверам напрямую, что сделало компонент Alix ненужным, и он был удален.»
«Но прежде, чем все это произошло, кто-то из ее друзей наткнулся на ее имя в исходниках Hurd и сообщил ей об этом. Так что у нее была возможность найти ядро, названное в ее честь.»
Бушнелл выбрал имя Hurd отчасти из-за того, что получается похоже на «стадо антилоп», отчасти из-за того, что Hurd — это рекурсивная аббревиатура «Hird of Unix-Replacing Daemons», а в свою очередь Hird — это «Hurd of Interfaces Representing Depth». Он говорил, что «мы, насколько мне известно, первый программный продукт, название которого — это пара взаимно-рекурсивных аббревиатур.»
Томас Бушнелл в настоящее время — разработчик Debian и грегорианец.
OS structure

На переднем крае

В отличие от Linux — монолитного ядра, Hurd использует микроядро, и почти вся функциональность вынесена из пространства ядра в пользовательское пространство. Микроядро — всего лишь прослойка между «железом» и всем остальным, чем обычно занимается монолитное ядро.
В 1996 г. Томас Бушнелл, один из основных архитекторов Hurd на раннем этапе, опубликовал свои идеи в статье «Towards a New Strategy of OS design».
«GNU Hurd, — пишет он, — спроектирован так, чтобы системный код был как можно более ограничен. Программы будут взаимодействовать только с несколькими подсистемами, все остальные части системы динамически заменяемы. Пользователи вольны задействовать их по своему усмотрению, смогут подключать новые компоненты для нужд других пользователей. Нет никакой необходимости в предварительном установлении доверия при взаимодействии между пользователями (т.е. сервисами друг-друга). Система не подвергается уязвимости, „доверяя“ сервисам произвольных пользователей.» На практике это означает, что пользователям не нужно обращаться к некоему супер-пользователю (root) и ждать, пока тот примонтирует файловую систему или загрузит нужный драйвер устройства (как это было в Linux до недавнего времени, пока там не стали появляться некоторые из полезных особенностей микроядер).
«Уже в то время было понятно, — вспоминает один из сотрудников GNU, — и это обсуждалось в академических кругах, что микроядерная архитектура будет иметь проблемы с производительностью (связанные, главным образом, с большим числом переключений контекста из-за необходимости обмена сообщениями между демонами, по сравнению с традиционной обработкой системных вызовов в монолитных ядрах). [Ричард] Рашид, исследователь из CMU, в своей работе предположил, что эта проблема не настолько серьезная. Тогда казалось, по крайней мере мне, что мы здесь в GNU, при скудном финансировании, умудряемся не только программировать и бороться за свободу, но и одними из первых воплощать в жизнь самые последние академические исследования computer science. Во всяком случае, задумка была такая, и мы очень гордились собой и вообще были рады быть в том месте и в то время.»
Hurd был замечательным приключением и экскурсом в самые выдающиеся достижения теории операционных систем своего времени. Целью GNU было стать одновременно Unix-подобной операционной системой и чем-то похожим на Лисп-машины, классические однопользовательские рабочие станции, появившиеся в AI Lab MIT, одном из главных очагов хакерской культуры, из которого вышел и Столлман. «Emacs (с его Lisp-расширениями) определил парадигму для проектирования интерактивных программ. Сначала даже предполагалось, что оконная система тоже будет основана на Lisp.»
«Одно из ранних изменений в концепции GNU произошло, когда стало ясно, что X11 работает довольно неплохо, не „загнется“ и будет свободной программой. Чисто практический вывод: надо брать и пользоваться.»

Источники
  • https://www.tadviser.ru/index.php/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0:%D0%A1%D1%82%D0%BE%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD_%D0%9C%D1%8D%D1%82%D1%8C%D1%8E_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_(Richard_Stallman)
  • https://losst.ru/richard-stollman-otets-otkrytogo-programmnogo-obespecheniya
  • https://linuxvsem.ru/about-linux/gnu-linux-obzor
  • https://habr.com/ru/post/171033/

tett
Зарплатто.ру - сайт о зарплатах и доходах, деньгах и финансах