All soft must be Free..

В последнее время программы, распространяемые под свободными лицензиями, становятся все более популярными: IBM инвестирует немалые деньги в развитие Linux, браузер Firefox вытесняет IE, занимая уже около 15% рынка, а свободная ОС NetBSD используется даже на МКС. В чем причины такой популярности этих лицензий и откуда они берут свое начало? Давайте попробуем разобраться…

Рождение идеи
Когда компьютеры были большими, а программы — маленькими, понятия «закрытое ПО» не существовало. Большая часть программ разрабатывалась в институтах, между которыми шёл постоянный обмен идеями в форме исходных кодов. Заработать на программах в то время было нереально. Именно в таких условиях формировались взгляды молодого сотрудника Массачусетского технологического института (более известного как MIT) Ричарда Столлмана, попавшего туда в 1971 г. Он работал в лаборатории ИИ и был автором популярного текстового редактора Emacs.
К началу 80х ситуация изменилась – производство ПО стало бизнесом, которым занимались большие компании, исходный код стал коммерческой тайной. Столлман, воспитанный в атмосфере полной свободы ПО, не мог смириться с таким положением дел. Он искал способ возродить дух свободного программирования — и нашёл его. В 1983 г. Столлман начинает проект GNU – свободного аналога самой распространенной в то время ОС Unix. Название для нее было выбрано как рекурсивный акроним выражения «Gnu’s Not Unix» («GNU — это не Unix»). В январе 1984 Столлман уходит из MIT, опасаясь, что институт повлияет на условия распространения GNU. Однако ему по-прежнему разрешают работать на оборудовании лаборатории. Постепенно к работе над проектом подключаются другие программисты.

GNU, Emacs и GCC
Как вы знаете, архитектура Unix отличается модульностью – ОС представляет собой совокупность относительно независимых программ, которые легко заменяются. Этим и воспользовался Столлман. Поскольку он имел доступ к ЭВМ, работающей под управлением коммерческой версии Unix, он решил последовательно заменять компоненты ОС аналогичными компонентам собственной разработки. И первое, что он сделал, — портировал на платформу Unix свой Emacs, назвав его GNU Emacs. Столлман начал свободно распространять GNU Emacs, выложив его на ftp-узле MIT. Редактор стал довольно популярным, однако, доступ к Internet был далеко не у всех желающих, а автор был безработным. Тогда он решил заняться коммерческим распространением GNU Emacs – по 150$ за ленту с редактором.
Тут следует отметить одну особенность свободного ПО: «свободное» — не значит «бесплатное», свободное – это, прежде всего, «свободно распространяемое». Вы имеете неограниченное право использовать программу для любых целей, изменять её, распространять копии программы, как бесплатно, так и за деньги, при условии, что программа остаётся свободной. Покупатели Emacs имели полное право тиражировать его, продавать или раздавать бесплатно (попробуйте сделать это с лицензионным Windows).
В 1985 году Столлман, вместе с другими разработчиками GNU, создал Free Software Foundation – Фонд свободного программного обеспечения. FSF принимал пожертвования, но большая часть доходов всегда поступала от продаж копий свободно распространяемого ПО и связанных с ним услуг – таких, как обучение и распространение руководств. Фонд существует до сих пор и занимается поддержкой разработчиков свободного ПО.
Теперь у проекта появился стабильный источник доходов, и авторы могли заняться непосредственно разработкой ОС. И первое, что им было необходимо – свободный многоплатформенный компилятор С, которым стал GCC. Первоначально GCC означало GNU C Compiler, однако со временем, когда он стал поддерживать C++, Java, Fortran и Ada, GCC стали расшифровывать как GNU Compiler Collection. Сейчас версии GCC существуют практический для всех аппаратных и программных платформ, и он используется большинством свободных проектов, включая Linux.

Право на «лево»
К началу 90-х, когда в рамках проекта GNU появилось много популярных программ, возникла необходимость юридически защитить свободное ПО от использования в коммерческих проектах. В то время свободное ПО обычно объявлялось общественной собственностью, авторы отказывались от всех прав на него. Однако в этом случае любая компания могла свободно использовать исходный код этих программ в своих коммерческих проектах, что не добавляло стимула программистам.
Разработчики GNU решили не отказываться от своих прав на ПО и использовать специальную лицензию, но не для ограничения прав пользователей, а для сохранения свободы распространяемого ПО. Свой принцип они назвали copyleft. Его основная идея состоит в том, чтобы дать каждому пользователю возможность использовать, копировать, изменять программу и распространять модифицированные версии; при условии, что их, в свою очередь, не запрещается изменять. Эти идеи были выражены в GNU General Public License (GNU GPL), последняя версия которой была выпущена в 1991 г. и используется по сей день. Таким образом, вы можете свободно изменять ПО, выпущенное под лицензией GPL, однако ваша версия тоже должна распространятся под GPL. Сейчас GPL является самой популярной лицензией для свободных программ. Более того, её принципы с успехом применяются во многих областях, далёких от программирования: биологии, литературе и даже в пищевой промышленности (например, проект OpenCola с открытым рецептом).

Linux
К 1991 году в рамках проекта GNU были реализованы почти все модули, необходимые для самостоятельной работы ОС, оставалось реализовать ядро. Собственная разработка, GNU HURD, оказалась слишком сложной для реализации. Тогда коллектив проекта объединил только что появившееся ядро Linux («Linux Is Not UniX»), написанное финским студентом Линусом Торвальдсом, с уже готовой частью GNU. Так в 1992 году появилась первая полностью самостоятельная версия свободно распространяемой ОС GNU/Linux, часто называемой просто Linux.


За прошедшие 13 лет Linux развилась до операционной системы, способной достойно конкурировать с детищем Microsoft на платформе х86, и широко используемой на других платформах: от огромных ВС IBM до сотовых телефонов. Количество открытых разработок увеличилось в разы, проект GNU успешно развивается, регулярно выпускаются новые версии Emacs, GCC и других программ. Лицензия GPL работает реально – существуют прецеденты её успешного использования в суде для защиты свободного ПО. А Столлман недавно развернул кампанию по разработке свободного BIOS-а.

Последняя надежда Netscape
В марте 1998 г. Netscape Communications, осознав своё скорое поражение в «войне браузеров», неожиданно для всех опубликовала исходные тексты своего основного продукта, Netscape Communicator. Этот шаг положил начало разработке свободного браузера, известного ныне под именем Mozilla. Это странное имя получилось в результате сложения слов “Mosaic” (имя самого первого браузера, существовавшего в начале 90х) и «Godzilla». Исходники были частично опубликованы под свободной лицензией MPL (Mozilla Public License), а частично — под NPL (Netscape Public License – версия MPL, согласно которой Netscape Communications оставляла за собой право использовать добавленный код в своих коммерческих продуктах). Часть кода не была опубликована вовсе. Сообщество программистов не очень активно продержала инициативу NC – опубликованный код был слишком сложен, лицензия NPL — не совсем приемлемая. Так в конце 1998 г. руководители проекта Mozilla приняли решение полностью переписать код браузера, опубликовав его целиком под MPL. Mozilla должен был стать не просто браузером, он должен был стать универсальной платформой для работы в Интернете, состоящей из браузера, e-mail клиента, IRC и многого другого.
Вскоре Netscape Communications была куплена AOL, но это не помешало разработчикам 5 июня 2002 года опубликовать Mozilla 1.0. Это был прекрасный браузер для своего времени – поддержка всех распространённых стандартов и ОС, обеспечение высокого уровня безопасности, превосходная функциональность.

Возвращение Ящера
15 июля 2003 года AOL объявила о закрытии своего подразделения по разработке браузеров (бывшей Netscape Communications), и прекращении поддержки Mozilla. В тот же день разработчиками была создана Mozilla Foundation – организация, координирующая разработку браузера и владеющая торговыми марками “Mozilla”, “Firefox” и “Thunderbird”. На дальнейшее развитее проекта Mozilla Fnd. получила 2 млн. долларов от AOL, Sun и Red Hat. Тогда же было решено официально разделить Mozilla на независимые проекты: браузер Firefox, почтовый клиент Thunderbird и визуальный редактор web-страниц Nvu. На сегодняшний день эти дочерние проекты успешно развиваются, а сам проект Mozilla с недавних пор называется SeaMonkey.
Однако несмотря на явный успех Ящера, лицензия MPL используется только для продуктов Mozilla. Она не стала «народной», такой, как GPL…

ОС из Беркли
В 1974 году Калифорнийский университет, расположенный в Беркли, получил ЭВМ PDP-11 с установленной на ней ОС Unix. К операционной системе прилагались все исходные тексты. Сразу же начались работы по расширению системы, результат которых заинтересовал другие университеты. Тогда было решено было выпустить BSD (Berkeley Software Distribution – дистрибутив ПО из Беркли) версии 1 – набор программ для Unix, основу которого составляли компилятор Паскаля и текстовый редактор ex. Программы распространялись с открытыми исходными кодами по лицензии BSD. Это либеральная лицензия, позволяет, в отличие от GPL, свободно использовать исходники в закрытых коммерческих проектах, чем в последствии и воспользовались многие компании.
К началу 80-х была выпущена BSD 4, значительно возросло количество поставляемых программ, но проект всё же оставался лишь надстройкой над Unix, хотя и заметно облегчающей работу с ней. Однако именно BSD была выбрана Агентством по Перспективным Проектам при Министерстве Обороны США (DARPA) для разработки нового семейства протоколов для сети ARPANET. Так, первая реализация протоколов TCP/IP была выпущена в составе BSD 4.2 в 1982 г. Эта реализация стала эталоном, и её код лежит в основе аналогичных компонентов Windows и Linux. В течение всех 80-х годов шло дальнейшее развитие BSD, она была портирована на множество платформ, появилась сделанная на её основе SunOS и другие коммерческие ОС.

Полная свобода
В начале 90-х годов финансирование проекта прекратилось. Последней официальной версией BSD оказалась версия 4.4, содержавшая код Unix, а значит — не допускающая свободного распространения. Именно она легла в основу новой ОС с собственным ядром, не использующим закрытого кода. Сейчас самой распространённой версией BSD является FreeBSD — наиболее дружественная к пользователю. Именно ее код взят за основу ядра MacOS X (да, она тоже является BSD).
Кроме FreeBSD существует еще несколько версий этой системы, в частности – NetBSD. Эта система работает на 70 различных платформах, от КПК до огромных серверов NASA, она же используется на МКС. Еще одна разновидность — OpenBSD, отделившаяся от FreeBSD в 1996 г., отличается прекрасным уровнем безопасности, и поэтому часто используется в банках и на биржах.


Рекомендуем почитать: