В этой главе будет дано общее представление об ОС FreeBSD, ее истории, условиях распространения и сфере применения. Однако сначала я попытаюсь рассказать, почему я люблю эту систему - возможно, мои мотивы покажутся читателю убедительными.
Чудо женщина жила,
Не добра и не мила,
Но к себе она влекла
Джентльменов без числа
От Дувра до Хольспая...
Африкой он была,
Южной Африкой была,
Нашей Африкой была,
Африкой без края...
Редьярд Киплинг
Прежде чем начинать рассказ о системе, не худо бы убедить читателя в том, что система эта лично ему нужна и полезна. Я же даром убеждения не обладаю - иначе подался бы в религиозные пророки или комсомольские секретари. И потому, вместо обоснования несравненных достоинств FreeBSD, просто попробую рассказать, почему и за что я ее люблю. Хотя, когда речь идет о любви, понятия "почему" и "за что" кажутся неуместными. Или, по крайней мере, рациональному истолкованию не поддающимися. Так что для начала - преамбула личного характера. Читатели, не имевшие опыта работы с Unix, обнаружит в ней несколько незнакомых слов. Не пугайтесь, это не ругательства, что я постараюсь показать во второй главе.
Мое шапочное знакомство с FreeBSD началось лет пять назад - на этапе первичного приобщения к миру свободного софта. Рыская по книжным магазинам в поисках дистрибутивов Linux, только что появившихся в широкой продаже, я то и дело натыкался на коробки с изображением чертика с вилами и надписью - FreeBSD. Чем-то они неосознанно привлекали меня - возможно, загадочностью: об этой системе в русскоязычной литературе имелись только отрывочные упоминания. Тем не менее опробовать эту систему я не рискнул - это тогда казалось мне, старому пользователю DOS, избалованному годами работы в Windows, непосильным.
Непосредственное же общение с FreeBSD пришлось на последние дни ушедшего тысячелетия. К тому времени я, безжалостно истребив на своей машине известное произведение Самой Великой Софтверной Компании, уже более или менее освоился с Linux, и даже научился выполнять в нем все жизненно важные для меня задачи. Скажу больше - Linux как настольная система меня вполне устраивал.
Казалось бы, чего еще желать? Однако неискоренимое любопытство требовало знакомства с чем-то новым. И напрашивающееся решение для удовлетворения любопытства - установить FreeBSD. Что я и не замедлил проделать...
Первым чувством, охватившим меня еще в процессе установки, было чувство растерянности. Которое только усилилось после запуска новой системы. При полном, казалось бы, внешнем сходстве с Linux, все во FreeBSD было иным: другая номенклатура накопителей, другое представление о дисковых разделах, другая консоль, другие командные оболочки...
Помнится, по первости я немало затратил времени, чтобы отыскать в консоли FreeBSD средство для пролистывания экранов - там в этом качестве выступали клавиши PgUp/PgDown при включенном Scroll Lock, а отнюдь не комбинация Shift+PgUp/PgDown, как в Linux-консоли.
Относительно же командных сред достаточно сказать, что по умолчанию таковой во FreeBSD выступал некий /bin/sh - как потом выяснилось, точный римейк традиционно-архаичного Shell'а Борна, средства интерактивной работы в котором не идут ни в какое сравнение с bash или tcsh. И с непривычки производит он впечатление если не убожества, то уж предельного аскетизма - точно.
Совершенно иной подход к процессу установки... Идеологически иной подход к локализации... Даже X, который как бы и в Африке - X, также выглядел и настраивался несколько иначе. Короче говоря, не знаешь, за что хвататься в первую очередь - за настройку ли среды, консоли, установку русских буковок или что другое...
И еще: особенностью FreeBSD казалось почти полное отсутствие средств автоматизации настройки - хотя бы типа аналогов linuxconf. Далеко не сразу понял я, что программа sysinstall, используемая при установке - вместе с тем и почти универсальный инструмент конфигурирования. Поначалу все требовало ручной правки конфигурационных файлов в текстовом редакторе. В качестве коего в базовом наборе предлагались либо vi в его классической ипостаси, либо ee - редактор хоть и простой (местами - даже очень простой, как реклама незабвенной фирмы "Сэлден"), но непривычный.
Благо, как ни странно, FreeBSD оказалась очень хорошо документирована, в том числе - и на русском языке. Количественно, конечно, русскоязычные источники информации по этой системе очень уступали таковым для того же Linux. Но зато качественно - то, что имелось, было на высоте. И, главное, можно было быть уверенным, что все они относились к одной и той же системе. Тогда как для Linux - в ряде случаев было трудно понять, к какому конкретному дистрибутиву относится данный FAQ или еще какой HOW TO. Правда, и тут не обошлось без ложки дегтя - изрядная часть этой документации относилась к версиям FreeBSD весьма преклонного возраста.
Главное же - в этой документации очень много говорилось о системном администрировании, и почти ничего - об использовании в мирных (то есть настольных) целях. Что подкреплялось высказыванием одного из моих корреспондентов, что держать FreeBSD на десктопе - сродни извращению...
Вопрос казался ясным - стирать FreeBSD и возвращаться к уже привычному Linux. Однако что-то иррациональное влекло меня к этой системе, не позволяя запустить fdisk. Тогда я списывал это на упрямство и уязвленное самолюбие - за десять лет околокомпьютерной жизни не бывало, чтобы я в конце концов не понял, как что-то устроено и работает.
В итоге через некоторое время я начал понимать логику установки и конфигурирования FreeBSD, строгую красоту ее настроек. Конечно, работа в ней требует существенно большей дисциплины мысли и действий, чем работа в т.н. user-ориентированных дистрибутивах Linux (не говоря уже о Windows). Однако чисто эмпирические алгоритмы действий в стандартных (и даже не очень стандартных) ситуациях нарабатывались достаточно быстро. И я прочно, казалось бы, записал FreeBSD в свой рабочий арсенал...
Однако затем колесо фортуны свершило очередной свой оборот. И, не корысти ради, но только хлеба насущного снискания для, на изрядный промежуток времени мне пришлось вернуться к Linux - на FreeBSD не оставалось ни времени, ни места на диске. Но воспоминания о ней, как об оставленной в силу обстоятельств возлюбленной, продолжали греть душу...
И потому я с вожделением ожидал очередного периода всенародного рождественского запоя в ночь с 24 декабря на 14 января. Это - время, когда на мою службу запрещается доступ, я остаюсь в своей заснеженной деревне без связи с внешним миром и волен заниматься чем угодно. В этот раз перспектива на ближайшие три недели была ясна - я возвращаюсь к моей леди Free.
Должен заметить, что к тому времени мне стало очень не нравиться направление, в котором развиваются наиболее распространенные дистрибутивы Linux. Пресловутая ориентированность на конечного пользователя привела к тому, что система утрачивала управляемость - средства автоматического конфигурирования стремились все сделать за тебя, подчас даже не спрашивая согласия. Прямо так, как это имеет место в Windows. Но ведь не для того стиралась Windows с диска, чтобы получить ее новую реинкарнацию - да еще подчас и реализованную в этом плане не лучшим образом.
Так что жребий был брошен, Рубикон перейден, CD-диск вставлен в привод, Reset нажат... Начинался процесс очередной инсталляции. И тут я наконец понял причину своей, чисто инстинктивной, симпатии к этой системе. FreeBSD - это женщина, более того - леди. Да, леди весьма суровая и не склонная к сантиментам. Она, подобно киплинговской Африке, не добра и не мила для случайных пришельцев. Но своим преданным поклонникам - всегда ответит взаимностью. По крайней мере, я на такую взаимность надеялся твердо...
Маленькое отступление: эпиграф из Киплинга дан в переводе Гуткина, цитата по памяти (хотя за точность почти ручаюсь). Нынче его переводы мало известны (я с ними знаком по самодельному машинописному сборнику начала 60-х, утерянному в ходе кочевой жизни). Если кто знает о их переиздании или нахождении в Сети - буду признателен за информацию.
Что же до демонической природы системы, подчеркиваемой эмблемой черта с вилами... Истина где-то близко. Она, подобно демоническим женщинам древних мифов, готова подвергнуть своего избранника тяжким испытаниям и требовать от него соответствия героическому идеалу. Но, при таком соответствии, в конце концов дарует победу.
Не берусь утверждать, что соответствую идеалу леди Free в полной мере. Однако записал себя в число ее преданных поклонников. И пока не имел повода раскаиваться в своем решении...
Правда, очень правда то,
Что она такая.
Африкой ее зовут,
Южной Африкой зовут,
Нашей Африкой зовут,
Африкой без края...
Редьярд Киплинг
Покончив с лирическим прологом, пора познакомиться с FreeBSD поближе. Разумеется, при условии, что мне удалось если не убедить читателя в необходимости этого, то хотя бы заинтересовать. Итак, что же такое FreeBSD?
Как ни странно, система эта, широко известная в узких кругах (и весьма в них популярная), мало знакома околокомпьютерным народным массам - намного меньше, чем ее собрат по Open Sources, Linux, приобретший в последние годы изрядную популярность. И потому начнем с самого начала.
Разнообразные формальные определения понятия "система FreeBSD" можно найти на сайте проекта FreeBSD () "великолепная операционная система, основанная на 4.4BSD-Lite2", которая "работает на компьютерах с архитектурой Intel (x86) и DEC Alpha" и предоставляет такие функции, как вытесняющая многозадачность, многопользовательский доступ, защищенный режим работы процессора, сетевые возможности по протоколу TCP/IP и прочее, и прочее, и прочее. К чему обычно добавляется, что система эта 32-разрядная (64-разрядная - для архитектуры Alpha) и является Unix-подобной.
Чтобы более не возвращаться к этому вопросу, замечу, что о версии для DEC Alpha (ныне, как известно, уже давно не DEC, а Compaq) в этой книге не будет говориться ни слова - за незнакомством, неактуальностью и ввиду близости (к сожалению) безвременной кончины этой архитектуры. Так что все, написанное ниже, имеет силу только в отношении архитектуры PC.
Все сказанное, безусловно, верно. Однако мало проясняет существо дела для пользователя, знакомого по преимуществу (если не исключительно) только с ОС семейства Windows. И потому требует несколько более развернутого комментария.
Начну в обратном порядке, с последнего положения - о Unix-подобии. Оно означает, что FreeBSD представляет собой функциональный аналог коммерческих (или, как сейчас стало модно говорить, проприетарных) Unix-систем (к коим относятся, например, Sun Solaris или IBM AIX), но, однако, Unix'ом не является, так как не содержит кода Unix. А главное - не получила права на эту торговую марку от ее владельцев.
Утверждение это (хотя, вероятно, правильное юридически) несколько спорно с фактической точки зрения. Что можно проиллюстрировать сравнением с другой ОС, которую также принято относить к Unix-подобным - с широко известным Linux. Каковой, действительно, является воспроизведением функций Unix с "чистого листа". Система же FreeBSD имеет с проприетарными Unix-системами общих предков и долгое время развивалась совместно с ними. Более того, многие функции, без которых немыслимы современные Unix-системы, появились впервые именно в прототипах BSD-систем.
Впрочем, в некоторых источниках FreeBSD без лишнего лицемерия называют одной из разновидности Unix. Но о Unix-подобии вообще, об истории FreeBSD и связанном с ней юридическом крючкотворстве мы еще поговорим. Пока же достаточно осознать, что FreeBSD имеет те же особенности и предоставляет пользователю в общем и целом практически те же возможности, что и любой из представителей клана Unix.
Одна из таких особенностей (последняя в порядке перечисления) - 32-разрядность, интуитивно понятна. FreeBSD функционирует на истинно 32-разрядных процессорах Intel (и совместимых с ними, типа AMD, Cyrix или VIA), используя их адресацию памяти, защищенный режим и прочие архитектурные особенности. Естественно, она категорически откажется работать на машинах класса XT или AT (буде у кого такое еще сохранилось).
Естественно, что версия FreeBSD для 64-разрядных процессоров Alpha является 64-разрядной же. Однако, как уже сказано, эту тему мы замнем для ясности.
Обратимся теперь к функциональности FreeBSD. Здесь наибольший интерес для пользователя представляет, пожалуй, многозадачность. Именуемая обычно истинной, реальной, приоритетной или вытесняющей. Это означает, что, в отличие от Windows, также декларирующей свою многозадачность, FreeBSD распределяет ресурсы машины между задачами, руководствуясь системой динамически изменяемых приоритетов. И, следовательно, ни одно из приложений не в состоянии парализовать выполнение иных процессов в системе (чему в Windows мы тьму примеров сыщем).
Во избежание недоразумений сразу подчеркну, что здесь и далее под термином Windows я подразумеваю исключительно системы линии Windows 3.xx/95/98/ME. ОС линии NT/2000/XP, как известно, не имеют с ними почти ничего общего, кроме имени. И потому в случае необходимости я их и буду именовать для краткости - NT.
С реальной многозадачностью FreeBSD тесно связана ее защищенность: любая запущенная в этой системе задача функционирует в своем адресном пространстве, изолированном от воздействия иных задач. Следствие для пользователя - устойчивость системы: FreeBSD крайне сложно "уронить" сколь угодно скверно написанной программой. Забегая вперед, замечу, что мне известен чуть ли не единственный способ это сделать - запуск программы xf86cfg для конфигурирования системы X Window в графическом режиме.
Из многозадачности и защищенности следует и многопользовательский доступ к FreeBSD как системе и к ресурсам машины (машин), ею управляемым. Кроме того, это позволяет обеспечить защиту пользовательских данных как от случайных ошибок, так и от враждебных на них посягательств.
Конечно, все перечисленные особенности не являются уникальными для FreeBSD - те же самые слова может сказать о своей системе пользователь и Linux, и OpenBSD, и любой иной Unix-системы. И к тому же все эти несравненные достоинства не способны доставить много радости пользователям, если не подкреплены приложениями, использующими их на полную катушку. Что же касается приложений - то "их есть у меня".
Начнем с того, что основная прикладная база FreeBSD (командные оболочки, средства работы с текстами, от редакторов до систем верстки, система X Window, графические редакторы, коммуникационные средства и программы для работы с Интернетом и многое, многое другое) - общее достояние всех открытых Unix-подобных систем. Представляющее собой, как правило, воспроизведение или усовершенствование классических Unix-утилит и приложений. А поскольку в подавляющем большинстве они распространяются свободно и в исходных текстах (на условиях лицензий GPL, BSD и родственных), то легко могут быть скомпилированы для работы в любой из таких систем - непосредственно или после минимальной адаптации.
Однако это - далеко не всегда необходимо: создатели FreeBSD уже позаботились о своих пользователях, и система эта распространяется с большим количеством скомпилированных бинарных пакетов (т.н. packages), работоспособных после несложной процедуры установки.
Более того, все эти приложения и утилиты не просто доступны пользователю в исходных текстах. Благодаря т.н. системе портов они могут быть пересобраны им самостоятельно, с собственными настройками, и - в максимально современном виде: система портов берет на себя заботу об отслеживании изменений в многочисленных проектах, связанных с основным проектом FreeBSD, поиске наиболее свежих версий, контроле зависимостей между взаимосвязанными компонентами, наложении необходимых patch'ей и тому подобные функции. Возможна также полная пересборка системы - вплоть до ядра, общесистемных библиотек и компиляторов, например, с оптимизацией под конкретную систему...
Следует заметить, правда, что ныне некоторые Unix-ориентированные программы разрабатываются только в версиях для Linux. Особенно это касается квазикоммерческих приложений, которые, к тому же, часто недоступны в исходных текстах. И потому круг приложений для FreeBSD несколько уже, чем для Linux. Однако и это далеко не смертельно: FreeBSD располагает средствами для запуска бинарных Linux-приложений. Большинство из которых не только вполне работоспособно, но даже, в отличие от эмулируемых Windows-программ, функционирует практически без падения производительности. Высказывается даже мнение, что Linux-приложения функционируют под FreeBSD с большими быстродействием и устойчивостью.
На последнем, впрочем, не настаиваю - собственных количественных данных по сему вопросу у меня нет. Однако, думаю, сказанного достаточно, чтобы если не присоединиться к первой фразе из процитированного выше определения FreeBSD, то по крайней мере признать ее обоснованность. При этом я отнюдь не хочу сказать, что система Linux, например, плоха: обе они имеют свои особенности, и выбор между ними, в известной мере, вопрос вкуса и соответствия конкретным задачам (а то и просто случая).
Впрочем, к проблеме выбора я еще вернусь в послесловии к этой книге. А пока интересно было бы посмотреть, как FreeBSD дошла до жизни такой. Для чего потребуется обратиться к ее истокам...
Древнее золото редко блестит,
Древний клинок - ярый.
Выйдет на битву король-следопыт:
Зрелый - не значит старый.
Дж.Р.Р.Толкиен, Властелин Колец (перевод А.Кистяковского)
Думаю, не ошибусь, если скажу, что популярность Linux в изрядной мере обусловлена романтической историей его возникновения, напоминающей рождественскую сказку (для взрослых) о бедном студенте. Историей, к тому же, широко распространенной не только компьютерной, но и, так сказать, общенародной прессой. История создания FreeBSD такой известности не получила. Однако она не менее интересна и, как мне кажется, гораздо более драматична.
Формально возникновение FreeBSD относится к 1993 г. - к этому времени Linux существовал уже около двух лет. Однако на самом деле история FreeBSD уходит в седую, по компьютерным меркам времени, древность.
Мне не довелось быть ее свидетелем - в те времена почти былинные высшим достижением компьютерной мысли для меня был даже не калькулятор, а "железный феликс" на пару с логарифмической линейкой. И потому рассказать ее могу, только основываясь на литературных источниках - как я их понимаю. Исчерпывающий же их список (для русскоязычных, разумеется, данных) можно найти в разделе дополнительных источников, завершающем эту главу.
Начнем по порядку - не так давно, 1 января 2000 г., все прогрессивное человечество широко отметило (в узком кругу) 30-летний юбилей системы Unix. Не то, что бы она была создана именно в этот день - просто Unix-машины во всем мире отсчитывают свое системное время с 1970.01.01 (в американском формате дат). А так как корни FreeBSD восходят к первым версиям Unix, эту же дату можно считать началом и ее праистории.
Что касается Unix - эта операционная система создавалась в конце 60-х - начале 70 гг. прошлого века группой товарищей из Bell Labs (подразделения могучей корпорации AT&T) на аппаратуре, подлежащей списанию в утиль. И, насколько я могу судить по источникам - на голом энтузиазме, без особой поддержки дорогих руководителей.
Прошу прощения, но в предыстории FreeBSD я по возможности воздержусь от перечисления имен. Конечно, мир информационных технологий должен знать своих героев. Но он их и так знает. Кроме того, с одной стороны, Unix и все ее производные - плод труда такого количества людей, что для перечисления их имен не хватит и объема "Капитала". С другой же - многие из этих имен оказались столь известными, что перечислять их здесь кажется неуместным - это будет выглядеть так, будто я, подобно Фурманову, к чужой славе примазываюсь...
На дальнейшую судьбу Unix огромное влияние оказали юридические коллизии текущего момента. Незадолго до создания этой системы корпорация AT&T подверглась антимонопольному преследованию (подобно Microsoft ныне), в результате чего претерпела поражение в правах - на деятельность ее был наложен ряд ограничений. В частности, насколько я понимаю (я не силен в отечественной юриспруденции, а уж в американской - тем более), она не имела права торговать программными продуктами, в число коих попадала и новорожденная Unix.
Однако не пропадать же добру, созданному как бы и само собой, но - на проприетарном оборудовании. И юридический владелец Unix (тогда еще никто и не предполагал, что слово это станет торговой маркой, за право использования которой придется платить деньги), начиная с 1974 г., стал передавать исходные ее тексты в университеты - "в образовательных целях", как задумчиво пишут в источниках.
Это не было свободным распространением в смысле GNU или Open Sources, хотя система (вернее, в то время - не более, чем ее прототип) и передавалась в исходных текстах с правом их изучения, модификации, доработки и прочего потрошения. Однако, во-первых, это требовало обладания лицензией на исходный код Unix, которая передавалась AT&T вместе с таковым, но - за деньги. Хотя, как пишут, и символические - уж не знаю, сколько это составляло по американским масштабам середины 70-х.
А во-вторых, и это - главное, условия этой самой лицензии не допускали дальнейшего свободного распространения ни системы целиком, ни отдельных ее компонентов, содержащих исходный код Unix. Именно этим и была заложена основа дальнейшего сюжета.
Однако до юридических коллизий было еще далеко. А пока университеты с радостью приобщались к новой операционной системе, в которой были реализованы все передовые идеи того времени. И к тому же в принципе способной функционировать практически на всем спектре тогдашнего оборудования. Напомню, что речь идет о середине 70-х годов прошлого века - Стив Джобс еще не помышлял о продаже калькулятора и использовал родительский гараж по прямому назначению, а Билл Гейтс не освободил мир своим MS DOS'ом от засилья CP/M.
Итак, предысторию FreeBSD можно исчислять примерно с 1974 г., когда исходные тексты Unix попали, в частности, и в Университет Беркли (штат Калифорния) - учреждение, известное всем, интересовавшимся историей т.н. точных наук, давшее миру не одно поколение достойнейших их представителей. Именно сюда Unix "вписался с точностью патрона, досланного в патронник" (Олег Куваев). И здесь с лихвой выполнил свои "научно-образовательные цели"...
В Беркли, в условиях открытого общения профессиональных специалистов в области Computer Sciences, система Unix медленно, но верно превращалась именно в то, чем она стала ныне. И в значительной мере - именно усилиями трудящихся из университета, объединенных в Computer System Research Group (CSRG), финансировавшуюся в сугубо мирных целях, как не трудно догадаться, Министерством обороны США. Достаточно сказать, что такие неотъемлемые составляющие любой Unix-системы, как протокол TCP/IP, система виртуальной памяти, концепция сокетов и многое другое, ведут свою родословную непосредственно из Беркли.
Группа CSRG, начиная с 1976 г., распространяла свои достижения на магнитных лентах под названием Berkely Software Distribution, что и дало в дальнейшем имя BSD-системам. Это первичное понимание аббревиатуры BSD, которое не следует путать с Berkely Software Development (или Berkeley Software Design, мне попадались обе расшифровки этой аббревиатуры) - фирмой, выпускавшей до недавнего времени BSDi, коммерческий клон BSD-систем.
Конечно, система Unix развивалась не только в Беркли. Во второй половине 70-х годов появилось немало ее клонов, оказавших то или иное влияние на систему. Однако они отмирали, сливались, перекрещивались, и имена их ныне помнят только очевидцы событий и особо интересующиеся вопросом. А в результате к году 1978-му реальностью стало существование двух линий развития Unix: System III/V и BSD Unix.
Первая линия, немало позаимствовав из Берклианских достижений (если не в плане кода - здесь судить не берусь, то в идейном смысле - точно), носила сугубо проприетарный характер. Именно она легла в основу большинства современных (то есть ныне здравствующих и развивающихся) коммерческих Unix-систем, таких, как HP-UX, AIX, Solaris.
Линия же BSD Unix дописывалась, доделывалась и переделывалась по преимуществу все на той же Берклианской почве на протяжении более чем десятилетия. В 80-х гг. последовательно появлялись ветви 1BSD, 2BSD, 3BSD, дававшие, в свою очередь, боковые побеги, в том числе и коммерческие (SunOS, например, или A/UX - уже встарь были попытки приобщения Macintosh'а к миру Unix, вылившиеся ныне в MacOS X). Однако наиболее славная судьба была уготовлена ветви 4BSD, особенно последней ее версии, 4.4BSD - уже прямому прародителю FreeBSD.
В итоге к рубежу 90-х годов выяснилось, что исходного (проприетарного) Unix-кода в составе берклианских Unix'ов осталось не так уж и много. И родилась идея создания полностью открытой операционной системы, распространяемой свободно и в исходных текстах. К этому же времени прекратилось (не иначе как вследствие распада мировой системы социализма) финансирование группы CSRG, и она столь же благополучно распалась - все в жизни имеет свою оборотную сторону, даже крах коммунистической идеологии. Но дело ее не пропало. Его подхватили, расширили, укрепили и закалили в боях многие из бывших членов CSRG.
Поскольку здесь начинается уже собственно история FreeBSD, пора вспомнить и о персоналиях. Именно созданием общедоступной Unix-системы, причем - на общедоступной же платформе, сиречь Ix86, озаботились Вильям и Линна Джолитц. Базируясь на одном из побегов ветви 3BSD - BSD Net/2, они дописали недостающие компоненты и создали 386BSD - первую BSD-систему, претендовавшую на звание открытой в собственном смысле слова. И, насколько я понимаю, первый берклианский побег, портированный на PC (IBM-совместимые компьютеры, как их тогда еще задумчиво называли).
По словам очевидцев, система эта не была еще вполне готовой к употреблению. Однако она активно исправлялась и улучшалась весьма широким кругом разработчиков, благодаря чему возник институт patchkit'а - корректирующего набора, позволяющего превратить 386BSD в работоспособную операционку.
Поддержание такого комплекта заплат, судя по всему, оказалось задачей хлопотной и не очень благодарной. Вероятно, именно по этому основоположник 386BSD, Билл Джолитц, к началу 1993 г. "находился в состоянии полного пренебрежения к ней" (здесь и далее - свидетельствует очевидец и активный участник событий, Джордан Хаббард, перевод проекта Русской документации FreeBSD - ).
Однако и в дальнейшем история развивалась, да простят меня читающие это дамы, почти по товарищу Ленину и "Трем поколениям". Впрочем, можно уподобить ее и истории возвращения в мир Кольца Всевластья - в ней столько же неслучайных совпадений, приведших, после многих бед и мытарств, к благоприятному исходу (хотя до того, последнего и настоящего, исхода истории FreeBSD, надеюсь, еще очень и очень далеко).
В том же 1993 г. три (опять же) последних координатора "Заплаточного проекта" - упомянутый выше Джордан Хаббард, Нейт Вильямс и Род Граймс, - решили "привести промежуточный снэпшот 386BSD в порядок, исправив множество проблем, которые механизм patchkit не мог решить". Это предполагалось сделать "путем предоставления промежуточных 'очистных' снэпшотов". Однако планы тройки по борьбе с заплатами "были невежливо оборваны, когда Билл (Джолитц - А.Ф.) внезапно решил забрать его (вероятно, свои - А.Ф.) санкции у проекта без любых ясных комментариев, что должно быть сделано вместо этого."
Однако и это не очень повредило делу. К проекту присоединились Джулиан Элишер и Дэвид Гринмен. Именно последнему принадлежит заслуга изобретения имени нового проекта - FreeBSD и приобретения на него права собственности.
Вахта же Хаббарда выразилась в том, что он "связался с Walnut Creek CDROM с мыслью о путях последующего улучшения каналов распространения FreeBSD для множества невезучих без доступа к Internet. Walnut Creek CDROM не только поддержал идею распространения FreeBSD на CD, но также пошел далеко вперед и предоставил проекту компьютер для работы и быстрый доступ к Internet. Без почти беспрецедентной веры Walnut Creek CDROM, в то время полностью неизвестный проект (видимо в проект FreeBSD - А.Ф.), вряд ли FreeBSD зашел далеко и так быстро, как сегодня."
Не могу удержаться от комментария: странные все же бывают компании в этом бездушном и бездуховном мире чистогана, где все покупается и все продается... Вспомним, что примерно в те же годы Walnut Creek приложила руку и к распространению одного из первых дистрибутивов Linux - Slackware Патрика Фолькердинга. Не знаю, сколько уж чистогану они на этом нахапали - в додефолтные времена Walnut Creek'овские Slackware и FreeBSD продавались у нас (в Москве - компаниями "Медаихауз" и "Электротех Мультимедиа") по цене, посильной даже научному сотруднику с получки. Как память о тех временах, у меня по сию пору хранится Slackware 3.2 в фирменном исполнении Walnut Creek - бокс о шести дисках, даже с печатным руководством. И товарный чек на него с суммой, равной (#_версии)x100 руб.
Однако вернемся к нашей истории. В декабре 1993 г. совместные усилия проекта FreeBSD и Walnut Creek обрели зримое воплощение в виде FreeBSD 1.0, распространявшейся как с ftp-серверов (вспомним - тогда это был почти единственный способ получения софта, за исключением коммерческого "коробочного"), так и на CD. Успех был закреплен выходом релиза 1.1 в мае 1994.
Ветка FreeBSD 1.x базировалась все на той же Net/2, что и произведение Джолитца, из которого она включила многочисленные дополнения. Кроме того, существенным компонентом ее стали утилиты и приложения проекта GNU. Все это были открытые и свободные разработки. Однако исходная лента Net/2 изначально содержала некоторое количество проприетарного Unix-кода. По словам знатоков, его было немного, но это были именно критически важные фрагменты, превращавшие Берклианские разработки в цельную работоспособную систему.
Следует заметить, что на основе 4BSD в это же время развивалось еще два проекта BSD/OS и NetBSD. Первый имел как бы коммерческий статус и ныне воплотился в BSDI - Unix-подобную систему, распространяемую за деньги, но с исходными текстами (последние - за отдельную мзду). Система эта за последние два года была перепродана дважды - сначала все той же Walnut Creek, затем - Wind River, и судьба ее остается неясной. Впрочем, для нас она вряд ли представляет практический интерес...
Проект NetBSD зародился даже несколько раньше, чем FreeBSD (первый ее выпуск, 0.8, датируется апрелем 1993 г.), и также имел целью реализовать полностью открытый и свободный вариант Unix. В отличие от FreeBSD - с упором на максимально возможную мультиплатформенность: ныне трудно поверить, что в начале 90-х это дело казалось очень актуальным, и ему предрекали успех.
Правда, именно тогда в PC Magazin появилась статья (к сожалению, не помню автора) под зловещим названием: "Через 10 лет все платформы, кроме IBM PC, уйдут в небытие". Десяти лет еще не прошло, но к тому дело идет семимильными шагами - если говорить о платформах настольных. Соответственно, и популярность NetBSD оказалась весьма скромной. Правда, она дала побег - OpenBSD, в которой мультиплатформенность надстроена ориентацией на максимальную безопасность. Кто знает, может, в свете недавно минувших событий это будет востребовано...
Тут-то господа правообладатели, чуя наживу, и напомнили разработчикам из Беркли о своих правах. А права на исходный код Unix и торговую марку, нареченную этим именем, приобрела у AT&T фирма Novell. В тот момент одержимая, подобно сиятельному Камильбеку из "Повести о Ходже Насреддине", хватательным рвением: среди ее приобретений того времени были и лучший текстовый процессор всех времен и народов (без иронии!) - WordPerfect, и DR DOS с ее базировавшимся на GEM графическим интерфейсом. Да-да, Windows - далеко не первая графическая оболочка над DOS, в те годы с ней успешно тягались, помимо GEM, и DeskView, и Geoworks; иных уж нет, а те далече...
Начался "вяло-текущий судебный процесс о легальности версии Net/2 из Беркли". В результате юридического сутяжничества из системы, лежащей в основе FreeBSD, были изъяты все следы частнособственнического кода - а, повторяю, речь шла именно о критически важных фрагментах. Гильотинированная версия получила имя 4.4BSD-Lite, и всем претендентам на BSD-наследие было рекомендовано в добровольно-принудительном порядке перейти на ее использование. Правда, из врожденного американского гуманизма в рамках проекта FreeBSD было разрешено выпустить еще одну Net/2-based версию - ею стала 1.1.5.1, последняя ласточка в ветке 1.x...
Катастрофа проекта казалась неизбежной - легким движением руки цельная и работоспособная система превратилась в симпатичнейшего уродца, которого можно было только "приласкать, обогреть". Но - "приключения никогда не кончаются". И снова - слово Джордану:
"Тогда FreeBSD приступил к сложной задаче - буквально полному изобретению себя из абсолютно новой и довольно неполной системы 4.4BSD-Lite. "Lite" был в прямом смысле light потому, что из него удалили большие куски кода, необходимого для создания реально загружающейся системы... и фактически порт 4.4BSD для платформы Intel был очень неполным".
Реинкарнация недостающих фрагментов заняла около года. И в итоге первая версия FreeBSD - 2.0, несмотря "на множество недотесаных углов", снискавшая значительный успех, а главное - к лицензионной чистоте которой не смог бы придраться ни один сутяга, вышла в декабре 1994 г. Именно она положила начало традиции, не прерывающейся и поныне. Традиции, сразу же (в июне 1994 г.) же продолженной в более устойчивой и простой для установки FreeBSD версии 2.0.5.
А дальше - дальше была плавная эволюция. Примерно два-три раза в год выпускается новая версия системы (2.1.x, затем - 2.2.x), она обрастает приложениями и утилитами (значительная часть которых происходит из проекта GNU и Фонда свободного программного обеспечения), совершенствуется ядро, улучшается (как это ни странно для чисто американской по происхождению системы) интернациональная поддержка.
В ноябре 1996 г. происходит событие, определившее структуру разработки FreeBSD до сегодняшнего дня: ветка 2.x.x была выведена из активной разработки, получив имя STABLE. Отныне, вплоть до последнего релиза (2.2.8 в ноябре 1998 г.), в ней лишь исправляются ошибки и вносятся мелкие безопасные изменения. А все долговременные и принципиально новые разработки концентрируются в версии 3.0-CURRENT. Каковая претворяется в STABLE в октябре 1998 г.
С этого времени и поныне единовременно развивается две ветки FreeBSD - STABLE, предназначенная для широкого применения, и CURRENT, ориентированная главным образом на разработчиков и энтузиастов. Так, в январе 1999 г. обособляется ветка 4.0-CURRENT, обретшая статус стабильной в марте 2000 г. и сохраняющая его по сей день. Одновременно происходит очередное ветвление - появляется 5.0-CURRENT, воплощающая перспективы FreeBSD.
Однако и прежние, по отношению к текущей стабильной, ветки не теряют поддержки разработчиков - на уровне исправления ошибок. На ftp-сервере проекта (ftp://ftp.freebsd.org) можно обнаружить обновления для версий, начиная по крайней мере с 2.2.
А не так давно на дереве FreeBSD появился еще один интересный побег - PicoBSD (). То есть - FreeBSD на одной (без преуменьшения, объем дистрибутива - ровно 1474560 байт) дискете. Тем не менее, по уверению разработчиков, она вполне функциональна: имеются варианты сетевой и DialUp-рабочей станции, сетевого роутера и даже сервера своего рода.
Однако завершим историю. На вторую половину 90-х гг. выпадает взрывообразное развитие Интернета. И FreeBSD, изначально на него ориентированная, начинает победное шествие по web-серверам всего мира. В том числе - и России. Существуют количественно различные оценки относительного веса различных ОС в Интернет-службах. Однако качественно они сходятся в одном - преобладании в этой сфере FreeBSD-серверов. Преобладании не только над NT и проприетарными Unix-системами, но и над столь же открытым и свободным Linux.
А вот о настольных применениях этого сказать нельзя. Если Linux мало-помалу пробивает дорогу на пользовательские десктопы, то FreeBSD, похоже, к этому и не стремится. Статистика заходов на сайты, тематически связанные с Unix и Open Sources, показывает, что доля FreeBSD среди клиентских машин составляет менее полупроцента.
Очень надеюсь, что мой труд по крайней мере поставит вопрос - а не пора ли изменить сложившееся положение? Впрочем, к этой теме я вернусь в следующих разделах. А пока - посмотрим, какие уроки мы можем извлечь из истории, дабы не уподобиться якобинцам из старой песенки студентов-историков Удмуртского государственного университета.
Первый вывод - технологического плана. Хотя FreeBSD по анкетным, так сказать, данным и моложе Linux'а, за спиной у нее - долгая история совместного с Unix развития. То есть она - леди с прошлым. Что имеет и свои минусы, и свои плюсы. Не могу отказать себе в удовольствии процитировать одного из разработчиков - Мэтта Диллона (): "Хотя некоторые считают BSD 'старой' операционной системой, те из нас, кто работает над ней, видят ее скорее системой со 'зрелым' кодом". Что замечательно согласуется со строками эпиграфа.
К слову сказать - не говорите мне, что транскрипция фамилии автора эпиграфа неправильна - она дана по цитируемому изданию (М: Радуга, 1988, с. 31), первому полному в отечественной истории: таким образом переводчики подчеркнули немецкие корни рода Толкиенов (Tolkien).
Однако снова предоставлю слово Мэтту: "Самой большой ошибкой, которую может допустить программист, является игнорирование истории, и это именно та ошибка, которую сделали многие другие современные операционные системы (вернее, разумеется, их разработчики - А.Ф.)... Я плохо переношу тех, кто не учит истории".
Готов подписаться под каждым словом, обеими руками. Добавив от себя, что относится это не только к программированию.
Итак, первый вывод из истории FreeBSD - что это система сложившаяся, устоявшаяся, где-то даже консервативная. Но при этом - постоянно развивающаяся и совершенствующаяся. Действительно, взять хотя бы программу ее установки - я не слышал, чтобы она хоть сколько-нибудь радикально изменилась со второй версии (что сплошь и рядом бывает с инсталляционными программами дистрибутивов Linux - иногда до полной неузнаваемости). И в то же время в ней постоянно появляются полезные усовершенствования, облегчающие жизнь. Даже я, при ограниченном сроке общения, заметил их своими глазами.
Кроме того, FreeBSD (и ее предтечи) возникла и развивалась в университетской среде, не просто высококлассными программистами, но людьми с неслабой теоретической подготовкой. Следствием чего явилась исходная продуманность ее архитектуры. И опять помяну Диллана: "В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". И это - второй вывод из рассмотренной истории, который также можно отнести к технологии.
Третий же вывод, также следующий их академического происхождения FreeBSD, носит, условно говоря, гносеологический характер. Ученые (по крайней мере, те, кто заслуживает неругательного значения этого слова) - люди, основным стимулом деятельности которых является удовлетворение собственного любопытства. И FreeBSD, как творение академических исследователей, - это система, идеально для такого удовлетворения подходящая. Как сама по себе (поверьте, изучение FreeBSD - занятие, по увлекательности мало с чем сравнимое), так и как инструмент исследования в иных научных областях, в том числе - и далеких от Computer Science...
Последний же вывод из истории имеет отношение к тому, что называют затертым словосочетанием "общечеловеческие ценности". Не знаю, кто как, а я так просто преклоняюсь перед мужеством разработчиков, дважды оказывавшихся у разбитого корыта накануне успеха. И дважды начинавших все если и не сначала, то - с самых, что называется, корней. Каждый, кому приходилось хоть однажды начинать жизнь "с чистого листа", знает, как это сложно. А уж решиться на это второй раз - на такое найдет в себе силы не каждый (за себя, например, не ручаюсь). Так что четвертый исторический вывод: такие ребята просто не могли сделать плохой системы...
Как я уже сказал в предыдущем разделе, ОС FreeBSD ныне достигла стадии зрелости. Что выражается, в частности, в ее легкой доступности всему прогрессивному человечеству (а с некоторых пор - и обитателям России). И распространяется она в двух формах - на "твердых" носителях и с ftp-сервера проекта и его официальных зеркал по всему миру.
В качестве "твердых" носителей ныне выступают диски CD ROM (хотя в скором времени можно ожидать и версии на DVD - по крайней мере, программа установки их поддерживает). Комплекты CD-дисков распространяются, во-первых, непосредственно проектом FreeBSD, во-вторых - упомянутой выше компанией Walnut Creek CDROM (). Есть и иные распространители, но их перечисление вряд ли актуально для обитателей России и Ближнего Зарубежья. Где, впрочем, также имеется ряд компаний-распространителей - уж не знаю, таков ли их официальный статус или нет.
Насколько мне известно, текущие CD-версии FreeBSD (следует заметить, что в продаже подчас можно встретить и версии весьма древние) продаются в двух вариантах - однодисковом боксе и боксе на пять дисков. Первый - это собственно инсталяционный (Install) диск, содержащий базовые компоненты системы, некоторый (меняющийся от версии к версии) набор пакетов (packages) и систему X Window.
В полный комплект, кроме этого, входит mini-диск (та же комплектация, что и Install, но без пакетов и X Window), спасательный диск для аварийных ситуаций (Fix-It) и два диска с дополнительными пакетами. Кроме этого, оригинальные боксы, изданные Walnut Creek CD ROM, содержат небольшое печатное руководство (на английском языке).
Цена на дистрибутивы колеблется в зависимости от аппетитов продавца и исполнения (оригинальное Walnut Creek'овское или тиражирование ftp-версий), но в среднем не существенно превышает базарную стоимость ворованных Windows-наборов (в пересчете на 1 CD).
Однако приобретение дисковых наборов FreeBSD отнюдь не обязательно - система может быть абсолютно бесплатно скачана с ftp-сервера проекта (плата за трафик, которая может многократно превысить стоимость дисков вкупе с их с доставкой - не в счет). Официальный сервер проекта - ftp://frp.freebsd.org, площадка которого расположена "где-то в Америке". И качать с него что-либо объемное из России - занятие не из самых радостных.
Однако он имеет множество официальных зеркал по всему миру, полный список которых приведен на сайте проекта - . Среди них - и четыре российские зеркала, скорость коннекта с которыми вполне удовлетворительна. Все официальные зеркала ftp-сервера FreeBSD абсолютно идентичны по структуре и наполнению - насколько я понимаю, это одно из условий получения официального статуса.
Существуют и неофициальные зеркала ftp-сервера проекта FreeBSD, обычно поддерживаемые крупными Интернет-провайдерами (только в Москве мне таких известно штук пять). Их отличие - неполное соответствие оригиналу, выраженное в отсутствии старых версий системы и (или) запоздалом появлении последних обновлений.
Формы распространения системы через ftp-сервер проекта FreeBSD существенно разнообразней. Во-первых, там имеются iso-образы CD-дисков, идентичные распространяемым в розничной торговле.
Во-вторых, дистрибутивы могут скачиваться и в виде отдельных архивных файлов - их компоновка практически не отличается от той, что присутствует на CD-диске, купленном или записанном с iso-образа.
В третьих, на ftp-серверах можно обнаружить коллекции пакетов (packages) - предварительно откомпилированных программ, не входящих в базовый набор системы (но присутствующих в полных CD-версиях).
В четвертых, ftp-серверы проекта - один из источников исходных текстов для коллекции портов. Подробнее об этом будет сказано в соответствующем разделе. Здесь же замечу, что в коллекции портов обычно дается ссылка на исходный ftp- или http-сервер разработчика конкретной программы и на его зеркала. Однако исходники всех их продублированы и на ftp-сервере проекта FreeBSD.
И, наконец, по ftp доступно и полное дерево исходных текстов всего проекта FreeBSD - именно в нем в первую очередь появляются все обновления системы, осуществляющиеся несколько раз в сутки. Правда, начинающим пользователям системы обращаться к нему не рекомендуется...
Регистрация на всех официальных ftp-серверах проекта абсолютно свободна и осуществляется по общим правилам анониманого ftp-доступа, обычно - с указанием ftp в качестве имени пользователя (т.н. логина) и адреса электронной почты вместо пароля. На практике, как говорят, отдельные сервера имеют некоторые ограничения, не позволяющие зайти на них с машины без уже установленной системы FreeBSD, однако мне с такими сталкиваться не приходилось.
Итак, пользователь, желающий причаститься системы FreeBSD, имеет множество возможностей для ее получения - на CD за весьма небольшую мзду, или абсолютно бесплатно (то есть ни копейки не платя разработчикам) через Интернет. В любом случае им оплачивается только физическая стоимость носителя и его доставки (не без учета накладных расходов и прочих бухгалтерских заморочек, вероятно) или сетевой трафик. И речь ни в коем случае не идет об оплате интеллектуальной собственности авторов системы или отдельных ее компонентов.
Возникает резонный вопрос - а не государственная ли это богадельня, подобно 2-му дому Собеса города Старгорода. Нет, не богадельня. И сама система FreeBSD, и все входящие в нее компоненты не принадлежат к классу т.н. общественной (не путать с общенародной - согласно Владимиру Асмолову, "все для народа, что плохо лежит") собственности - public domain.
Начать с того, что и система FreeBSD как таковая, и все входящее в нее дополнительное программное обеспечение защищены копирайтом их создателей и подпадают под действие авторского права. О чем имеются ясные и недвусмысленные указания в соответствующих файлах, обычно так и называемых - COPYRIGHT. Другое дело, что список обладателей авторских прав на некоторые программы может занимать не один экран монитора...
Далее, распространение FreeBSD осуществляется на некоторых условиях, не только дающих пользователю права, и немалые, но и налагающего на него определенные обязанности. Для базовых компонентов системы (то есть FreeBSD par excellence) и то, и другое регламентриуется лицензией, которая так и именуется - лицензия BSD.
Предоставляемые ею права включают в себя право на доступ к исходным тестам программы, полученной в рамках этой лицензии, его изучение и модификацию, а так же распространение этой программы в оригинальном или модифицированном виде. Основных же обязанностей - две: распространитель обязан сохранять указание на авторство оригинала и не ограничивать права пользователей, получивших этот оригинал (или его модификацию) от него (например, путем злонамеренного сокрытия исходных текстов).
Лучше всего суть BSD-лицензии выражена в сборнике часто задаваемых вопросов (FAQ) проекта FreeBSD: "слово "free" используется здесь (то есть в названии системы - А.Ф.) в двух смыслах, один означает "бесплатно", а другой "вы можете делать всё, что хотите". За исключением пары вещей, которые вы не можете делать с FreeBSD, например, претендовать на то, что являетесь её разработчиком, на самом деле можно делать с ней всё, что вам заблагорассудится."
То есть (продолжу цитирование) "Она может использоваться безо всяческих выплат, даже для извлечения выгоды." И самое главное - "Все исходные тексты операционной системы свободно доступны, на её использование в других разработках (как коммерческих, так и некоммерческих) и дальнейшее распространение наложены минимальные ограничения."
К слову сказать - главное из этих минимальных ограничений, т.н. "оговорка о рекламе", было не так давно официально снято соответствующим департаментом Университета Беркли, что избавляет меня от необходимости его приводить. Тем более, что я никогда не мог запомнить его не то что дословно, но даже близко к тексту...
Кроме базовых компонентов системы, дистрибутив FreeBSD включает и дополнительное программное обеспечение, которое разрабатывалось разными авторами в рамках проекта GNU, движения Open Sources, под эгидой Free Software Foundation (FSF) и иных соплеменных им по духу. В принципе участник всех этих проектов, движений и фондов категорически не желают смешивать себя друг с другом, однако это - совершенно другая история (хотя и очень интересная), о которой я говорить здесь не буду. Тем более что для пользователей их продукции главное, что она, продукция эта, распространяется на условиях т.н. General Public License (все известные мне русские переводы этого интуитивно понятного выражения достаточно корявы или тавтологичны, поэтому далее я буду называть ее просто - GPL), и еще нескольких, именуемых совместимыми.
GPL в целом близка по букве и духу BSD-лицензии, за одним очень важным исключением. Мало того, что весь лицензированнный под GPL софт обязан сопровождаться исходными текстами при любой форме распространения, как бесплатной, так и коммерческой. Это требование распространяется и на все программы, разработанные на основе GPL-программ и содержащие их код - они автоматически подпадают под действие лицензии GPL. Что послужило основанием для появления выражения "GPL-вирус".
Условия же лицензирования BSD не предписывают обязательной открытости исходных текстов для программ, основанных на ней и включающих код какого-либо софта из базового комплекта FreeBSD. То есть разработчик вправе создать на основе FreeBSD собственную систему и распространять свой личный в нее вклад любым образом, в том числе и на коммерческой основе без исходных текстов.
Впрочем, заимствованные из FreeBSD компоненты он закрыть все равно не в праве. Примером чему - неоднократно поминавшаяся мной ранее MacOS X: ядро ее, т.н. Darwin, основанное на ядре FreeBSD, может скачать любой желающий. Хотя собственно разработки Apple - графической оболочки Aqua, в свободном доступе я что-то не видел...
Это различие лицензий BSD и GPL является предметом дискуссий в мире открытого программного обеспечения. Среди приверженцев лицензий GPL и BSD, особенно сохранивших пережитки социализма в сознании (вероятно, по причине того, что ни тем, ни другим при социализме жить не довелось - к вящему их счастью, полагаю), широко обсуждается вопрос, какая из лицензий более соответствует идеям свободы и справедливости.
Апологеты GPL утверждают, что все, основанное на открытом коде, должно оставаться открытым ныне, и присно, и во веки веков. Дабы никто не смог воспользоваться плодами чужого труда в целях наживы. Адепты лицензии BSD, напротив, полагают, что такое требование есть нарушение свободы личности, имеющей право сделать результаты своего собственного интеллектуального труда коммерческой (или какой-либо иной) тайной.
Дискуссия своей беспредметностью напоминает споры социал-демократов и анархистов. Закончившуюся, как известно, тем, что пришли большевики, засунувшие и тех, и других на одни нары. И потому данного вопроса я больше касаться не буду. Тем более, что даже самые строгие ревнители FSF признают совместимость лицензий BSD и GPL. То есть распространяемые на их условиях программы вполне могут быть включены в единый проект. Интересующихся деталями вопроса отсылаю к материалам семинара, проводимого фирмой Altlinux (), где они обсуждаются профессиональными юристами, не чуждыми, к тому же, миру программ с открытыми исходниками.
К слову сказать, один из компонентов дистрибутива FreeBSD, XFree86 (открытая и свободная ипостась системы X Window), защищается собственной лицензией X-консорциума, в общем и целом сходной с лицензиями BSD и GPL, но отличающейся некоторыми деталями. Что и ей, однако, не мешает быть совместимой с канонической GPL.
Для пользователя же FreeBSD главное то, что любая из лицензий на входящий в ее дистрибутив софт дает ему достаточно прав и свобод. По крайней мере, несколько больше, нежели вложенная в коробку с ОС Microsoft (R) Windows (TM) иже с ними. А уж какая из этих лицензий больше соответствует высшим идеалам свободы - вопрос скорее философский.
Так почему же вас не было на тех тракторных санях
и не ваше лицо обжигал морозный февральский ветер, читатель?
Где были, чем занимались вы все эти годы?
Довольны ли вы собой?
Олег Куваев. Территория
Очень надеюсь, что из предыдущих разделов вводной части читатель понял, что FreeBSD - это система, замечательная технологически, имеющая длинную и интересную историю, и к тому же в высшей мере способствующая развитию свободы и демократии. Если добавить сюда ее практическую бесплатность - пора задаться вопросом: а почему эта система до сих пор не стоит на вашем десктопе?
Для ответа на него остается определить лишь одно: а нужна ли эта система народу? И в первую очередь - лично вам, о многотерпеливый мой читатель? Для чего следует очертить сферу ее возможного применения и наметить круг ее пользователей, существующий и потенциальный.
Сначала - о сфере применения. О использовании FreeBSD в качестве Интернет- и Интранет-серверов и серверов локальных сетей сказано уже достаточно, и возвращаться к этой теме я не буду. Обратимся к применениям настольным. Каковые возможны в двух качествах - как специализированных рабочих станций и как персональных компьютеров общего назначения (в том числе и домашних).
Немного определений. Фантастический рост производительности настольных персоналок привел к размыванию границы между ними и рабочими станциями. К тому же и те, и другие ныне подчас функционируют под управлением ОС одного и того же семейства (сами знаете, какого). Так что единственным отличием между этими классами машин остается почти исключительно их назначение.
Представляется, что к классу рабочих станций можно отнести компьютеры, предназначенные преимущественно для запуска одной программы специального назначения и комплекса обслуживающих ее утилит. Персоналка же, по определению, призвана решать широкий круг задач, часто с противоречивыми требованиями к аппаратуре.
Перспективы FreeBSD в классе рабочих станций можно оценить по аналогии с Linux. Для последней ОС, как известно, второй сферой приложения, после сетевого в самом широком смысле слова, оказались задачи рендеринга трехмерных изображений, анимации и создания спецэффектов. Что в известной мере обусловлено легкостью адаптации профессионального софта, создававшегося для этих целей исходно на платформе Silicon Graphics.
Однако и FreeBSD для задач такого рода подходит ничуть не меньше: основная программная база у них общая, цена собственно системы - идентична (то есть стремящаяся к нулю), требования к аппаратуре одинаковы. Что же касается адаптации ранее разработанных приложений - думается, что и здесь нет принципиальных различий. Более того, ввиду особенностей BSD-лицензии, такая адаптация для FreeBSD может показаться более привлекательной в коммерческом смысле.
Теперь - именно об использовании на настольных персоналках. Тут тоже не прослеживается какой-либо разницы с Linux. Все решаемые на ПК задачи можно разделить на три основные группы:
Типичный пример задач первого круга - т.н. офисные применения. Причем - вне зависимости от степени их сложности, будь то составление докладной записки на полстраницы, презентации бизнес-плана или квартального отчета при многомиллиардных оборотах. Общее между ними то, что они должны доносить до народа некие уже полученные результаты, причем в форме для народа доступной и более-менее общепринятой (по крайней мере, привычной). И потому при прочих равных условиях для решения задач этого круга привлекаются максимально стандартные средства. Какое - думаю, конкретизировать не нужно...
Вторая группа задач - это то, что объединяется понятием Content Creation, адекватного русского перевода которому пока никто не придумал. Здесь и дизайн всякого рода, и высокая полиграфия, и аудио- и видеоприменения. Это, с одной стороны, также представление некоего материала. Однако если в первом случае он преподносится в некоей a priory заданной форме, то здесь именно форма и является предметом разработки. И оригинальность последней - один из критериев оценки результата. Для задач этого круга критичной становится часто максимальная абстрагированность от деталей технической реализации. И потому естественный выбор для их решения - платформа, изначально разрабатывавшаяся для того, чтобы от этих самых деталей пользователя изолировать - Macintosh, Amiga, BeOS.
Наконец, третий круг задач принято назвать обработкой и анализом данных (подчеркну - любых, от финансовых до астрономических). Хотя реально часто это не столько анализ (осуществляемый дедуктивным методом), сколько - синтез, инструмент коего - индукция. Для задач этой категории FreeBSD может оказаться оптимальным выбором. Хотя бы потому, FreeBSD изначально разрабатывалась исследователями, и в значительной мере - именно для исследовательских целей. А ведь любая "аналитическая" задача содержит в себе элемент исследования.
Таким образом, использование FreeBSD в качестве настольной системы оправдано при преобладании задач обработки данных. Однако она вполне в состоянии выполнять роль универсальной системы, располагая определенными средствами для выполнения как презентационных, так и "креативных" задач. Разумеется, если доля их в общем объеме работ не преобладающая - в противном случае, как я уже сказал, лучше остановиться на иных платформах.
Следовательно, единственным препятствием к широкому применению FreeBSD остается незнакомство с ней ее потенциальных пользователей. Именно для его преодоления и написана эта книга.
Основным источником информации о FreeBSD является официальный сайт проекта - .