После известия о начале перевода парка серверов Rambler-почты с FreeBSD на Linux развернулось множество обсуждений проблем FreeBSD, из которых стало известно, в том числе, и о планируемом переводе с FreeBSD поискового кластера Яндекс (более 30000 серверов). Конструктивное зерно этих обсуждений было сведено воедино и опубликовано в статье "Каковы проблемы FreeBSD и пути их решения? Анализ и опрос".

В предварительной части автор делает вывод (на основе инсайдерской информации), что миграция на другую ОС конкретно в случае Rambler-почты неоправдана, и вызвана организационными проблемами (например, увольнением нескольких компетентных сотрудников). Тем не менее, это не отменяет наличия у проекта FreeBSD серьезных проблем, ставящих ОС (и, соответственно, связанных с ней рабочих мест) под угрозу вымирания, если сообщество прямо сейчас не осознает необходимость серьезных изменений и не начнет воплощать их в жизнь.

Указывается, что наиболее важной непосредственной проблемой сейчас является сравнительно низкая популярность ОС, то есть малый размер её пользовательской базы. Это приводит как к отсутствию на рынке труда достаточного количества знающих FreeBSD администраторов, так и пользователей, которые помогают проекту - чем больше число всех пользователей, тем больше в абсолютном выражении фиксированный процент тех, кто помогает, несмотря на то, что остальные ничего не делают. При текущих тенденциях, если ничего не предпринять, включится положительная обратная связь, и это число начнет уменьшаться еще больше, приводя к полному вытеснению FreeBSD другими ОС.

Согласно принципу Парето, 80% оттока пользователей от FreeBSD вызваны 20% её проблем. Таким образом, необходимо сконцентрироваться в первую очередь на самых важных задачах, которые на деле оказываются не столь уж ресурсоемки. Автор выделяет здесь два набора проблем - социальные (психологические) и следующие из них технические. При этом в техническом плане фатального отставания у FreeBSD нет, но без решения социальных к техническим попросту никто не приступит.

Социальными проблемами сообщества FreeBSD является наплевательское отношение к потребностям простых пользователей, которые не принадлежат к ядру сообщества. Разработчики пишут систему "для себя", то есть тех, кто будет ею пользоваться, невзирая на неудобства. На потребности других часто выдвигается возражение "нам это не нужно". Между тем, грамотный пользователь не является фанатом. Многие, кто могли бы использовать FreeBSD, уходят из-за сравнительно небольших технических проблем, уже решенных в других системах, потому что сообщество FreeBSD отказывается что-то менять.

В качестве примера, когда подобная позиция уже привела к почти полному вымиранию, приводится история сети Фидо. Излишняя жесткость, упертость и консерватизм её старожилов привели к тому, что технические изменения не были приняты вовремя из-за противоречия традициям. Традиции, однако, уже в то время были не более чем традицией, а через несколько лет что-то менять в технической базе стало уже слишком поздно.

Кроме того, мешают развитию системы так же избыточное ЧСВ многих пользователей и разработчиков, считающих, что слишком большая популярность системе не нужна, потому что будет много неграмотных пользователей, система не будет "столь элитарна" (такое мнение ошибочно и вредно). Между тем, признание своих ошибок и нахождение сил для их реального исправления - более сложно и более почетно, чем провоцировать "священные войны" на форумах, принадлежащих не допускавшей этих ошибок более распространенной ОС.

Техническими проблемами FreeBSD, влияющими на отток пользователей более всего, называются проблемы пакетного менеджера (системы портов), слишком большой монолитной базовой системы, а также в несколько меньшей степени - меньший охват поддержки оборудования и плохая поддержка виртуализации в гостевом режиме (host-режим не является значимым). Здесь следует напомнить, что изнутри сообщества эти проблемы могут казаться незначимыми, но они важны для тех, кто приходит в систему снаружи.

Проблемы пакетного менеджера главным образом сводятся к недостаточной поддержке бинарных пакетов, жестким зависимостям, включающим версию в имя пакета (что зачастую для обновления одного пакета требует пересборки большинства портов в системе), отсутствию указания в зависимостях опций сборки пакета, и др. Проблемы монолитной базовой системы сводятся к сложности бинарного обновления и проверки состава (требуется компиляция).

Базовая система, однако, имеет и ряд указанных в статье преимуществ, в частности, согласованность ПО в системе, поддержание которой разделение на мелкие пакеты только усложнит, в виду отсутствия необходимых ресурсов разработчиков. Однако указывается, что подобное деление не имеет смысла само по себе, и решением может быть более логичный вариант, учитывающий границы административных доменов. Например, не имеет смысла делить на пакеты то, что производится самим freebsd.org, хотя около половины базовой системы находится в /usr/src/contrib и может быть выделено в пакеты.

Философское наблюдение. Для ОС с открытым кодом, можно сказать, что жесткость и величина некоей единой её базовой составляющей имеют обратное влияние на количество пользователей. То есть, чем больше и жестче/монолитнее базовая составляющая, тем меньше userbase. Для Linux такой неделимой базовой компонентой является только ядро, для FreeBSD - еще и базовая система. Влияние базовой составляющей, эдакого Стержня (здесь можно провести аналогию с позвоночными и всеми прочими), определяет некоторые представления о пользователе: что можно, и особенно - чего нельзя. То есть, поскольку базовая система является неотъемлемой частью FreeBSD, она всегда будет занимать меньшую долю рынка, чем Linux (элитисты могут спать спокойно); то же самое, впрочем, касается и любого Linux-дистрибутива - он никогда не сможет захватить все 100% пользователей Linux.

В статье указаны также некоторые другие проблемы и возможные пути их исправления - все желающие помочь приглашаются для обсуждения конструктивных предложений. Собранные русскоязычным сообществом пути решения через неделю планируется обсуждать с англоязычным сообществом в списке рассылки arch@freebsd.org.

В качестве еще одной из идей может быть названо создание системы для голосования, когда голоса простых пользователей принимались бы электронной почтой, с учетом "веса" голоса конкретного человека по его вкладу в проект, так, чтобы у активных участников списков рассылок и авторов патчей было больше голосов, чем у случайных посторонних людей.

Источник: http://www.opennet.ru/opennews/art.shtml?num=31422