Анализ ключевых проблем FreeBSD

После того, как стало известно, что компания Rambler начинает перевод своих почтовых серверов с FreeBSD на Linux, появилось множество обсуждений о том, что в FreeBSD имеется немало проблем. Особенно актуальной эта тема стала в свете планируемого перевода более 30 тысяч серверов поискового кластера Яндекса также с FreeBSD. Все темы обсуждений данной проблемы были объедены в статью, посвящённую вопросу проблем FreeBSD, путей их решений, а также анализу и опросу пользователей.

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

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

Принцип Парето позволяет прийти к выводу, что 80% пользователей, уходящих от использования FreeBSD, делают это из-за 20% проблем самой операционной системы. Поэтому очень важно сейчас сконцентрироваться на особо важных первостепенных задачах, которые могут оказаться и не такими уж ресурсоёмкими. Автор статьи приводит два вида проблем. Первый — социальные или иначе говоря психологические. Во-первых, это просто на просто наплевательское отношение сообщества к простым пользователям, не принадлежащем его ядру. Разработчики FreeBSD пишут ОС под себя — людей, которые будут её использовать, не обращая внимания на возникающие неудобства. Потребности простого пользователя обычно получают ответ «нам такое не нужно». Но надо понимать, что не все грамотные пользователи являются фанатами системы. Большинство, кто мог бы пользоваться FreeBSD в своих целях, уходят с неё из-за небольших технических недоработок, давно решённых в альтернативных ОС. А всё потому, что сами разработчики FreeBSD отказываются менять что-либо.

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

К тому же разработчики FreeBSD и не хотят большой популярности своей системе, объясняя это нежеланием иметь множество неграмотных пользователей. Они хотят чтобы их система оставалась элитарной, не задумываясь об ошибочности такого подхода.

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

Проблемы менеджера пакетов — это, в первую очередь слабая поддержка бинарников, а также жёсткие зависимости, по которым версия пакета включается в его имя. Это создаёт множество проблем при обновлении данного пакета. Монолитная база системы, в свою очередь, усложняет бинарное обновление,а проверка состава требует компиляции. Хотя приводятся и некоторые положительные моменты, например согласованность программного обеспечения в системе.

Можно сказать, что в любой ОС с открытым исходным кодом, величина и жёсткость её базовой составляющей обратно пропорционально влияют на количество пользователей системы. Проще говоря, чем монолитнее и больше эта база, тем меньше база юзеров. Эта базовая составляющая (тут можно привести аналогию с позвоночником у хордовых животных) напрямую влияет на представления о конечных пользователях: что можно, а что, в особенности нельзя. Таким образом, можно прийти к выводу, что в связи с неотъемлемостью и монолитностью базовой системы в составе FreeBSD, последняя всегда будет охватывать меньшую часть рынка ОС, чем, к примеру, Linux. Разработчики, жаждущие элитарности своей операционной системы могут спать спокойно. Подобное в общем-то ожидает и любой Linux-дистрибутив — ни один из них никогда не сможет охватить всю базу пользователей Linux.

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

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