Выдержки из книги «FreeBSD 6. Полное руководство» Брайан Таймэн, Издательство «Вильямс»
Возможно, вы слышали о таком феномене как «программное обеспечение (ПО) с открытым кодом»; это ПО, созданное разработчиками-добровольцами, которое распространяется абсолютно бесплатно вместе с исходным кодом, что позволяет пользователям анализировать код любой доступной в этом ПО функциональной возможности и даже изменять его или добавлять что-то свое. Вы наверняка не прочь воспользоваться таким ПО с открытым кодом и сделать так, чтобы оно работало на вас.
Тем не менее, существует вероятность, что о FreeBSD вы не слышали. Самой «яркой звездой» в мире ПО с открытым кодом на сегодняшний день является доступная бесплатно операционная система Linux, которая уже заручилась финансовой поддержкой такого гиганта по разработке ПО как IBM, и постоянно маячит в заголовках новостей о компьютерных технологиях, но Linux – это не единственная доступная бесплатно операционная система семейства Unix. О FreeBSD реже пишут в новостях, но это более старая и более надежная операционная система, которая стояла еще у истоков Unix и имеет ряд технических и концептуальных преимуществ по сравнению со своей более «модной» соперницей.
К преимуществам FreeBSD относится реализация стека сетевых протоколов TCP/IP, который многие находят одним из лучших в компьютерной индустрии, и реализация справочной системы, к которой разработчики другого ПО часто обращаются за справкой. Также одним из главных ее достоинств является надежная, основанная на микроядре архитектура, которую можно настроить так, что FreeBSD будет работать намного лучше, чем работала бы Linux в той же тестовой или производственной среде. Система пакетирования для сторонних программ в FreeBSD представляет собой очень простую и очень эффективную модель, и поскольку все в FreeBSD, начиная от ядра и заканчивая самыми маленькими вспомогательными программами, создавала одна группа разработчиков, каждому компоненту была уделена должная часть внимания, что в мире Linux встречается крайне редко. Таких отличий между FreeBSD и Linux еще очень много, хотя внешне эти две системы могут показаться очень похожими. Однако откуда же берутся эти отличия?
Люди часто забывают, что Linux – это не Unix. Да, в принципе Linux можно назвать операционной системой, подобной Unix, потому что она выполняет те же функции, что и большинство наиболее популярных и продаваемых версий Unix. Однако ее от начала и до конца разрабатывали сами пользователи на основе исходного кода, поэтому перед ее названием так часто можно увидеть слово «GNU» («GNU's Not UNIX» – проект по свободному распространению программного обеспечения). Все основные условия, которым должен отвечать проект GNU, перечислены в общедоступной лицензии GPL (GNU General Public License), где в качестве одного из пунктов указано, что любой разрабатываемый по этому соглашению код должен быть доступен бесплатно. Условия этого соглашения касаются также и коммерческих организаций, занимающихся разработкой ПО: любое ПО, которые они создают с помощью подпадающих под действие GPL материалов, они должны выпускать с доступным бесплатно исходным кодом.
Если между сторонниками бесплатного и коммерческого ПО и возникают разногласия, то только по поводу этого с виду совсем безобидного лицензионного соглашения. Проблема состоит в том, что многие компании не хотят принимать его условия, потому что для них бесплатное распространение исходного кода равнозначно разглашению профессиональных секретов. ПО, разрабатываемое в соответствии с условиями лицензии GPL, - это своего рода воплощение в реальность мечты о программном обеспечении, создаваемом людьми для людей, которое никому не принадлежит и которым могут пользоваться все, что противоречит принципам коммерческого ПО, которое продается в скомпилированной, исполняемой форме, и права на пользование которым принадлежат только одному конкретному производителю. В Linux эта мечта во многом осуществилась, но негативное влияние условий лицензионного соглашения GPL на бизнес привело к тому, что многие компании отказались использовать Linux в качестве основы при разработке своего ПО. И именно здесь становятся очевидными преимущества FreeBSD.
FreeBSD и Linux имеют разные традиции в смысле открытого кода. FreeBSD разрабатывалась не на основе лицензионного соглашения GPL, а на основе лицензионного соглашения BSD (Berkeley Software Design), в котором указывается, что код, первоначально разработанный в исследовательских центрах Калифорнийского университета в Беркли, может повторно использоваться при разработке ПО (в том числе и в коммерческих целях), и что последующая публикация исходного кода не является обязательным условием. Отчасти именно поэтому компания NeXT (которая была основана Стивом Джобсом (Steve Jobs) предпочла использовать операционную систему BSD в качестве основы для своей платформы NeXTSTEP, которая, в конечном счете, превратилась в операционную систему Mac OS X. Точно так же, пытаясь прощупать почву и привлечь внимание научных кругов, Microsoft выпустила в 2002 году среду программирования для своего языка C# и сделала ее доступной для двух операционных систем, Windows и FreeBSD. Отсутствие в лицензионном соглашении BSD условия об обязательной бесплатной публикации «ключей от королевства» делает его более привлекательным для компаний, занимающихся разработкой ПО в коммерческих целях, нежели соглашение GPL. Оно, с одной стороны, стимулирует пользователей принимать участие в разработке, а, с другой стороны, не накладывает никаких ненужных ограничений на компании. Поэтому компании предпочитают тратить свои ресурсы на разработку именно BSD-сертифицированных программ и превращения их в по-настоящему полезные продукты.
Из-за увеличения популярности Linux, FreeBSD приходится в прямом смысле «бороться за свое место под солнцем»; и хотя в технической прессе упоминания о FreeBSD сегодня встречаются практически так же часто, как и о Linux, большая часть внимания все равно достается Linux. Однако это вовсе не означает, что FreeBSD является в каком-то смысле менее привлекательной платформой, особенно если рассматривать ее с чисто технической точки зрения. На базе FreeBSD по-прежнему разрабатывают новый код и новые функциональные возможности, которые потом, подобно Mac OS X, превращаются в коммерческие продукты. Преимущества цельной архитектуры FreeBSD, которая поставляется в виде одного «дистрибутива» и с даже еще более усовершенствованным процессом инсталляции и пакетирования, сегодня ценятся не меньше, чем раньше. Новые версии FreeBSD продолжают выпускаться и пополняться постоянно появляющимися новыми технологиями (вроде Wi-Fi, FireWire и многоуровневой, симметричной параллельной обработкой), так что пользователю FreeBSD доступна та же (а в некоторых случаях даже большая) мощность, что и пользователю Linux, и он может выполнять все те же задачи, выполнение которых в Windows невозможно.
Все это означает, что FreeBSD вполне подходит вам, если вы:
- Научный сотрудник, которому в лаборатории необходима стабильная платформа для тестирования.
- Любознательный пользователь, который хочет открыть для себя мир настольных систем с открытым кодом.
- Специалист, тестирующий высокоэффективную топологическую схему сети.
- Администратор Web-сайта, которому необходима стабильная система с определенной структурой.
- Разработчик ПО, ищущий возможности внести свой вклад в разработку коммерческих продуктов, таких как операционная система Mac OS X.
- Просто пользователь, который не хочет зависеть от ограничений ПО с закрытым кодом.
Я впервые решил установить FreeBSD в 1997 году, когда вышла версия 2.2.2. Мое внимание к FreeBSD привлек тот факт, что уже на столь ранней стадии развития этой операционной системы поисковая система Yahoo! предпочла использовать в качестве платформы ее, а не Linux, а также то, что Hotmail (до того, как была приобретена Microsoft) использовала ее параллельно с Solaris для обработки огромного трафика, создаваемого пользователями ее работающей через Web службы электронной почты. Эти сведения показались мне достаточно убедительными, а когда я узнал, что FreeBSD можно установить через сеть с помощью установочных дискет, у меня вообще отпали все сомнения.
С того времени FreeBSD сильно изменилась: структура системы стала намного более организованной, модель безопасности – более сложной и более надежной, а революционный механизм «коллекции портов» для установки сторонних программ – настолько популярным, что он был даже импортирован в NetBSD, OpenBSD и Mac OS X. Также более простой стала и процедура перехода на FreeBSD с других платформ. Многие коммерческие и бесплатные (то есть с открытым кодом) версии Unix имеют свою собственную иерархию файловой системы и методы конфигурирования, изучать которые – это то же самое, что и изучать другой иностранный язык; а модель FreeBSD, основанная на централизованных конфигурационных файлах и имеющая четко контролируемую структуру файловой системы, является более предсказуемой и более удобной для администрирования, чем какая-либо другая система в мире Unix. Поэтому ее легче осваивать, особенно пользователям, которые давно работают с другими платформами Unix. И, наконец, модуль ядра Linux, обеспечивающий совместимость на уровне двоичных кодов, позволяет программам, разрабатывавшимся в коммерческих целях для Linux (таким как RealPlayer и Oracle), запускаться на платформе FreeBSD. Хотя FreeBSD не пользуется такой популярностью, как Linux (или даже можно сказать, страдает от этой популярности), она действительно предоставляет практически все основные преимущества, доступные пользователям, которые работают с Linux, а также множество своих собственных преимуществ.
Сейчас Linux занимает первое место по популярности среди операционных систем с открытым кодом (и, по крайней мере в ближайшем будущем, эта ситуация вряд ли изменится). Однако FreeBSD продолжает удерживать свои позиции на рынке, представляя собой альтернативный вариант операционной системы для компаний, которые устали от «диктатуры» Microsoft, но беспокоятся о возможных негативных последствиях перехода на Linux или не знают, какой дистрибутив лучше выбрать. Другие BSD-сертифицированные операционные системы тоже «надежно закрепились» на соответствующих участках рынка: OpenBSD, например, продолжает считаться самой безопасной из всех доступных операционных систем, а NetBSD славится тем, что может запускаться на огромном количестве различных аппаратных платформ, начиная от Intel x86 и Motorola PowerPC и заканчивая Sega Dreamcast.
Роль FreeBSD более универсальна – при теперешнем мощном оборудовании она запросто может использоваться в качестве полнофункционального Internet-сервера или рабочей станции. Она не является чрезмерно специализированной и не выставляет условий, которые могут отпугнуть финансовых директоров корпораций.
Она придерживается курса, который пролегает как раз между двумя существующими сегодня противоположными направлениями, и в ближайшие годы, скорее всего, по-прежнему будет занимать стабильные позиции на рынке и оставаться наиболее предпочитаемым вариантом операционной системы в мире среди компьютерных профессионалов с высокими требованиями.
Мы не могли в точности предвидеть, каким будет состояние компьютерной индустрии ни двадцать, ни десять, ни даже пять лет назад. И сейчас мы тоже даже не можем себе представить, что ждет нас через 10 или 20 лет, но, судя по тому, как успешно складывалась судьба FreeBSD до сих пор, можно сделать следующий вывод: FreeBSD будет с нами до тех пор, пока будет существовать такое направление, как «разработка ПО с открытым кодом». Возможно, настанет такой день, когда FreeBSD благодаря тому, что она представляет собой компромисс между гибкостью, которую подразумевает ПО с открытым кодом, и защищенностью, которой требует коммерческое ПО, станет единственно возможным типом платформы.