30 лет назад появилась свободная Unix-подобная OC… и это не Linux

iphbngmc2e2pcyhed7k2gzcm1zo.png

Когда мы говорим о свободно распространяемой Unix-подобной операционной системе с открытым исходным кодом, то обычно подразумеваем Linux. Однако в начале 90-х существовал как минимум еще один подобный проект, релиз первой полнофункциональной версии которого состоялся ровно 30 лет назад, 14 июля 1992 года. Речь идет об операционной системе 386BSD, также известной под названием Jolix. Если вы подзабыли о существовании этой любопытной платформы, самое время немного освежить память.
История проекта 386BSD уходит корнями еще в 80-е, и в общих чертах напоминает историю появления Linux. Здесь тоже сыграли ведущую роль бывшие студенты, а именно, семейная пара Уильям и Линн и Джолиц (Lynne Jolitz, William Jolitz), обучавшиеся в Калифорнийском университете в Беркли. Именно там они познакомились с операционной системой BSD версий 2.8 и 2.9, в разработке которой приняли участие, и именно там им пришла в голову идея портировать эту ОС для 32-разрядных процессоров Intel 80386, самых мощных и современных на тот исторический момент.

Работы начались в 1989 году. Параллельно с этим в Беркли трудились над переносом на платформу Intel собственного кода — 4.3 BSD-Reno и 4.3 BSD Net/2, причем в этих проектах принимал непосредственное участие Уильям Джолиц. Тогда же под влиянием Ричарда Столлмана разработчики начали понемногу удалять из исходников BSD несвободные компоненты, подпадающие под проприетарную лицензию AT&T UNIX, но наличие значительного объема такого кода заметно тормозило процесс. Все свои наработки, созданные в процессе работы над кодом BSD в Беркли, Уильям Джолиц решил использовать для создания собственной свободно распространяемой операционной системы, базирующейся на 4.3 BSD Net/2, и дополненной кодом, написанным им с женой самостоятельно.

Первая версия 386BSD 0.0, которую Уильям и Линн и Джолиц представили 12 марта 1992 года, была еще сырой и неработоспособной — ОС включала в себя целый ряд несвободных приложений, а некоторые компоненты и вовсе отсутствовали. А вот версию 0.1, появившуюся на свет как раз 14 июля 1992 года, уже можно было назвать полноценным релизом. По крайней мере, эта редакция 386BSD предоставляла пользователю все необходимые возможности для нормальной работы.

iprxaf7khaeufj1zn_xencdbycm.png

Вся операционная система целиком помещалась на одну загрузочную дискету. Вскоре после выпуска версии 0.1 группа пользователей-энтузиастов начала создавать исправления и дополнения для 386BSD, выпускавшиеся в виде набора неофициальных патчей. Примерно в то же время возник и стал развиваться еще один похожий проект под названием BSD/386, который часто путают с разработкой Джолицев. Эта версия ОС была выпущена основанной в Беркли компанией BSDi (Berkeley Software Design Inc.), которой руководил Донн Сили, и также опиралась на исходники 4.3 BSD Net/2. Несмотря на многочисленные слухи, серьезной конкуренции между 386BSD и BSD/386 не было и в помине, скорее наоборот: Уильям Джолиц и Сили работали вместе над проектами для компании UUNET, и Уильям даже передавал Сили часть своего кода для тестирования.

Несмотря на то, что некоторые источники указывают, будто разработчики 386BSD были вовлечены в судебные разбирательства со стороны AT&T — владельца ряда коммерческих лицензий на ОС UNIX, — это не совсем верно. Претензии UNIX System Laboratories, Inc, подразделения AT&T, были адресованы как раз-таки разработчикам BSD/386 — компании BSDi, и касались части исходного кода Net/2, который Сили использовал в коммерческих целях. Поскольку семейство Джолиц распространяло свою 386BSD бесплатно, к ним-то как раз ни у кого никаких претензий не возникло. Ни разработанный ими код для 386BSD, ни код, позаимствованный из Net/2, никогда не был предметом каких-либо судебных исков.

Основными отличительными особенностями 386BSD стала новая система безопасности с ролевым доступом, Р2Р-загрузка, а также более простое, наглядное и упорядоченное по сравнению с другими существовавшими на тот момент версиями BSD конфигурирование ОС. Все эти особенности и привлекали пользователей. Однако между Уильям и Линн и Джолиц с одной стороны, и энтузиастиами, разрабатывавшими для их детища неофициальные патчи и улучшения, разгорелся нешуточный конфликт. Джолицы желали сами контролировать развитие своего проекта, а потому не хотели включать сторонние пакеты, расширявшие возможности системы, в официальные обновления 386BSD. Также они отказывались добавлять в следующие релизы некоторые обновления, созданные комьюнити. Энтузиасты, потратившие на доработку проекта Джолицев массу времени, не на шутку обиделись, сделали форк системы, включили в него все созданные ими дополнения и назвали получившийся продукт FreeBSD — релиз этой свободной ОС состоялся 1 ноября 1993 года. А еще раньше, в апреле 93-го, увидел свет другой форк 386BSD — NetBSD, ставивший своей целью развитие свободной BSD-совместимой системы с упором на кроссплатформенность.

Несмотря на появление близнецов-конкурентов, в конце 1994 года Джолицы выпустили релиз 1.0 386BSD — он содержал принципиально новую реализацию ядра, множество дополнительных компонентов, занимал без малого 600 мегабайт и распространялся на компакт-диске. Но поддерживаемые комьюнити проекты FreeBSD и NetBSD настолько быстро набирали популярность, что авторы понемногу утратили интерес к своему детищу, и к 1997 году перестали обновлять систему. Только 5 августа 2016 года сын основателей проекта, Бен Джолиц выложил на GitHub обновленную версию 386BSD, получившую порядковый номер 2.0. Правда, changelog для этой версии почему-то так и не был опубликован.

Все права на исходный код 386BSD и JOLIX в настоящее время принадлежат исключительно Уильяму Джолиц и Линн Джолиц, но система по-прежнему доступна для свободного скачивания и некоммерческого использования. Линн сделала успешную карьеру в Кремниевой долине, организовала несколько стартапов в области разработки ПО и регулярно пишет статьи для журнала BYTE. Сейчас она живет в городе Лос-Гатос, Калифорния. Уильям Джолиц, до последнего принимавший непосредственное участие в коммерческих проектах своей жены, скончался от онкологического заболевания 2 марта 2022 года. Их сын, Билл, продолжает дело родителей и занимается разработкой ПО, уделяя особое внимание операционным системам с открытым исходным кодом.

coe2kha8u8_pypip-2k3wk3ppa0.png

© Habrahabr.ru