Зарождение свободных ОС

На предыдущей странице я упоминал о профессоре Фабри, принёсшем свет UNIX’овой мысли в стены Университета Беркли. Продолжим эту историю.

В Беркли UNIX попал в условия открытого общения специалистов в области Computer Science самого разного ранга, от профессоров, начиная с Фабри, до аспирантов — именно такой статус имели во второй половине 70-начале 80-х годов прошлого века Билл Джой (Bill Joy, в последующем один из основателей компании Sun), Маршалл Керк МакКузик (Marshall Kirk McKusick), Озалп Бабаоглу (Özalp Babaoğlu). Их усилиями, вкупе с другими сотрудниками университета, система UNIX медленно, но верно превращалась именно в то, чем она стала ныне. Достаточно сказать, что на счету “ранних берклианцев” разработка системы управления виртуальной памятью, концепции сокетов для взаимодействия между процессами, текстовый редактор vi, ставший в лице своих клонов elvis и Vim неотъемлемой частью всех UNIX-подобных систем, и командная оболочка C-shell (csh), положившая начало интерактивным методам работы в командной строке.

Нам, избалованным мощными и красивыми текстовыми редакторами для графического режима (или, по вкусу, изощрёнными возможностями нынешнего Vim’а), современными командными оболочками типа bash и zsh, трудно сейчас оценить, какую роль в дальнейшем развитии UNIX-подобных систем сыграли vi и csh, выглядящие сегодня столь невзрачными.

Однако представьте, что в вашем распоряжении до сих пор была альтернатива из строчного редактора ed без всяких интерактивных возможностей, а также громоздкого и во многом непонятного GNU Emacs (разработка которого, кстати, началась лишь на несколько лет раньше создания vi). И вдруг в одночасье вы получаете в свое распоряжение легкий, универсальный (то есть работающий на всех терминалах, и работающий абсолютно одинаково), простой (да-да, vi в базовой своей части чрезвычайно прост — если воспринимать его именно таким, каким он является) интерактивный редактор. Да к тому же гарантированно имеющийся на любой UNIX-машине.

А чтобы осознать, что привнёс с собой csh в командную строку, просто попробуйте поработать сколько-нибудь продолжительное время в /bin/sh, являющейся оболочкой по умолчанию для обычного пользователя во FreeBSD. Выполняя при этом действия хоть на гран сложнее, чем ls и cd. А ведь /bin/sh — это POSIX-шелл, основанный на шелле Корна, до интерактивных возможностей которого первичному для UNIX шеллу Борна, по свидетельству очевидцев, — что до Пекина ракам…

Впору ли не воздать должное создателю обеих этих программ Биллу Джою? Тем более, что это имя всплывёт несколько позднее, в истории Solaris.

Сотрудники Беркли оказались первыми и в организации распространения результатов своих работ. Этой цели служила 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, но заказывали и использовали более функциональную систему из Беркли.

Несколько напоминает ситуацию с Windows, когда приобретается не программа как товар, а некое мифическое право на её использование, не правда ли? Такое положение вещей, противоречащее здравому смыслу, не могло продолжаться вечно — и скоро мы узнаем, каким образом оно разрешилось. Но для этого нам опять придётся прервать линейность истории, обратившись к вопросу, откуда пошёл свободный софт.


Теги: