Bsd что это такое
Почему BSD проиграла в битве с GNU/Linux?
Существует множество разных операционных систем с открытым исходным кодом, и если вы пользуетесь одной из них, то почти наверняка она будет на базе ядра Linux и набора программ GNU. Многие думают, что дистрибутив GNU/Linux и был первой open source операционной системой. Но это не так. Его опередил проект Berkeley Software Distribution, или BSD. Причем будет справедливо сказать, что он был также более профессиональным и ориентированным на рынок. Но почему тогда BSD сейчас находится на задворках экосистемы open source, тогда как GNU/Linux играет одну из центральных ролей? Посмотрим на это с исторической перспективы.
История BSD тесно связана с Unix, операционной системой, которая была выпущена AT&T Bell Labs в 1969 году. В конце 70-х группа специалистов Калифорнийского университета в Беркли во главе с Биллом Джоем начала разработку проекта BSD как одного из дистрибутивов Unix. Какой-либо существенный разницы между ними на тот момент не было. Они просто добавили несколько дополнительных утилит, которые включали исходный код, принадлежащий AT&T.
Однако все начало меняться в начале 80-х, когда решение AT&T продавать Unix привело к появлению спроса на свободный клон Unix-а, но без дорогостоящей лицензии. Разработчики BSD в течение нескольких лет трудились над тем, чтобы отделить их код от кода AT&T. Они медленно, но верно шли к созданию собственной полноценной Unix-like операционной системы.
Их цель была достигнута в июне 1991 года, с выпуском BSD Net 2. В отличие от предыдущего релиза Net 1, который состоял по большей части из кода для работы с сетями и не был самостоятельной операционной системой, Net 2 была именно полноценной Unix-like системой.
И так как BSD Net 2 шла с лицензией, которая давала доступ к исходном коду и право свободно распространять как ее саму, так и любые ее производные, она была по сути первой open source операционной системой в истории. Хотя самого понятия «open source» в то время еще не было, и лицензия BSD не соответствовала требованиям Free Software Foundation Ричарда Столлмана, тем не менее Net 2 стала большим шагом вперед для всего сообщества свободного программного обеспечения. Это доказало, что написать свободный клон Unix — реально.
Выпуск Net 2 имел большое значение также и потому, что на тот момент это был единственный свободный клон Unix, который действительно работал. Линус Торвальдс выпустил первую версию ядра Linux лишь через несколько месяцев, причем прошло более чем два года, прежде чем оно стало достаточно применимым. Тогда как в проекте операционной системы GNU, которую с 1984 года разрабатывали Ричард Столлман и его сторонники, еще не было своего рабочего ядра.
И если BSD Net 2 была первой свободной Unix-like операционной системой в своем роде, то почему она не смогла «выстрелить» и стать тем, чем стал GNU/Linux — главной платформой экосистемы open source?
В бой вступают юристы
Одной из причин были судебные тяжбы между Berkeley Software Design Inc. (BSDI) и Unix Systems Labs (USL). В начале 90-х компания USL стала владельцем операционной системы AT&T Unix и подала в суд на BSDI за нарушение своих авторских прав. Неудивительно, ведь они разрабатывали свободную альтернативу их продукту. В марте 93 года суд отклонил большинство их претензий, но юридические баталии все еще продолжались вместе с контр-иском Калифорнийского университета. И только в начале 94 года, когда уже компания Novell стала владельцем Unix, все юридические споры были окончательно урегулированы.
Если смотреть в целом, все эти юридические проблемы на самом деле не помешали распространять и использовать операционную систему BSD. Но возникшие сомнения в защищенности ее юридического положения однозначно замедлили это. По всей видимости, именно поэтому возник тот самый исторический шанс для ядра Linux, который позволил ему неожиданно «выстрелить». А ведь это был просто хобби-проект одного финского студента, в отличие от профессиональной разработки группой ученых ведущего американского университета.
Две разные лицензии
Медленный рост BSD не получится объяснить только лишь юридическими проблемами. В конце концов у GNU/Linux тоже были аналогичные серьезные проблемы в начале 2000-х, когда SCO Group подала в суд на нескольких крупных вендоров Linux и корпоративных пользователей. Эти тяжбы в целом завершились только в 2007 году в пользу Linux. Но тем не менее они не оказали такого негативного воздействия, популярность Linux-а продолжала расти.
Одна из причин почему BSD не смогла обрести такую популярность среди технически продвинутых программистов и админов («хакеров») заключается в характере лицензии Net 2, которая разрешала практически все. В отличие от лицензии GPL проекта GNU, которая обязывает раскрывать исходный код всех производных продуктов, лицензия BSD к этому не обязывает. Программисты могут свободно заимствовать и модифицировать код для любых задач, не делая его публичным. Это очень хорошо для коммерческих проектов, но плохо для «хакеров», которые ценят открытость и прозрачность.
Две разные методологии
Третья важная причина заключается в том, что BSD разрабатывалась относительно небольшой организованной группой профессиональных программистов из Беркли. В то время как разработка ядра Linux велась Линусом Торвальдсом с помощью широкой и гибкой сети добровольцев раскиданных по всему миру. Используя сравнения Эрика Раймонда из его знаменитого эссе, создание BSD было подобно строительству величественного «собора», который тщательно возводила небольшая группа мастеров своего дела. Тогда как развитие Linux-а выглядело как стихийный «базар», в котором дела решались быстро, новые версии появлялись часто, и единственным требованием к членам этой разношерстной команды была способность решать насущные вопросы.
«Соборный» подход также был характерен для самого проекта GNU, еще задолго до появления Linux, но именно Linux показал как можно быстро обрести популярность через частые релизы. Таким образом Линус Торвальдс случайно открыл совершенной новый, более эффективный подход в разработке, благодаря которому Linux смог очень быстро эволюционировать, гораздо быстрее чем BSD.
Наследие BSD
Разумеется, проект BSD не мог просто исчезнуть после стремительного взлета Linux в 90-х. Более того, множество свободных операционных систем, берущих начало из Net 2, в первую очередь NetBSD, OpenBSD, FreeBSD, продолжает жить и здравствовать, пусть с небольшим, но зато преданным комьюнити.
В то же время, характер лицензии BSD привел к ее популярности среди разработчиков проприетарного ПО. Самый яркий пример — это компания Apple, которая использовала исходники BSD в своих операционных системах macOS и iOS. Учитывая это, BSD — в той или иной форме — имеет сегодня огромную армию поклонников, хотя большинство владельцев макбуков и айфонов даже не подозревают, что их устройства используют «open source» код, который разрабатывали в Беркли с 80-х до начала 90-х.
Возможно, это печально, ведь программные решения Apple закрыты настолько, насколько это возможно. Это прямая противоположность того, о чем мечтали создатели BSD, когда выпустили Net 2 в 1991 году. Как бы то ни было, итог получился интересный.
Примечания переводчика
Это был перевод статьи «Open Source History: Why Didn’t BSD Beat Out GNU and Linux?», автор Christopher Tozzi.
Отмечу, что на сайте FreeBSD приводятся немного другие сведения — о том, что первой полноценной операционной системой была не BSD Net 2, а 386BSD, вышедшая в 1992 году. На русском, на английском.
Еще одним ярким примером популярности наследия BSD является игровая приставка Sony Play Station — ее операционная система является форком FreeBSD.
Понимая, что затронута достаточно холиварная тема, прошу всех писать только взвешенные комментарии и уважать другую точку зрения. Давайте также сделаем небольшой опрос.
Чем FreeBSD отличается от Linux
Давайте вместе разберемся, чем отличается FreeBSD от Linux. В статье мы рассмотрим сходства и отличия этих ОС, а также подробно расскажем, для чего нужна FreeBSD. Также мы постараемся разобраться, что лучше — FreeBSD или Linux – для сервера, встраиваемых систем, суперкомпьютера и обычного компьютера.
FreeBSD — что это такое
FreeBSD — это операционная система с открытым исходным кодом, которая принадлежит к семейству Unix. Её название условно состоит из двух частей: Free — что значит свободная и BSD — что расшифровывается как Berkeley Software Distribution (система распространения программного обеспечения).
BSD — это программное обеспечение, которое было придумано в 1990-е годы в Калифорнийском университете (Беркли). Со временем его код стал открытым, благодаря чему на основе БСД стали разрабатывать ОС под разные задачи. Таким образом сформировалось отдельное подсемейство BSD.
Основные дистрибутивы BSD:
NetBSD — хорошо подходит для сложных архитектур и встраиваемых систем. Является одним из самых первых дистрибутивов;
DragonFlyBSD — идеально подойдет для регулярной обработки данных на сервере и многопроцессорной обработки. Версия, которая позволяет работать на максимально высоком уровне производительности;
OpenBSD — подходит для крупных банков и государственных структур, поскольку обеспечивает высокий уровень безопасности;
OS — единственная коммерческая версия программного обеспечения. В настоящее время не поддерживается;
FreeBSD — самая популярная операционная система (установлена у 70% пользователей BSD). Эта версия проста в управлении и позволяет работать на высоком уровне производительности. Она подойдет как для домашнего, так и для коммерческого использования. Например, на её основе построен Yahoo.
TrueOS (или PC-BSD) — лучше всего подходит для использования на рабочих станциях. Эта ОС была разработана на базе FreeBSD.
FreeBSD лежит в основе таких продуктов, как FreeNAS (специальная ОС для сетевых хранилищ), Darwin (ядро macOS, iOS), pfSense (один из дистрибутивов межсетевых экранов) и многих других.
На Free удобно устанавливать приложения. Это можно сделать одним из двух способов:
Через диспетчер пакетов (лучше всего использовать версии не ниже 9.1 с гибкой реализацией пакетов).
Через коллекцию портов — автоматизированный механизм сборки программ из исходных кодов. Эта система помогает упростить процессы установки — достаточно выбрать нужные пункты и задать параметры сборки.
Сравнение FreeBSD и Linux
Правильнее будет говорить о сравнении операционной системы FreeBSD с одной из операционных систем семейства Linux (например, Ubuntu, CentOS или Debian). Также между собой можно сравнить два подсемейства — Linux и BSD, что мы и сделали.
Сходства
— Оба подсемейства поддерживают практику свободного распространения и имеют открытый исходный код.
— Linux и BSD имеют общие истоки — принадлежат к семейству UNIX. Поэтому их структура содержит схожие элементы (например, принцип иерархизации файлов).
Теперь разберемся, каковы основные отличия BSD и Linux систем.
Различия
— Одно из главных отличий заключается в том, что Linux является ядром сам по себе, в то время как BSD помимо ядра включает и другие комплектующие компоненты.
— BSD и Линукс работают по разным типам лицензии. Так все BSD-дистрибутивы работают по свободной лицензии — в этом случае нет четких границ и условий распространения. Linux же работает по лицензии GNU, в соответствии с которой при использовании кода необходимо строго соблюдать все условия распространения.
— Для установки пакетов БСД преимущественно использует порты (на сегодняшний день их порядка 33 000). Linux же получает пакеты в уже готовом — бинарном виде. Наиболее популярные форматы пакетов — RPM и DEB;
— Линукс — более популярное семейство, его чаще устанавливают. Также о нём знает или хотя бы слышал больший процент обычных пользователей. А это значит, к Linux изначально больше доверия.
На самом деле, в споре”FreeBSD vs Linux” нет гарантированно правильного ответа — рассматриваемые семейства очень похожи. Только вы можете определить, что лучше подойдет под ваш проект или конкретные цели.
Итак, мы подробно рассказали о FreeBSD — что это за программа и для каких целей подойдет. Надеемся, наш обзор помог вам разобраться, в чём отличие FreeBSD от операционных систем семейства Linux.
Must read. 7 свежих англоязычных статей о FreeBSD, NetBSD и OpenBSD
Чем различаются операционки семейства BSD, как внести в них свой вклад и создать собственную версию ОС.
Dana Moskvina / Skillbox Media
Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске — самые интересные статьи об операционных системах семейства BSD. Самые известные из них — OpenBSD, FreeBSD и NetBSD, хотя есть и другие модификации. Все они бесплатны и созданы на основе Unix.
NetBSD/FreeBSD/OpenBSD vs Linux
Зачем читать: узнать особенности каждой из ОС, их историю и различия.
Где читать: про NetBSD — на MakeUseOf; про FreeBSD — на BugsWriter; про OpenBSD — на That grumpy BSD guy.
История: при создании BSD разработчики не смогли договориться о приоритетах, и в итоге одна группа сосредоточилась на том, чтобы операционка как можно лучше работала на ПК, а вторая — чтобы она поддерживала как можно больше архитектур и устройств. В итоге проект разделился, и у первой группы получилась FreeBSD, а у второй — NetBSD. А позже один из разработчиков FreeBSD создал ещё одну версию — OpenBSD, систему, безопасную до параноидальности.
Но почему мы вообще говорим о BSD? И чем это семейство лучше Linux? А преимуществ у них и правда предостаточно:
Кроме общих характеристик у каждой из этих BSD-систем есть и свои особенности. Например, самая известная фича NetBSD — это универсальность. Её можно запустить почти на любом железе, от х86_64 до MIPS. Более того, можно найти и версии для Motorola 68000 или Sega Dreamcast… Кто-то умудрился поставить NetBSD даже на тостер!
Эта система отлично подойдёт владельцам старых девайсов, для которых уже не выпускаются обновления.
А что нужно знать об OpenBSD? Её главные преимущества — безопасность и надёжность. Одно из правил OpenBSD — постоянная активная проверка и поддержка кода. Например, когда где-то находят баг, его не просто фиксят: код анализируют и ищут похожий в других местах, чтобы исправить аналогичные ошибки.
А разработчикам будет приятно узнать, что в систему уже из коробки включены основные инструменты для программирования под *nix и компайлер для C и С++ — Clang.
А что может предложить FreeBSD? В первую очередь — скорость.
В то время как её родственникам пришлось принести скорость в жертву безопасности или кросс-платформенности, разработчики FreeBSD сосредоточились на максимальной оптимизации операционки для работы на ПК. Та же OpenBSD значительно медленнее фряхи и уж точно менее юзер-френдли.
В бэкграунде — программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.
NetBSD на М1
Зачем читать: посмотреть на то, как Запашные из мира BSD укротили М1.
Пруф к утверждению об универсальности NetBSD: её запустили даже на М1, новом процессоре Apple. Это даёт надежду на то, что в будущем на М1 заработают и другие операционки, а не только macOS, — так, разработчики Linux уже портируют его под архитектуру Apple.
Но пока что это мечты: даже NetBSD запустить было не так-то просто. Всё-таки М1 не рассчитан на сторонние системы, и понадобилось немало дополнительных драйверов.
Карманная BSD — NomadBSD
Зачем читать: узнать о возможностях BSD, создании новой версии операционки и её установке.
Вот ещё интересный пример, насколько сильно можно играться с BSD-системами: автор статьи создал свою операционку на основе FreeBSD, но только в разы легче и компактнее. В то время как стандартная версия использует порядка 40 ГБ дискового пространства, его карманная версия, названная NomadBSD, — всего 5 ГБ!
Кстати, этот форк — ещё и пример совместимости BSD-систем с программами для Linux: в NomadBSD использованы линуксовый оконный менеджер и рабочая среда.
Правда, автор уточняет, что, несмотря на привлекательность компактного варианта, для первого знакомства с системами BSD всё-таки лучше выбрать другие версии: начать он рекомендует с GhostBSD, а продолжить — FreeBSD или OpenBSD.
Как сделать свой вклад во FreeBSD
Зачем читать: узнать, как законтрибьютить что-нибудь во FreeBSD.
Как и любой проект с открытым исходным кодом, FreeBSD всегда приветствует новых участников и разработчиков. Но стороннему человеку бывает сложно разобраться, с чего начать.
Вот главные советы:
Дискуссия: создание своей версии ОС на основе FreeBSD
Зачем читать: узнать, как начать сборку кастомной версии FreeBSD.
А если вам интересно самим покопаться в операционках и, может, даже создать собственную версию, то стоит заглянуть в это обсуждение на Reddit. Топикстартер спросил, как лучше создать свою версию операционки на основе FreeBSD — максимально простую, для личного пользования. И вот что ему посоветовали:
ОС BSD жила, живет и будет жить
События в мире свободно-распространяемых операционных систем семейства BSD: FreeBSD, OpenBSD и NetBSD, уже давно привлекают внимание разработчиков ОС. Информация о возможностях, преимуществах и недостатках подобных систем, а также сведения по их коммерческим реализациям (BSD/OS) будут полезны, когда в очередной раз перед пользователем встанет вопрос: приобретать ли коммерческую Unix-систему или сделать шаг в сторону свободно распространяемого программного обеспечения. Кроме того, статья может заинтересовать всех, кто хочет узнать саму историю ОС Unix.
1. Все началось с 386BSD
В то время по миру бродило несколько версий BSD Unix, но все они имели нечто общее: для их использования требовалось обладать лицензией на первоначальный исходный код Unix. Большая часть кода BSD была написана в Беркли, и однажды кто-то заметил, что собственно оригинального кода осталось не так уж и много; так родилась идея создать свободно-распространяемый Unix и начать его распространение через Сеть (Net distribution).
Рассмотрим эти системы более подробно, однако сразу стоит заметить, что очень часто многое, сказанное об одной системе, подходит и к другой: все эти ОС OpenBSD, FreeBSD и NetBSD развиваются раздельно, но не изолированно.
2. NetBSD
3. FreeBSD
Проект FreeBSD родился в начале 1992 года и частично вырос из проекта «Неофициальный набор исправлений для 386BSD» или, точнее, из patchkit, возглавляемого Нейтом Вильямсом, Родом Граймсом и Джорданом Хаббардом. Кроме того, в разработке участвовали Дэвид Гринмэн и Джулиан Элишер, хотя официально они присоединились к проекту только через месяц после начала его реализации. Поскольку организация работы через patchkit уже не могла спасти положение, главной целью проекта было создание промежуточного варианта 386BSD, в котором была бы исправлена большая часть ошибок. Возможно, кто-то сейчас еще может вспомнить рабочие названия проекта типа 386BSD 0.5 или 386BSD Interim, которые отражали текущее положение дел.
Но теперь разработчикам предстояло фактически начать все заново, основываясь на новом и неполном наборе BSD 4.4-Lite. Из-за различных юридических ограничений команда Berkeley CSRG удалила большое количество кода, используемого для создания загружаемой работоспособной системы, и фактически порт на Intel x86 оказался очень неполным. FreeBSD Project вновь начал работу в декабре 1994-го, и уже в январе 1995 года FreeBSD версии 2.0 появилась в Сети и на CD. Несмотря на некоторые шероховатости, система имела большой успех, и вскоре за ней последовала более быстрая и удобная в установке FreeBSD 2.0.5, выпущенная в июне 1995 года.
В конце этого года на свет появилась версия 2.1, очень стабильная, во многом усовершенствованная, которая по всем параметрам превосходила версию FreeBSD 1.1.5.1. За два года была проделана огромная работа по превращению неполного набора BSD 4.4-Lite в работающую, надежную и удобную операционную систему. Нельзя не восхищаться командой разработчиков, к которой к тому времени присоединились многие прекрасные программисты-энтузиасты. Чуть позже 2.1 превратилась в 2.1.5, затем в 2.1.6. В обоих случаях повышена стабильность, добавлены дополнительные драйверы, исправлены найденные ошибки. В феврале 1997-го в системной библиотеке была обнаружена неточность в обработчике переменной окружения PATH_LOCALE, и тогда команда разработчиков FreeBSD удалила версию 2.1.5/2.1.6 со всех FTP-серверов и выпустила версию 2.1.7 (security-release). Затем вышла версия 2.2 и начались работы над FreeBSD 3.0, где намечается повышение качества работы виртуальной машины (VM), что позволит улучшить эмуляцию DOS и Windows-приложений.
Таким образом, разработка FreeBSD не представляет собой закрытый процесс, а напротив, поддерживает многолетние традиции сотрудничества специалистов из разных стран мира, работающих над одной задачей. Самые активные из разработчиков переходят в команду FreeBSD core team, которая занимается общим направлением и целевой координацией проекта.
4. OpenBSD
По наследству OpenBSD досталась хорошая многоплатформенная поддержка, однако процесс портирования продолжается. Особое внимание группа OpenBSD уделяет защищенности системы: в частности уже давно была предпринята попытка по переработке исходного кода для предотвращения возможных атак, связанных с фиксированным размером буфера [1], а также выполнено исправление множества программ. У OpenBSD великолепная POSIX-совместимость, надежность и защищенность. Команда OpenBSD всегда оперативно реагирует на сообщения о неточностях и возможных неполадках, она открыта для новых разработчиков, и у каждого специалиста есть возможность добавить в систему то, чего ей не хватает.
5. Возможности Net/Free/OpenBSD
Итак, что же сегодня представляет собой семейство свободно распространяемых BSD Unix-систем?
6. Особенности реализаций
В дополнение к основной поставке FreeBSD предлагает большую коллекцию портированных программных продуктов из нескольких сотен наименований. Список включает сетевое программное обеспечение, системы программирования, игры и многое другое. Полная коллекция занимает только 10 Мбайт на диске, поскольку хранятся лишь списки изменений, которые необходимо произвести в исходных текстах перед компиляцией. Для установки достаточно набрать команду «make», после чего система автоматически заберет базовую версию программы с CD или с сервера FTP, произведет необходимые изменения и скомпилирует. Для тех, кто не собирается компилировать программы самостоятельно, подойдет коллекция уже готового программного обеспечения (packages). Для установки программы необходимо набрать единственную команду «pkg_add» с именем архива, который можно найти на CD или на FTP.
7. Примеры использования
Поскольку исходный код систем полностью доступен, система может быть настроена и/или адаптирована для решения конкретных проблем, что обеспечивает гибкость, отсутствующую у многих коммерческих закрытых систем. Вот лишь некоторые примеры использования FreeBSD, NetBSD или OpenBSD:
До сих пор основное внимание уделялось свободно распространяемым BSD-системам, однако имеет смысл упомянуть также коммерческую версию BSD/OS компании Berkeley Software DesingBSD/OS. Несколько ведущих специалистов CSRG организовали в 1991 году BSD Inc., чтобы развивать технологию BSD и донести ее до коммерческих заказчиков.
9. Так что же лучше?
Но сегодня положение изменилось. Пользователь имеет возможность приобрести ПК, который будет в несколько раз мощнее многопользовательских VAX, и при этом выбрать из нескольких свободно распространяемых операционных систем (BSD, Linux и т. д.) Классический вопрос: если нечто выглядит, как утка, прогуливается, как утка, и крякает, как утка, как это называется? Ответ зависит от того, является ли слово «утка» торговой маркой! Если это так, то самое лучшее, на что вы можете рассчитывать без согласия владельца торговой марки, это «уткоподобное существо». Unix является торговой маркой X/Open Company, поэтому остальные системы, которые не имеют права на ее использование, именуют свои продукты Unix-подобными или даже «UN*X-like». Поэтому ни одна из перечисленных ОС формально не может называться Unix, но разве они стали от этого хуже?
Автор выражает признательность за содействие в подготовке статьи Полу Краненбургу (NetBSD), Ясону Торпу (NetBSD), Тео де Раадту (OpenBSD) и Джордану Хаббарду (FreeBSD).
Литература
Дополнительная информация об операционных системах семейства BSD
Usenet groups: comp.Unix.bsd.* Fidonet: ru.Unix ru.Unix.bsd IRC: #netbsd, #freebsd, #openbsd etc.
Поделитесь материалом с коллегами и друзьями