The Future
Давным-давно, в далеко-далекой галактике...
Когда появились первые персональные компьютеры, я думаю, что мало кто мог предположить, какая их роль будет в начале третьего тысячелетия! Мало кто думал, что Microsoft станет такой известной компанией, как IBM в то время! А кто мог предположить рост программных продуктов с открытым исходным кодом? И то, что эти продукты будут на равных бороться с Microsoft за долю рынка? Можно было ли предложить, что в 2001 году IBM будет поддерживать развитие Linux? Но и сегодня, контуры будущего отнюдь не проще, очень уж быстро развиваются технологии. Предсказать, продукция, каких компаний будет использоваться через 20 лет, - очень тяжело! Тем не менее, легко догадаться, что Internet будет развиваться. Ясно и то, что реже сервера будут работать на коммерческих операционных системах. В ближайшие годы подавляющее большинство серверов будет работать под управлением операционных систем семейства UNIX с открытым исходным кодом. Даже недавние попытки Microsoft представить Linux злейшим врагом интеллектуальной собственности способствовало росту его популярности! Как бы то не было, но программные средства с открытым исходным кодом уверенно отвоевывают себе место под солнцем.
Давайте окунемся немного в прошлое. Операционная система Unix родилась случайно. В середине 60-ых годов AT&T Laboratories совместно с другими компаниями прикладывала немалое усилие для разработки новой операционной системы под название Multics. Ее предполагалось использовать для крупных вычислительных систем. Весной 1969 года Bell Labs вышла из проекта, и программисты Computing Science Research Centry остались без вычислительной среды. К этому времени они разработали свою файловую систему, которая в последствии превратилась в файловую систему UNIX. Первые версии UNIX были написаны на языке ассемблер. В 1973 году UNIX была переписана на С - совершенно новом языке программирования, разработанном Ритчи. Создание языка программирования С и системы UNIX - две самые важные вехи в истории компьютерной индустрии. AT&T предложила UNIX в виде исходных кодов правительственным учреждениям и университетам за сравнительно небольшую плату. Вот так Unix попал в 80% университетов. Одна из первых организаций, вплотную занявшихся работой над UNIX, стала группа из Калифорнийского университета в Беркли - Computer Systems Research Group. Этому способствовал тот факт, что в 1975 году Кен Томпсон основал Bell Labs и перешел в отдел компьютерных исследований в Беркли. В работе над расширением системы ему активно помогал студент-выпускник Билл Джой. Калифорнийские студенты и преподаватели внесли значительный вклад в систему UINX. Измененная и скорректированная в университете версия была выпущена под названием Berkeley Software Distribution, или BSD. В конце 70-ых годов произошло важное событие: Министерство обороны США объявило, что ее подразделение Advaced Research Project Agency будет использовать BSD. Так благодаря военным UNIX стал продвигаться вперед по пути совершенствования. Большая часть кода BSD была доступна бесплатно. В 1991 году BSD была портирована на платформу Intel x86. Эта версия операционной системы была названа 386/BSD. А в Калифорнийском университете была образованна новая коммерческая группа, которая начала продавать коммерческую версию BSD для платформы x86.
Однако часто незамеченным остается тот факт, что Linux - это не UNIX; это скорее, разновидность UNIX. Да, эта система выполняет те же функции, что и коммерческие версии UNIX, но в отличие от них, она целиком и полностью разработана сообществом ее пользователей. Основные принципы этого проекта отображены в общедоступной лицензии GPL, GNU General Public License, где сказано, что любой код, созданный по данной лицензии, должен быть бесплатным и доступным всем желающим. Это приложение распространяется и на коммерческое программное обеспечение, разработанное на базе открытого кода. Главная идея GPL такова: программы придуманы людьми и для людей, а значит, они никому не принадлежат и не могут использоваться для получения коммерческой выгоды. Однако некоторые компании, пользуясь открытым ПО, не хотят соблюдать условия GPL. По их мнению, распространение разработанного ими исходного кода равносильно публикации коммерческих секретов. программному обеспечению с открытым кодом противостоит коммерческое ПО с закрытым кодом, поставляемое исключительно в виде исполняемых программ. Конечно, коммерческие предприятия не в восторге от отсутствия альтернативы, но общедоступная лицензия, их тоже пугает, поскольку бесплатное ПО ассоциируется с ненадежным ПО. Немного другой разговор о *BSD (Berkeley Software Design) системах. BSD основана на более либеральной лицензии для открытых программных средств, которая позволяет применять код, разработанный в Калифорнийском университете в Беркли, при разработке собственных программ, не требуя обязательной публикации вновь разработанного кода. Лицензия BSD более дружелюбна к специалистам, разрабатывающим коммерческое ПО, чем GPL. Вот почему Apple избрала ядро BSD в качестве основы для своей платформы NeXTSTEP, которая позже превратилась в Mac OS X! Вот почему Microsoft предпочла систему FreeBSD операционной системе Linux, анонсировав планы портирования среды программирования C# на платформу FreeBSD. Лицензия BSD поддерживает вклад множества пользователей и в тоже время не создает коммерческих препятствий компаниям, вкладывающим средства в разработку BSD-программ.
Естественно, можно предположить, что Linux и FreeBSD являются конкурентами. По мнению части пользователей, так оно и есть. Одним из самых существенных различий между Linux и FreeBSD являются методы их продвижения. Систему FreeBSD практический не рекламируют. А вот агрессивная поддержка Linux не имеет аналогов в мире UNIX. В какой-то мере в этом есть свой смысл: Linux - пример "экстремальной" системы с открытым ПО, а FreeBSD - компромисс между энтузиазмом и корпоративной рутиной. Резонанс, вызванный поистине всенародным вкладом в Linux, способствует популярности этой операционной системы. Вместе с тем множество самодеятельных разработчиков создает белее хаотичную платформу. FreeBSD - это более традиционная система, поэтому вокруг нее меньше шума, но во многих отношениях она более мощная и более предсказуемая. Это правильный UNIX, с коммерческим кодом, таким же стабильным, как и традиционные версии UNIX, от известных производителей "железа". С середины 80-ых произошли значительные изменения. Улучена компоновка системы; механизм защиты укреплен и усовершенствован. Поистине революционный набор портированных для FreeBSD оказался весьма успешным и был перенесен в NetBSD, OpenBSD и Mac OS Х; а модуль бинарной совместимости с Linux дает возможность запускать во FreeBSD программы для Linux. Что касается открытых операционных систем, то Linux в ближайшем будущем, останется в центре внимания. FreeBSD, тем не менее, тоже продвигается вперед - благодаря компаниям, желающим выйти из тени Microsoft. До сих пор они не решались перейти на Linux из-за жесткой по требованиям лицензии GPL, и запутанности в дистрибутивах Linux. Другие системы, выпускаемые по лицензии BSD, тоже имеют свою нишу на рынке: OpenBSD сфокусирована на том, чтобы оставаться самой безопасной операционной системой, а NetBSD функционирует практически на любых аппаратных средствах, даже Sega Dreamcast.
Давайте рассмотрим наиболее существенные оставшиеся факторы различия операционных систем Linux и FreeBSD. У FreeBSD только один дистрибутив, а у Linux из более 100. FreeBSD будет одинаково работать на любой платформе. В случае с Linux это не так. У каждого дистрибутива Linux свой подход. Например, Slackware Linux использует управляющие сценарии типа BSD. Debian Linux - управляющие сценарии Sys V, а Red Hat Linux не просто использует сценарий Sys V, но еще и сохраняет их не там, где этого требует стандарт Sys V. Это вводит пользователей в заблуждении, когда они переходят с одного дистрибутива Linux на другой. FreeBSD является полноценной операционной системой, поддерживаемой основным составом; Linux - это только ядро, поддерживаемое Линусом Торвальдсом. Компании, занимающиеся распространением Linux, комплектуют свои дистрибутивы целым рядом программ, специально разработанных для Linux. Поскольку каждый дистрибьютор имеет собственно мнение относительно того. что должно быть включено в дистрибутив, вполне возможно, что одной программы не окажется в другом дистрибутиве. Это часто вызывает проблемы при модернизации Linux. Например, можно обновить Linux и обнаружить, что необходимы еще некоторые пакеты. Поскольку FreeBSD является полноценной системой, ее модернизация осуществляется гораздо легче. Поскольку в FreeBSD поддерживается одно дерево исходного кода, она стабильней Linux и в большей степени соответствует производственным целям. Основной недостаток FreeBSD, вызванным таким подходом, является то, что нововведения допускаются в систему медленней, чем в Linux.
Трудно сказать, что ждет компьютерную индустрию через десять или двенадцать лет. Тем не менее, есть все основания предполагать, что FreeBSD будет с нами до тех пор, пока будут развиваться открытые программные средства. И не исключено, что однажды компромисс между открытыми и коммерческими средствами, который воплощает FreeBSD, станет единственным возможным решением.
Давным-давно, в далеко-далекой галактике...
Статья основана на книгах и рецензиях великолепного технического аналитика и системного администратора - Майкла Эбена.
|