Начало свободного софта

Под открытым и свободным программным обеспечением, для которого закрепилась аббревиатура FOSS, понимается два близкородственных, но не вполне идентичных понятия -- программное обеспечение с открытыми исходными текстами (Open Source Software) и собственно свободное программное обеспечение (Free Software).

Читатель, знакомый с современным положением дел вокруг так называемого СПО, вправе задать мне вопрос: почему названия из заголовка стоят именно в таком порядке? Ведь каждому ребёнку известно, когда Ричард Столлман, известный в миру как RMS, создал Фонд Свободного Программного обеспечения и основал проект GNU, и когда из уст Эрика Рэймонда, не менее известного как ESR, впервые прозвучало словосочетание Open Source Software. Не вдаваясь в идеологические детали (они составят предмет следующей рубрики), постараюсь обосновать свою точку зрения.

Движение Open Source организационно оформилось в 1998 году. Однако зародилось оно очень давно -- и в тех же академических кругах Computer Science. Собственно, первоначально никакого движения не было — а была лишь обычная, принятая в любой науке, практика свободного обмена результатами своей работы. Благо ARPANET, а затем и Интернет предоставил к тому практически неограниченные возможности. Да и необходимости в движении не возникало — никакого другого софта, кроме открытого просто не было в природе.

О каком-то оформлении прототипа движения Open Source можно говорить с тех пор, как Университет Беркли получил исходные тексты UNIX и, в учебных целях, занялся их усовершенствованием, распространяя результаты своих работ (BSD — Berkeley Software Distributions) открыто (то есть с доступом к исходным текстам) и свободно (то есть без ограничений на дальнейшую модификацию и распространение), под лицензией, которая получила имя лицензии BSD. Суть ее была очень проста: с исходниками BSD UNIX можно было делать почти все, что угодно, кроме, разве что, приписать себе ее авторство. Правда, была там и так называемая “оговорка о рекламе” -- требование упомянуть регентский совет Университета Беркли в любом производном продукте, но со временем она была изъята (хотя лично я не вижу в ней никакого ущемления свободы -- долг вежливости научного работника призывает всегда ссылаться на предшественников).

Поскольку усовершенствования первозданной UNIX, пришедшие из Университета Беркли, были очень существенными, результатом этого было расщепление UNIX на две ветви — проприетарную UNIX от AT&T, за которой со временем закрепилось название System V, и BSD UNIX, распространявшуюся свободно. Впрочем, в силу открытости берклианских разработок, они быстро были инкорпорированы и в System V (начиная с ее Realese 4, говорить от первозданном UNIX уже не приходится).

Обе ветви UNIX, System V и BSD UNIX, сосуществовали мирно, подобно капиталистической и социалистической общественным системам. Однако лишь до поры, до времени — пока не появилась юридическая возможность коммерческого распространения UNIX, само это слово (в форме UNIX) не стало торговой маркой, соответствие которой должно сертифицироваться, — короче говоря, пока не запахло “баблом”.

И вот тут-то формальные правообладатели UNIX вспомнили, что в составе BSD-системы имеется некоторое количество кода, являющегося их “интеллектуальной собственностью”, и затеяли судебный процесс против Университета Беркли, но о нём речь у нас впереди.

Важной вехой в становлении движения Open Source и как технологического, и как идеологического явления стала разработка оконной системы X, начатая в 1984 году, чему будет посвящена отдельная страница.

А тем временем (первая половина 80-х годов) Ричард М. Столлман, сотрудник той самой MIT AI (в миру он более известен как RMS), боролся с прикручиванием принтера от HP к своей системе. И боролся безуспешно — поскольку товарищи от Хьюлетта и Паккарда отказались предоставить ему исходники на свое firmware. Что привело Столлмана к убеждению — закрытые исходники суть тормоз прогресса, и все программное обеспечение должно быть открытым и свободным. Начался крестовый поход за освобождение софта.

К середине 80-х годов прошлого тысячелетия RMS создает Фонд свободного программного обеспечения (FSF — Free Software Foundation), начинает проект GNU — воспроизведение функциональности UNIX “с чистого листа”, но в свободном исполнении, а главное — формулирует принципы Free Software: свобода использования, свобода изучения и модификации, свобода распространения.

Знакомый велосипед, не правда ли? Да, именно на таких условиях распространялись результаты работ сообщества Computer Science (как, впрочем, и любого иного научного сообщества). Новым в принципах RMS, нашедшим свое выражение в разработанной под его руководством (и с участием профессиональных юристов) лицензии GPL (General Public License), было только одно: любая программа, использующая код, защищаемый GPL, должна распространяться на тех же условиях — то есть быть открытой и свободной, ныне, присно и во веки веков…

В рамках проекта GNU (что расшифровывается просто — GNU is not UNIX) были разработаны функциональные аналоги всех классических UNIX-утилит и пользовательских приложений, из которых важнейшим (и незаменимым) оказался компилятор языка Си (gcc — GNU C Compiler).

Маленькое отступление: современным поколением линуксоидов RMS воспринимается в первую очередь как харизматический лидер движения Free Software. И это действительно так: силою убеждения он обратил в свою веру больше людей, чем пророк Мухаммед до хиджры. Однако при этом часто забывают, что изначально RMS был просто хорошим программером, на счету которого — и emacs, отношение к которому может быть неоднозначным, но который стал вехой в истории текстовых редакторов, и, главное, тот самый gcc, без которого дальнейшее развитие Open Source было бы невозможным. И, что характерно, не поленившимся детально документировать свои творения: написанные им (сотоварищи) руководства по Emacs (книга издана в русском переводе) и gcc (русский перевод доступен в Сети) до сих пор являются основными источниками информации по этим программам.

Участники проекта GNU, работавшие первоначально на чистом энтузиазме, за считанные годы воссоздали все системное окружение полноценной ОС. За одним единственным исключением — ядра: разрабатывавшийся в качестве такового микроядерный HURD так и не стал работоспособным за все время существования проекта (забегая вперед, замечу: не вполне работоспособен он и по сей день). Но тут уже начинается совсем другая история.


Теги: ,