30 лет назад появилась свободная Unix-подобная OC… и это не Linux
Когда мы говорим о свободно распространяемой 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 предоставляла пользователю все необходимые возможности для нормальной работы.
Вся операционная система целиком помещалась на одну загрузочную дискету. Вскоре после выпуска версии 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 года. Их сын, Билл, продолжает дело родителей и занимается разработкой ПО, уделяя особое внимание операционным системам с открытым исходным кодом.
Оригинал
Подписывайтесь на наш блог, чтобы не пропустить новые интересные посты!
Кто работает с pfsense?
Кто работает с pfsense? Помогите, если сможите. Мануалы читал, фряху немного знаю. Какого мпх squid устанавливается в /usr/local/etc? Почему мне предыдущий админ сказал, "что этот каталог, как в винде "C:\windows\system32"? Бля я хз, кому верить... всегда думал, что в /etc и /usr/local/etc конфиги.............................
Заметка о том, как принадлежность кода лагерю "правильных" лицензий важнее функциональности
Я хочу поделиться с вами одним наблюдением, которое я сделал при изучении отчета о развитии FreeBSD за 4-й квартал 2021-го и за 4-й квартал 2020-го, но сперва небольшая вводная часть.
При разработке свободных и открытых операционных систем нередко функциональность приносится в жертву лицензионной чистоте. К примеру, Проект Debian разрабатывает по-настоящему свободный дистрибутив GNU/Linux (что бы Фонд СПО не говорил). Нередко случается так, что программное обеспечение, исходный код которого распространяется под той или иной свободной лицензией, содержит несвободные компоненты. В таких случаях перед попаданием в Debian все несвободные компоненты выкидываются из этого ПО. Ядро Linux, которое аж с 1996-го «привязано» к бинарным блобам, здесь не исключение, но ценой его освобождения является сокращение количества поддерживаемого оборудования.
Во FreeBSD есть похожая тенденция, когда компоненты операционной системы проходят отбор на соответствие определенным условиям распространения, и функциональность в этом отборе, также как и в Debian, имеет не самый высокий приоритет. Для того чтобы стать частью FreeBSD, компоненты должны распространяться на условиях любой свободной лицензии, за исключением GPL. Предпочтение отдается BSD и другим пермиссивным (разрешительным) лицензиям. Но так было не всегда. Было время, когда компоненты, распространяющиеся на условиях GPL, мирно сосуществовали со всеми остальными в базовой системе FreeBSD, но с приходом GPLv3 в 2007-м все изменилось – разработчики FreeBSD стали одержимы поиском и созданием замен для различных частей операционной системы, распространявшихся на условиях GPL. Так, на протяжении следующих десяти лет они работали в этом направлении. (О том, откуда нелюбовь к GPL берет свое начало, я рассказал в отдельной статье, а также в ролике, который вы найдете в конце этой заметки.) В отчете за 4-й квартал 2020-го разработчики похвастались, что у них это, наконец, получилось. Но позднее, из отчета за 4-й квартал 2021-го, стало ясно, что, выкинув из базовой системы отладчик GNU GDB, разработчики теперь по нему скучают, т.к. заменивший его LLDB не достаточно функционален для полноценной отладки ядра операционной системы. Действительно, одно дело заменить GNU Grep на альтернативу, распространяющуюся на условиях BSD, а другое дело найти полнофункциональные аналоги для фундамента разработки самой операционной системы – GCC и GDB. Но разработчики не сдаются – теперь их значительные усилия направлены на доведения LLDB до паритета в функциональности с GDB.
Многолетняя борьба разработчиков FreeBSD подходит к успешному завершению (об этом я надеюсь узнать уже из отчета за 1-й квартал 2022-го). Я, в свою очередь, продолжаю изучать квартальные отчеты некоммерческих организаций, занимающихся разработкой свободного и открытого ПО, вдохновляться упорством, с которым люди идут к поставленным целям, и делиться своими наблюдениями.
OpenVPN Client FreeBSD
Сколько не искал, не нашел мануалов по настройке именно клиента OpenVPN, т.е чтоб подсунуть profile.ovpn. Везде только настройка сервера OVPN. Может есть какой скрипт, где нужно только подсунуть *.ovpn А еще лучше если это будет инструкция для docker или jails.
Информация по OpenBSD
Всем доброго дня! Недавно в предприятии освободился сервер и я восхотел установить туда OpenBSD. Сам я на FreeBSD сидел очень много лет, поэтому как проблем как таковых встретить не ожидал. Но встретил. Это неактуальность информации и отсутствие толковых книг (даже на английском, я понял, только одна и ту не достать). А цель-то простая и распространённая - поднять обычный веб-сервер (ну, не совсем обычный, я на нём планирую анализировать массивы данных).




