Вспомним, кем были первые пользователи первых FOSS-систем. Это были, с одной стороны, разработчики их же самих, с другой – сетевые администраторы и Интернет-провайдеры. А для первых более свободная и динамичная модель разработки Linux’а, видимо, казалась более привлекательной, нежели более иерархическая и «камерная» модель FreeBSD. С другой стороны, обеспечиваемые последней стабильность и предсказуемость оказались более востребованными именно администраторами, для которых надёжность была важнее фронтирности.
А потом уже работал просто стереотип мышления: за FreeBSD закрепилась репутация серверной платформы, тогда как от Linux’а ждали «поворота лицом к конечному пользователю». И, надо сказать, стереотип этот работает и по сей день.
Однако я опять отклонился от генеральной линии. Успех первой версии FreeBSD был закреплён выходом версии следующей, получившей номер 2.05 и ликвидировавшей те самые «недотёсанные углы», о которых упоминал Хаббард.
Дальше время опять замедляет свой ход. Впереди были долгие годы плавной эволюции. Примерно два-три раза в год выпускается новая версия системы (2.1.x, затем – 2.2.x), она обрастает приложениями и утилитами (значительная часть которых происходит из проекта GNU и Фонда свободного программного обеспечения), совершенствуется ядро, улучшается (как это ни странно для, казалось бы, чисто американской по происхождению системы) интернациональная поддержка.
В ноябре 1996 г. происходит событие, определившее структуру развития FreeBSD на долгие годы (с некоторыми оговорками – до сего дня): ветка 2.x.x была выведена из активной разработки, получив имя STABLE. Отныне, вплоть до последнего релиза (2.2.8 в ноябре 1998 года), в ней лишь исправляются ошибки и вносятся мелкие безопасные изменения. А все долговременные и принципиально новые разработки концентрируются в версии 3.0-CURRENT. Каковая претворяется в STABLE в октябре 1998 г.
Начиная с ветки 3 (версия 3.4, судя по архивам), начинаются первые попытки портирования FreeBSD на архитектуры, отличные от i386. Первым претендентом на портирование стали машины с процессорами DEC Alpha, доживавшие тогда свои последние дни. Тем не менее, поддержка этой платформы осуществлялась долгое время, пока не была прекращена с выходом 7-й ветки.
С этого времени и вплоть до ответвления единовременно развивается две ветки FreeBSD – STABLE, предназначенная для широкого применения, и CURRENT, ориентированная главным образом на разработчиков и энтузиастов. Так, в январе 1999 г. обособляется ветка 4.0-CURRENT, обретшая статус стабильной в марте 2000 г.
Ветке 4.X суждено было стать самой «долгоиграющей» во всём дереве развития FreeBSD. Правда, на протяжении только 2000 года вышло ещё три её релиза – 4.1, 4.1.1 и 4.2, выступавшие в роли своего рода обкаточных для всех новшеств этой ветки. Которая в дальнейшем стабилизировалась, и последующие её версии, вплоть до последней, 4.11, вышедшей в январе 2005 года, содержали в основном исправления и косметические изменения. И кстати, версия 4.11 поддерживалась более двух лет после её выхода, а практически, насколько я знаю, используется чуть ли не по сей день.
FreeBSD: переломный год
Однако закулисно на протяжении трех лет шла незаметная, но большая работа по коренному изменению FreeBSD, завершившаяся появлением в январе 2003 года первой версии новой, 5-й ветки. В нарушение описанной выше закономерности, она очень долго (вплоть до версии 5.3), не получала статуса STABLE, а позиционировалась как «ново-технологический релиз». В сущности, стабильной она так и не стала, выступая скорее как прототип грядущей ветки 6.
Тем не менее, выход в свет 5-й ветки FreeBSD был, пожалуй, самым революционным событием со времен ее появления как самостоятельной операционной системы. Почему год её выхода я и назвал годом переломным – конечно, не столь драматичного, как события 1991-1993 годов, но тоже сопровождавшегося не только приобретениями, но и потерями.
Именно в 5-й ветке FreeBSD, начиная с самой первой пред-релизной версии, предназначенной для разработчиков (июнь 2002 года), был заложен тот потенциал, который обусловил её применимость в качестве современной настольной операционки для конечного пользователя. Это и последовательно модульный подход, позволяющий обходиться без пересборки ядра для поддержки важных для пользователя особенностей, и файловая система устройств, облегчающая работу с устройствами «горячего подключения» (такими, как USB-накопители, сканеры, цифровые камеры), и эффективная работа с ATA RAID (а в дальнейшем и с винчестерами Serial ATA), и многое другое.