Книга: Вопросы истории: UNIX, Linux, BSD и другие
Глава вторая. Берклиада
История возникновения и раннего развития BSD-систем, а в дальнейшем наиболее популярной из них – FreeBSD, поистине эпична сама по себе. И к тому же она оказалась поворотной точкой в дальнейшей судьбе всех открытых и свободных операционок. И потому заслуживает подробного рассмотрения, которое, начавшись в этой главе, будет продолжено в главах пятой и седьмой.
«Похищение Елены Прекрасной»
В разделе о зарождении UNIX предыдущей главы упоминался профессор Фабри, который принёс свет UNIX’овой мысли в стены Университета Беркли. Где система попала в условия открытого общения специалистов в области Computer Science самого разного ранга, от профессоров до аспирантов – именно такой статус имели во второй половине 70-начале 80-х годов прошлого века Билл Джой (Bill Joy, в последующем, как мы уже видели, один из основателей компании Sun), Маршалл Керк МакКузик (Marshall Kirk McKusick), Озалп Бабаоглу (?zalp Babao?lu). Их усилиями, вкупе с другими сотрудниками университета, система UNIX медленно, но верно превращалась именно в то, чем она стала ныне. Достаточно сказать, что на счету «ранних берклианцев» разработка системы управления виртуальной памятью, концепции сокетов для взаимодействия между процессами, текстовый редактор vi, ставший в лице своего клона Vim неотъемлемой частью всех UNIX-подобных систем, и командная оболочка C-shell (csh
), положившая начало интерактивным методам работы в командной строке.
Нам, избалованным мощными и красивыми текстовыми редакторами для графического режима (или, по вкусу, изощрёнными возможностями нынешнего Vim’а), современными командными оболочками типа bash
и zsh
, трудно сейчас оценить, какую роль в дальнейшем развитии UNIX-подобных систем сыграли vi
и csh
, выглядящие сегодня столь невзрачными.
Сотрудники Беркли оказались первыми и в организации распространения результатов своих работ. Этой цели служила Berkely Software Distribution или, сокращённо, BSD – система распространения разработанного в университете софта на магнитных лентах, от которой в конечном итоге происходит всё многообразие форм BSD- и Linux-дистрибуции.
Первые выпуски BSD (1BSD и 2BSD), вышедшие в 1978 году, ещё не представляли собой цельных систем, а содержали лишь набор утилит и приложений собственной разработки. О какой-либо системной целостности можно говорить, начиная с 3BSD (1979 год) – правда, целостность эта в значительной мере была обусловлена включением компонентов собственно UNIX.
Однако именно выпуск 3BSD послужил причиной тому, что команда UNIX-разработчиков Беркли получает в 1980 году грант упоминавшегося в прошлой главе DARPA с целью разработки протокола передачи данных для сети ARPANET, который ныне известен как протокол TCP/IP.
Практически одновременно с получением гранта DARPA Бобом Фабри формируется команда CSRG (Computer System Research Group), которая объединила всех трудящихся университета Беркли (и не только его), связанных с развитием берклианской ветви UNIX. Начиная с октября 1980 года, на протяжении двух с небольшим лет эта группа последовательно выпускает 4BSD, а затем 4.1BSD в нескольких версиях: собственно 4.1BSD – июнь 1981 года, 4.1a, 4.1b и 4.1c (1982—начало 1983 года).
Модель распространения BSD выглядит весьма запутанной для нас, незнакомых с американским юридическим крючкотворством. Все собственно Берклианские разработки распространялись хотя и не бесплатно, но за минимальные деньги (лента 1BSD, например, стоила 50 долларов), причём дальнейшее их использование было практически свободным, в духе позднейшей BSD-лицензии.
Однако те же разработки в составе цельной работоспособной системы, содержащей UNIX-код, требовали лицензирования последнего, что приводило к удорожанию на порядки. Дело доходило до ситуаций, которые кажутся нам смешными: организации покупали лицензию на использование UNIX у Bell Labs, но заказывали и использовали более функциональную систему из Беркли.
Такое положение вещей, противоречащее здравому смыслу, не могло продолжаться вечно – и скоро мы узнаем, каким образом оно разрешилось. Но сначала прервём линейность истории, обратившись к вопросу, откуда пошёл свободный софт.
Начало свободного софта
Говоря в главе первой об истоках и предпосылках истории FOSS, я упомянул общественные движения Open Source Software и Free Software, однако больше не прибавил о них ни слова. Настало время восполнить это упущение.
Под открытым и свободным программным обеспечением, для которого закрепилась аббревиатура FOSS, понимается два близкородственных, но не вполне идентичных понятия – программное обеспечение с открытыми исходными текстами (Open Source Software) и собственно свободное программное обеспечение (Free Software).
Читатель, знакомый с современным положением дел вокруг так называемого СПО, вправе задать мне вопрос: почему названия из предыдущего абзаца стоят именно в таком порядке? Ведь каждому ребёнку известно, когда Ричард Столлман, известный в миру как RMS, создал Фонд Свободного Программного обеспечения и основал проект GNU, и когда из уст Эрика Рэймонда, не менее известного как ESR, впервые прозвучало словосочетание Open Source Software. Попробуем разобраться.
Движение Open Source организационно оформилось в 1998 году. Однако зародилось оно очень давно – и в тех же академических кругах Computer Science. Собственно, первоначально никакого движения не было – а была лишь обычная, принятая в любой науке, практика свободного обмена результатами своей работы. Благо, ARPANET, а затем и Интернет предоставили к тому практически неограниченные возможности. Да и необходимости в движении не возникало – никакого другого софта, кроме открытого, просто не было в природе.
Об оформлении прототипа движения Open Source можно говорить с начала Берклиады, когда Университет Беркли стал распространять результаты своих работ открыто (то есть с доступом к исходным текстам) и свободно (то есть без ограничений на дальнейшую модификацию и распространение), под лицензией, которая получила имя лицензии BSD.
Суть её была очень проста: с исходниками BSD UNIX можно было делать всё, что угодно, кроме как приписывать себе их авторство. Правда, была там и так называемая «оговорка о рекламе» – требование упомянуть регентский совет Университета Беркли в любом производном продукте, но со временем она была изъята.
Поскольку усовершенствования первозданной UNIX, пришедшие из Университета Беркли, были очень существенными, результатом этого было расщепление UNIX на две ветви – проприетарную UNIX от AT&T, за которой со временем закрепилось название System V, и BSD UNIX, распространявшуюся свободно. Впрочем, в силу открытости берклианских разработок, они быстро были инкорпорированы и в System V (начиная с её Realese 4, говорить от первозданном UNIX уже не приходится).
Обе ветви UNIX, System V и BSD UNIX, сосуществовали мирно, подобно капитализму и социалиализму. Однако лишь до поры, до времени – пока не появилась юридическая возможность коммерческого распространения UNIX, само это слово (в форме UNIX) не стало торговой маркой, соответствие которой должно сертифицироваться, – короче говоря, пока не запахло «баблом».
И вот тут-то формальные правообладатели UNIX вспомнили, что в составе BSD-системы имеется некоторое количество кода, являющегося их «интеллектуальной собственностью», и затеяли судебный процесс против Университета Беркли, о чём речь пойдёт в скором времени.
А пока заметим, что важной вехой в становлении движения Open Source и как технологического, и как идеологического явления стала разработка оконной системы X, начатая в 1984 году, чему будет посвящена отдельная страница.
Тем временем Ричард М. Столлман, сотрудник той самой MIT AI, боролся с прикручиванием принтера от HP к своей системе. И боролся безуспешно – поскольку товарищи от Хьюлетта и Паккарда отказались предоставить ему исходники на своё firmware. Что привело Столлмана к убеждению – закрытые исходники суть тормоз прогресса, и все программное обеспечение должно быть открытым и свободным. Начался крестовый поход за освобождение софта.
К середине 80-х годов прошлого тысячелетия RMS создаёт Фонд свободного программного обеспечения (FSF – Free Software Foundation), начинает проект GNU – воспроизведение функциональности UNIX «с чистого листа», но в свободном исполнении, а главное – формулирует принципы Free Software: свобода использования, свобода изучения и модификации, свобода распространения.
Знакомый велосипед, не правда ли? Да, именно на таких условиях распространялись результаты работ сообщества Computer Science (как, впрочем, и любого иного научного сообщества). Новым в принципах RMS, нашедшим своё выражение в разработанной под его руководством (и с участием профессиональных юристов) лицензии GPL (General Public License), было только одно: любая программа, использующая код, защищаемый GPL, должна распространяться на тех же условиях – ныне, присно и во веки веков…
В рамках проекта GNU (что расшифровывается просто – GNU is not UNIX) были разработаны функциональные аналоги всех классических UNIX-утилит и пользовательских приложений, из которых важнейшим (и до сих пор единственным незаменимым) оказался компилятор языка Си (gcc – GNU C Compiler).
Участники проекта GNU, работавшие первоначально на чистом энтузиазме, за считанные годы воссоздали все системное окружение полноценной ОС. За одним единственным исключением – ядра. Но тут уже начинается история из главы четвёртой. А мы продолжим нашу Берклиаду.
Возвращение в Беркли
Оно ознаменовалось тем, что в августе 1983 года была выпущена система 4.2BSD – та самая, на разработку которой собственно и был получен грант DARPA. К этому времени Билл Джой, сыгравший большую роль в разработке предыдущих версий, покинул Университет Беркли и стал соучредителем новой компании Sun Microsystems (о чём – в следующей главе). На первые же роли в проекте BSD вышли Майк Карелс (Mike Karels) и Керк МакКузик.
Система 4.2BSD аккумулировала в себе как все ранние достижения берклианской мысли, так и разработки, выполненные уже в рамках CSRG и как бы «порционно» появлявшиеся в последовательности версий 4.1BSD. Из которых главнейшими были протокол TCP/IP и новая файловая система FFS (Fast File System).
О значении TCP/IP много говорить не приходится: если вы читаете эти строки, значит, тем или иным образом имеете доступ в Интернет. Так вот, без TCP/IP ничего этого не было бы: ни Интернета, ни «одноглазникофф ффконтакте», ни самой этой книги.
А чтобы понять значение FFS, достаточно вспомнить что все файловые системы современных UNIX’ов, как свободных, так и проприетарных, берут своё начало именно от неё, если не прямо, то опосредованно, через развитие заложенных в ней принципов.
Так что система 4.2BSD не только предопределила направление развития всех последующих представителей BSD-семейства, но и оказала большое влияние на UNIX «чистой линии». А также – будущей героини нашего повествования, ОС Linux.
Линия BSD рано начала давать боковые отростки. Из них одними из главных, в рамках нашего повествования, стали микроядерные операционки, в первую очередь ядро Mach, разрабатывавшееся в Университете Карнеги-Меллона, а затем – в университете штата Юта. Некогда оно рассматривалось как прообраз операционных систем будущего, однако на практике возлагавшихся на него надежд не оправдала. Сам по себе проект Mach давно прекратил своё развитие, так что главная слава Mach оказалась посмертной. Ибо под его воздействием Энди Танненбаум написал свою игрушечную систему MINIX, которая вдохновила Линуса Торвальдса на написание Linux.
Пора опять возвращаться к магистральной линии развития BSD. Каковая после выхода 4.2BSD, оказавшейся переломной в развитии этой системы, приобрела плавно поступательный характер. Новые релизы появляются относительно редко: выход 4.3BSD датируется июнем 1986 года, а её последовательных инкарнаций – 4.3BSD-Tahoe и 4.3BSD-Reno – июнем 1988 и началом 1990 года соответственно.
Выход следующего релиза, 4.4BSD, который готовился как квинтэссенция всей предшествующей Берклиады, был запланирован на 1993 год. И действительно произошёл почти в установленные сроки. Однако ему суждено было стать и последним в ряду всех систем линии 4.xBSD: потому что в интервале 1990-1993 года случилось несколько событий, которые в своей совокупности изменили весь ход истории свободных операционных систем.
Интермедия
Итак, мы остановились на моменте выхода 4.3BSD и двух её последовательных инкарнаций – 4.3BSD-Tahoe и 4.3BSD-Reno. Базовой платформой для всех них был VAX. Однако в 4.3BSD-Tahoe обособлены машинно-зависимые и машинно-независимые части кода, что создавало предпосылки для грядущего портирования на иные архитектуры, планировавшиеся в версии 4.4. А 4.3BSD-Reno и была прототипом этой грядущей ветки, предназначенным для обкатки намечавшихся новшеств.
Параллельно с основными выпусками 4.3BSD было подготовлено ещё два как бы дополнительных – 4.3BSD Net1 (март 1989 года) и 4.3BSD Net2 (июнь 1991 года). Основываясь на 4.3BSD-Tahoe и 4.3BSD-Reno соответственно, они содержали исключительно компоненты, разработанные в Беркли и полностью освобождённые от какого-либо кода первозданного UNIX. И потому могли распространяться свободно как в бинарном виде, так и в виде исходных кодов.
Название выпусков 4.3BSD Net1 и Net2 связано с тем, что они замышлялись как подборки инструментария для работы с сетями – главным образом, по протоколу TCP/IP. Таково было пожелание пользователей, нуждавшихся в этих средствах, но по тем или иным причинам не испытывавших потребности в лицензировании собственно UNIX-кода. Однако, как мы увидим далее, значение этих выпусков скоро переросло поставленные первоначально скромные цели.
И 4.3BSD Net1 стал первой системой из Беркли, которая распространялась под лицензией BSD (ещё в первом её варианте, включавшем «оговорку о рекламе»).
Номинальная цена за ленту 4.3BSD Net1 была установлена в 1000 долларов. Однако, поскольку лицензия это не запрещала, далее копии ленты могли распространяться совершенно свободно, копироваться, устанавливаться на любое количество машин, передаваться и даже выкладываться на анонимные ftp-сервера. Что, разумеется, и происходило – однако, по свидетельству очевидцев этой истории, немало организаций не сочли западло для себя заплатить указанную сумму. Причём не столько ради получения самого кода – его, как уже сказано, можно было получить и бесплатно, сколько для финансовой поддержки проекта.
Подобная практика распространения продолжалась и после выхода 4.3BSD Net2. И опять с тем же результатом – несмотря на возможность откровенной и вполне законной халявы, нашлось немало контор и даже частных лиц, которые выложили 1000 баксов за обладание дистрибутивной лентой. Среди таковых оказался и Грег Лией – в последующем один из ключевых разработчиков FreeBSD.
Факт столь массового спроса на 4.3BSD NetX тем более примечателен, что ни первый, ни второй её выпуск не содержал самодостаточной, загружаемой ОС, а включал только системное обрамление и комплекс утилит, в первую очередь, для работы с TCP/IP. И пользователи, кем бы они ни были, организациями или частными лицами, покупали её на свой страх и риск, так как превращением её в законченную ОС они должны были озаботиться сами.
В ходе подготовки выпусков 4.3BSD Net1 и Net2 обнаружилось, что проприетарного (то есть патентованного) кода первозданного UNIX, права на который к тому времени перешли к USL (UNIX Systems Laboratory – дочерняя компания AT&T, созданная специально для продвижения этой системы) в составе берклианских UNIX’ов осталось не так уж и много. И родилась идея создания полностью открытой, свободно распространяемой операционной системы BSD. Правда, даже в наиболее полном выпуске 4.3BSD Net2 недоставало нескольких ключевых фрагментов, которые превратили бы его в полноценную операционную систему, полностью свободную от наследия UNIX. Их и следовало воспроизвести в первую очередь.
Примерно в это же время прекращается финансирование проекта BSD со стороны DARPA. Есть подозрение, что причиной тому послужил распад мировой системы социализма – всё в жизни имеет свою оборотную сторону, даже крах коммунистической идеологии. И хотя CSRG просуществовала ещё несколько лет (как структурное подразделение, она была расформирована в 1995 году), ряд её сотрудников начал подыскивать себе другие занятия.
В числе их оказались Билл Джолитц (Bill Jolitz) и Линна Джолитц (Lynne Jolitz). Они поставили своей целью, во-первых, воспроизвести недостающие звенья между 4.3BSD Net2 и полноценной ОС, а во-вторых, портировать новообразованную систему на ту самую демократическую платформу того времени – на i386.
Обе задачи были успешно решены в течении полугода после выпуска 4.3BSD Net2. И в результате в январе 1992 года свет увидела работоспособная система под названием 386BSD, первая из всех берклианских систем, полностью свободная от проприетарного кода, и первая же, адаптированная для машин с процессором i386, что и было вынесено в её титулатуру.
Распространялась система 386BSD исключительно по сети, как в откомпилированном виде, так и в исходниках, и сразу, несмотря на содержащиеся в ней ошибки, приобрела популярность среди народных масс. Следствием этого стало появление большого количества исправлений, дополнений и улучшений исходной системы, которые составили корректирующий комплект, получивший неофициальное название patchkit (набор заплаток), делающий 386BSD пригодной к практическому использованию.
Некоторое время «заплаточный» проект развивался усилиями энтузиастов при координации Билла Джолитца. Однако довольно скоро выяснилось, что он не может уделять ему столько времени, сколько требовала обработка многочисленных поступающих патчей. И на некоторое время «заплаточный проект» оказался заброшенным.
FreeBSD: рождённая свободной
И тогда из среды энтузиастов системы выдвинулась группа координаторов «заплаточного» проекта, получившего условное название 386BSD 0.5 или 386BSD Interim. В их числе были Джордан Хаббард (Jordan Hubbard, ныне работающий в фирме Apple директором по технологиям UNIX), Нейт Вильямс (Nate Williams) и Род Граймс (Rod Grimes), оказавшиеся самыми последовательными приверженцами patchlit’ов. Они разработали промежуточный снапшот системы, очищенный от «заплаточных» излишеств.
Однако планы «тройки по борьбе с басмачами» (пардон, заплатками) были нарушены, когда Джолитц окончательно прекратил поддержку своего проекта, не оставив ясных указаний насчёт того, что уже сделано, и что надлежит сделать далее. Но это уже не смогло остановить развитие проекта. А примкнувший к нему Дэвид Гринмен (David Greenman) придумал для него и имя – FreeBSD.
Вахта же Хаббарда выразилась в том, что он наладил контакт с компанией Walnut Creek CDROM, образовавшейся незадолго до этого (в 1991 году) для распространения всякого рода Free- и Shareware (а также и собственно Free Software) на компакт-дисках. Если вспомнить, что до превращения CD-приводов в стандартный атрибут настольных персоналок оставалось ещё несколько лет, можно оценить степень новаторства этой фирмы.
Общепринятым способом распространения сколько-нибудь объёмного программного обеспечения (за исключением коммерческого «коробочного») в те годы были публичные ftp-сервера. Однако доступ к Интернету, по крайней мере, для частных лиц, был тогда ещё большей экзотикой, нежели CD-привод в индивидуальном десктопе. И Хаббард предложил совершенно новую по тем временам идею – распространение дистрибутива операционной системы на компакт-дисках. Это если и не предопределило успех проекта, то немало ему способствовало.
В результате этого сотрудничества в декабре 1993 г. совместные усилия проекта FreeBSD и фирмы Walnut Creek обрели зримое воплощение в виде FreeBSD 1.0, распространявшейся не только с ftp-серверов, но и на компакт-дисках. Таким образом, FreeBSD стала одним из пионеров в этом, ныне столь привычном для нас, способе распространения дистрибутивов.
FreeBSD 1.0 включала в себя компоненты из BSD4.3 Net 2, 386BSD и её «заплаточного» проекта, а также ряд утилит, разработанных в рамках проекта GNU. Он имела большой успех, который был закреплён и развит выпуском в мае 1994 года версии FreeBSD 1.1.
Технологический детектив
Система 386BSD и её наследница FreeBSD были не единственными попытками создания BSD, свободной от проприетарного кода. Еще один вариант был реализован созданной в 1991 году фирмой BSDI (Berkeley Software Design Incorporated) – но уже как коммерческий.
Фирма BSDI занялась разработкой собственной BSD-системы, взяв за основу всё ту же ленту 4.3BSD Net2. Возникшая в результате система получила имя BSD/386 (в дальнейшем она была известна как BSDi и BSD/OS) и стала распространяться в бинарном виде вместе с исходниками по цене 995 долларов под первым вариантом лицензии BSD.
Упоминание Калифорнийского университета и Регентского совета как создателей и владельцев распространяемой системы, присутствовавшее в первом варианте BSD-лицензии, делало фирму как бы сопричастной последнему – тем более, что она была образована бывшими сотрудниками CSRG. Среди них был и Ричард Стивенс (Richard Stevens), главный разработчик BSD/OS, известный также как автор книг по UNIX и протоколу TCP/IP (он скончался в 1999 году в возрасте 48 лет).
Не менее важным, чем причастность BSDI к Калифорнийскому университету, обстоятельством для дальнейших событий оказалось то, что её система позиционировалась, как UNIX, и заказ её можно было осуществить, обратившись по номеру телефона, содержащему слово UNIX. А слово это стало к тому времени торговой маркой, под владением USL, дочерней фирмы AT&T. Которая как раз в это время получила, наконец, право коммерческого использования UNIX. И результаты не замедлили воспоследовать, поскольку, как уже говорилось ранее, в воздухе отчётливо запахло «баблом».
Первые претензии со стороны USL, однако, касались только компании BSDI и затрагивали лишь рекламную сторону дела: использование последней торговой марки UNIX без соответствующего лицензирования и «вводящего в заблуждение» телефонного номера. Обе они были не лишены резона и немедленно удовлетворены: номер был снят, а соответствующие службы компании BSDI переформулировали свои рекламные материалы, популярно объясняя потенциальным покупателям, что BSD/386 является не совсем UNIX’ом.
Однако вслед за этим в USL вспомнили, что в составе BSD-систем имелось некоторое количество кода, являющегося их «интеллектуальной собственностью», и вчинили уже настоящий судебный иск. Сущность его сводилась к тому, что BSDI, кроме проприетарного кода UNIX, распространяет фирменные секреты USL, чем наносит оной непоправимый финансовый урон, и к требованию прекратить продажи BSD/386.
В ответ BSDI отвергла претензии по поводу чистоты кода пресловутых шести файлов, а по поводу всего остального (то есть того, что составляло содержимое выпуска 4.3BSD Net2) перевела стрелки на Калифорнийский университет, указав, что распространяла их код в полном соответствии с BSD-лицензией.
Поскольку добиться успешного решения суда в «деле о шести файлах» показалось USL проблематичным, она переформулировала иск, включив в число ответчиков, кроме BSDI, также и Калифорнийский университет, а содержание его распространив на всю BSD-систему в виде 4.3BSD Net2, требуя теперь запрета на распространение и этой последней,
В таких случаях сначала проводится предварительное слушание, определяющее, может ли иск составить предмет рассмотрения в суде, которое и происходит при положительном ответе на этот вопрос.
Подготовка к предварительному слушанию заняла несколько недель, в течении которых обе стороны развили бурную деятельность. Как пишет Керк МакКузик,
Штат CSRG перешёл от написания кода к написанию нескольких сотен страниц материалов, которые были использованы в юридических сводках.
Наконец, в декабре 1992 года состоялось предварительное слушание, которое проводил судья Федерального суда в Нью-Джерси (штат, в котором располагалась штаб-квартира USL), Диккинсон Р. Девебуа – по причинам, которые станут ясны через несколько строк, имя его должно быть упомянуто в ряду создателей и разработчиков BSD и FreeBSD. Он не принял немедленного решения по иску, а решил подробнее рассмотреть материалы. Это заняло у него шесть недель, по прошествии которых было вынесено решение: большинство обвинений USL отклонялось, за исключением двух пунктов, касавшихся авторских прав и возможности утраты фирменных секретов. И, кроме того, было предложено рассматривать дело в суде штата, а не в федеральном суде.
Это судьбоносное решение было вынесено в пятницу вечером. А уже в понедельник утром Калифорнийский университет вчинил компании USL встречный иск, касавшийся нарушения USL лицензии BSD, под которую подпадал заимствованный ими из BSD-систем код. То есть при распространении UNIX в сопроводительной документации не упоминался Калифорнийский университет как разработчик и собственник заимствованного кода (а бесспорных заимствований из BSD в SVR4 было немало). Вот тут и сыграла свою роль та самая «оговорка о рекламе» в первоначальной версии лицензии BSD, за которую она подвергалась нападкам со стороны пуристов Free Software, начиная с Ричарда Столлмана.
Встречный иск в суде Калифорнии предопределил бы место для всех судебных разборок, если таковые последовали бы на уровне штата: по американским законам все дела по соответствующему уровню должны проходить в одном штате, дабы сторона, располагающая большими финансовыми ресурсами, не могла пооткрывать дела против менее состоятельной стороны во всех штатах сразу, ведь проезд даже и в Америке кое-чего стоит…
Однако скоро накал страстей спал. В 1993 года USL вместе со всеми её торговыми марками и правами, реальными и мнимыми, была куплена у AT&T фирмой Novell. Рэй Нурда (Ray Noorda), бывший тогда её CEO, выразился в том смысле, что предпочитает конкурировать на рынке, а не сквалыжничать в суде. И постарался оказать максимально возможное воздействие на руководство USL, дабы решить вопрос полюбовно.
К слову замечу, что Рэй Нурда, обеспечив славу Novell, как ведущей компании в области сетевых технологий (»ну кто же не помнит старика Нетваря»?), через пару лет покинул её и основал фирму Caldera, на протяжении ряда лет выпускавшую весьма прогрессивный дистрибутив Linux – Caldera OpenLinux. Он отошёл от дел на рубеже тысячелетий и скончался в 2006 году, в возрасте 82 лет. Ему не суждено было увидеть того юридического шоу, которое устроила по поводу собственности на код UNIX SCO – компания, в которую преобразовалась основанная им Caldera. Иска, почти зеркально повторившего дело USL vs Berkeley, но ещё менее обоснованного и завершившегося с существенно более печальными последствиями для истца. Воистину, история мстит забывшим её тем, что имеет обыкновение повторяться.
Но это было ещё далеко в будущем. А пока, несмотря на всю запутанность дела, в конце концов, соглашение было достигнуто. По его условиям из 4.3BSD Net2 были удалены фрагменты кода, признанные частной собственностью USL (по некоторым данным – три файла из примерно восемнадцати тысяч), в некоторых файлах были сделаны изменения, в иных же – добавлено уведомление об авторских правах USL. И в таком виде система BSD получила право на свободное распространение.
Цена свободы
Казалось бы, детективная история разрешилась вполне благополучно, не так ли? Однако на этот счёт существуют неоднозначные мнения. Согласно Керку МакКузику (а он был тогда связан именно с разработкой 4.4BSD в рамках CSRG), воссоединение всех берклианских побегов в лоне едином вызвало лишь кратковременную задержку в их разработке, которая в итоге оказалась
… благом, поскольку она заставила различные группы повторно синхронизировать наработки, сделанные за три года с момента первого выпуска CSRG Networking Release2.
Джордан Хаббард, который тогда занимался разработкой непосредственно FreeBSD, смотрит на ситуацию тех дней не столь оптимистично, полагая, что система 4.4BSD-Lite
… была в прямом смысле light, в частности, потому, что группа CSRG удалила большие куски кода, необходимого для создания реально загружающейся системы (по причине различных лицензионных требований), и фактически, порт 4.4BSD для платформы Intel был очень неполным.
Как можно заключить из слов Хаббарда, в тот момент катастрофа проекта казалась неизбежной – легким движением руки цельная и работоспособная система превратилась в симпатичнейшего уродца. Но, как сказал один из героев Профессора, «приключения никогда не кончаются». И участники проекта FreeBSD приступили
… к сложнейшей задаче буквально пересоздания системы с нуля на основе абсолютно новой и довольно неполной системы 4.4BSD-Lite.
Реинкарнация недостающих фрагментов заняла около года. И в итоге 22 ноября 1994 года было объявлено о выходе первой версии возрождённой FreeBSD – 2.0, которая, несмотря «на множество недотёсаных углов», снискала значительный успех. А главное – к лицензионной её чистоте не смог бы придраться ни один сутяга. Именно она положила начало традиции, не прерывающейся и поныне.
Тем не менее, момент, благоприятный для «народной системы для народной платформы», был упущен: ниша эта оказалась плотно занята, во-первых, главной системой для простого народа в лице Windows 3.1/3.11, а чуть позже и Windows 95. А на роль системы альтернативной, для народа не совсем простого, выдвинулся Linux в лице первых своих дистрибутивов: Slackware, Debian, Red Hat, чуть позже Suse.
Существует мнение, что если бы BSD (еще не разделившаяся на Net- и FreeBSD) не погрязла бы в тяжбе с AT&T и получила бы свободу в конце 80-х – начале 90-х годов, то в разработке Linux не было бы никакой необходимости. Несмотря на свою пылкую любовь к BSD-системам во всех их проявлениях, не могу с этим согласиться: если бы Linux’а не было – его следовало бы изобрести. Потому что без него (и внедрённого Линусом в IT-индустрию метода разработки софта, о котором я говорил ранее) жить было бы скучно…
Тем не менее, хотя FreeBSD и задумывалась как система для пользователей, пусть и весьма специфических – но с сегодняшней колокольни превращения компьютера в бытовой прибор все пользователи того времени выглядят специфическими, – стать таковой в те дни ей было не суждено. Однако она снискала популярность среди Интернет-провайдеров, что и предопределило её репутацию как серверной системы на многие годы вперед. Стереотип этот начинает ломаться лишь в последние годы, что мы и увидим при рассмотрении дальнейшей истории этой системы.
И хотя главная интрига нашего исторического сюжета позади, в будущем FreeBSD будет еще один драматический поворот, о котором мы расскажем в своё время. А сейчас зададимся вопросом – почему же эта ОС не стала системой для пользователя? Ведь, казалось бы, наконец претендент на звание народной ОС для народной платформы определился. Однако эта роль – стать народным десктопных UNIX’ом – выпала на долю системы, которая в это самое время зародилась в других краях и на другой почве. Со временем ответ на этот вопрос придёт. Но прежде мы вернёмся немного назад, к моменту вскоре после расщепления первозданного UNIX'а на ветки System V и BSD.
- 3. Вторая нормальная форма (2NF)
- Введение Вторая грамотность и проблемы ее освоения
- Часть вторая Траты и сбережения
- Предпосылка вторая, «денежная»
- Глава вторая. Переоцененный талант
- Часть вторая Подробнее о рынке и стратегии
- Часть вторая Семь шагов к изменению поведения
- Глава вторая. Три столпа убедительности
- Часть вторая Язык программирования C
- Вторая часть Как создать экспоненциальную организацию
- Часть вторая Освоение семи истин инноваций и трансформация LEGO
- Часть вторая Сосредоточьтесь на цели