Основные проблемы Linux в 2012 году

15 августа 2012, 12:30
Это мнение об основных проблемах Linux в 2012 году опубликовано на сайте разработчика Артема Ташкинова, известного open source-активиста. Пользуется Linux он с 1999 года, а впервые систематизировать проблемы Linux начал в 2009 году. С тех пор Артем Ташкинов регулярно обновляет список, правда, на английском языке, – его основной целью является указать направление, в котором следует работать линуксоидам и прочим энтузиастам. Здесь мы приводим перевод самой свежей сокращенной версии с комментариями автора, но на сайте присутствует и более подробный текст, а также возможность обсудить все нюансы с самим Ташкиновым.

Предисловие

В этом документе будут затронуты лишь основные проблемы и недостатки Linux. При этом необходимо учитывать, что в определенных отношениях Linux значительно превосходит другие операционные системы (стоит упомянуть, в частности, отличное управление пакетами, как правило, безупречную стабильность, отсутствие широко распространенных вирусов и вредоносных программ, отсутствие необходимости полной переустановки системы. Кроме того, Linux бесплатен, как воздух). В этой работе я не ставлю своей целью сравнить Linux и Windows, хотя иногда я действительно сравниваю Linux с Windows либо с Mac OS. Эти операционные системы я зачастую использую в качестве ориентира (в конце концов, их продажи на порядок превосходят распространение Linux). Возможно, вам уже доводилось слышать, что Android – реинкарнация Linux – вот-вот захватит мир. Но от Linux в Android присутствует всего один компонент – ядро операционной системы. Итак, данный документ рассказывает не об Android, а о дистрибутивах Linux и свободном программном обеспечении, входящем в состав этих дистрибутивов.

Проблемы настольных дистрибутивов Linux и основные недостатки этих дистрибутивов

  • Программные проблемы: очень небольшое количество игр и фактически полное отсутствие качественных крупнобюджетных видеоигр класса ААА (Humble Indie Bundles и Oil Rush – два единичных примера, которые являются исключениями и их можно не учитывать). При этом для Windows ежегодно выпускаются тысячи игр. Ощущается недостаток программ, с которыми пользователь привык работать в Windows, в частности, нет полноценного аналога Microsoft Office (в LibreOffice по-прежнему регулярно возникают проблемы с открытием документов, которые были созданы в Microsoft Office). Отсутствует нативная общая файловая система Интернета (CIFS) – простой, защищенный паролем и поддерживающий шифрование механизм совместного использования файлов в сети. Также в Linux нет аналога или эквивалента службы активных директорий (Active Directory)
  • Аппаратные проблемы: в Linux по-прежнему плохо поддерживаются или вообще не поддерживаются многие устройства и аппаратные свойства. Определенное оборудование невозможно использовать, если у вас уже есть активное соединение с Интернетом (в частности, это касается WiFi-адаптеров Broadcom). Практически не существует специализированного ПО, предназначенного для управления такими устройствами, как принтеры, сканеры, цифровые фотоаппараты, веб-камеры, аудиоплейеры, смартфоны и т.д. Таким образом, Linux не обеспечивает вам полного контроля над вашим новым iPad и не позволяет обновить прошивку на Galaxy SIII. Поддержка графики в Linux представляет собой грандиозный хаос, поскольку ядро/API X.org/ABI (двоичные интерфейсы приложений) постоянно изменяются, а NVIDIA/ATI/Broadcom/т.д. «не желают» выделять дополнительные ресурсы и тратить корпоративные средства на то, чтобы идти в ногу с непрерывно изменяющимся свободным ПО.
  • Отсутствие стабильности, баги, регрессии, регрессии и еще раз регрессии. Для Linux характерно невероятное количество случаев регрессии (как в ядре, так и в пользовательских приложениях). Регрессия – это случай, в котором нормально работавшие компоненты необъяснимым образом ломаются. Иногда регрессии могут даже приводить к потере данных. В большинстве свободных проектов вообще не проводится контроля качества и регрессивного тестирования. На устранение серьезных ошибок, из-за которых рушится нормальная последовательность операций программы, могут уходить годы. Плохо поддерживаются целые классы критически важного оборудования (в частности, графические процессоры, карты WiFi).
  • Недостаточная стандартизация, крайне разношерстные несогласованные различия. Слишком многие дистрибутивы Linux обладают совершенно несовместимыми конфигурациями, системами пакетов и библиотеками. В различных дистрибутивах задействуются совершенно разные среды для ПК, графические и консольные приложения для конфигурирования настроек компьютера. Например, дистрибутивы, основанные на Debian, требуют использовать для технической поддержки системы утилиту «dpkg-reconfigure», которая работает лишь в текстовом режиме.
  • Обилие стремительных изменений. Для большинства дистрибутивов Linux характерны очень краткие циклы обновления и выпуска новых версий (в некоторых случаях этот цикл не превышает 6 месяцев – так, Arch вообще обновляется непрерывно, а не от версии к версии – такая система называется «rolling distro» – а Fedora обновляется каждые 6 месяцев). В результате на вас льется нескончаемый дождь изменений – не только неожиданных, но и нежелательных. Дистрибутивы с долговременной поддержкой (т.н. LTS), как правило, недостаточно стабильны для использования на ПК. Это объясняется политикой сохранения различных версий приложений. Вдобавок, как правило, отсутствует официально одобренный способ установки наиболее современных приложений.
  • Нестабильные интерфейсы API/ABI, неудовлетворительная фактическая совместимость. В новых дистрибутивах очень сложно использовать старые программы – как с открытым, так и с закрытым исходным кодом. Зачастую это оказывается вообще невозможно в силу того, что сравнительно новые изменения касаются даже основных компонентов Linux – ядра или glibc. Обратная совместимость практически отсутствует, поэтому создание для дистрибутивов Linux приложений с закрытым исходным кодом оказывается исключительно сложным и дорогостоящим процессом. Свободное ПО, на разработку и поддержку которого лень тратить время, просто забрасывается. Зачастую это происходит из-за того, что устаревают или становятся недоступны библиотеки, требуемые для удовлетворения необходимых зависимостей. Именно поэтому многие приложения для KDE/Qt3 недоступны в современных дистрибутивах Linux, даже притом, что альтернатив им до сих пор нет. Разработка драйверов, не относящихся к основному дереву ядра Linux, – мучительная, дорогостоящая и при этом довольно нудная работа.
  • Деньги, энтузиазм, мотивация: уже много лет назад я прогнозировал, что разработчики FOSS (свободного и открытого программного обеспечения) начнут уходить с этой платформы, как только такая разработка перестанет быть забавой. Как только работа начинает требовать существенных усилий и затрат времени – то есть когда игра в бирюльки заканчивается – разработчики начинают требовать реальной оплаты своего по-настоящему тяжелого труда. Разработка FOSS, при которой явно ощущается недостаток финансирования, быстро приводит к усталости и разочарованию. Платформа FOSS, в первую очередь, нуждается в финансово мотивированных разработчиках, так как плохо финансируемые проекты начинают угасать, а критические баги никто не исправляет по нескольку лет. Можно, конечно, сказать: «баба с возу – кобыле легче», но проблема заключается в том, что зачастую у таких гибнущих проектов нет альтернатив и даже проектов-наследников.
  • Многие наработки Linux несовершенны, непоследовательны и не соответствуют рекомендациям для разработки пользовательских интерфейсов. Это признают даже разработчики KDE.

Авторский комментарий

Читатели, которые недавно работают с Linux или используют лишь небольшое подмножество приложений, могут быстро раскритиковать весь список, возразив мне: «А вот меня совершенно устраивает поддержка аудио в Linux» или «У меня никогда не возникало проблем при работе с видео под Linux». Но я могу их заверить, что есть тысячи людей, испытывающих колоссальные проблемы такого рода – просто потому, что им приходится пользоваться иным набором программного или аппаратного обеспечения. Можете сами в этом удостовериться – сходите на форумы Ubuntu или Linux.com и посчитайте, сколько веток начинается словами вроде «Стоило мне удалить PulseAudio – и аудио сразу заработало» или «Я наконец-то обнаружил, что можно пользоваться nouveau-драйверами вместо бинарных драйверов NVIDIA (или наоборот) – и все проблемы решились сами собой». Критикам сложно понять еще один важный момент. Когда в Linux что-то не работает, пользователь не задумывается о том, чья это вина, а сразу считает, что проблема в самом Linux. Для среднестатистического пользователя Linux – это просто еще одна операционная система. Ему не легче от того, что какая-то компания, оказывается, решила не поддерживать Linux или не выпускать для Linux полнофункциональных драйверов. Он просто обнаружит, что программа не работает на оборудовании, приобретенном за свои кровные. Пользователю неинтересно, почему это Skype вырубается каждые пять минут – даже притом, что программа Skype откровенно ужасна, в ней тысячи глюков, и она с тем же успехом вырубается и в Windows, и в Mac OS X. Я также хочу развеять всеобщее заблуждение насчет того, что в Linux поддержка старого оборудования организована гораздо лучше, чем в Windows. Частично это утверждение справедливо, но лишь отчасти. Например, ни nouveau, ни патентованные драйверы NVIDIA для Linux не обеспечивают достаточно качественной поддержки старых графических процессоров NVIDIA. Nouveau-драйверы не обеспечивают ускорения при работе с OpenGL, NVIDIA-блоб не поддерживает многих критически важных функций Xrandr или функций, необходимых для надлежащего ускорения работы современных графических пользовательских интерфейсов Linux (это касается, например, Gnome 3 или KDE 4). Если же по какой-то таинственной причине ваше старое оборудование по-прежнему поддерживается, драйверы Linux все равно, как правило, предоставляют лишь малую толику возможностей по сравнению с драйверами Windows. Поэтому утверждать, что в Linux аппаратная поддержка организована лучше, поскольку вам не придется тратить лишние двадцать минут на установку нужных драйверов, – как минимум нечестно. Некоторые комментарии меня просто ошеломляют, например, второй комментарий по этой ссылке. ...Сударь, вы гоните. Я тут купил ноутбук, чтобы резаться в игры на Wine/dulaboot, а вы мне говорите, что я вообще не должен был его покупать? Будьте так добры не учить людей, которым – только представьте – действительно нравится играть в высококачественные игры! Утверждение, что файловая система SSHFSS – равноценная замена для системы совместного доступа к файлам, предлагаемой Windows – самая вопиющая вещь, которую мне доводилось слышать в жизни. Необходимо также отметить, что многие активные участники сообщества разработчиков свободного ПО – довольно склочные люди, которые к тому же отличаются крайним идеализмом. Они безапелляционно заявляют, что все программы на свете должны быть бесплатными и свободно распространяемыми. Еще нередко раздаются возгласы о том, что «этой программе не место в Linux». При таком подходе совершенно неудивительно, что многие компании вполне снисходительно и даже высокомерно относятся к настольным приложениям Linux. Сам Линус Торвальдс высказался об этом: «В мире свободного программного обеспечения есть экстремисты, но именно поэтому я уже давно не называю мой род деятельности «разработкой свободного ПО». Я не хочу, чтобы меня отождествляли с личностями, считающими такую «свободу» оправданием для остракизма и вражды». Но если у вас сложилось впечатление, что Linux – отстой, то вы заблуждаетесь. Если бы я составил аналогичный список проблем Windows, он получился бы не короче. Проблемы, присущие Windows, практически неистребимы, Microsoft проще создать новый модуль с нуля, чем исправить старый. А вот проблемы Linux действительно можно решить. Что по-настоящему радует в этой истории – в настоящее время ведется ряд проектов, которые призваны привести к общему знаменателю настольные приложения Linux, сделать систему по-настоящему современной и целостной. Такие вещи, как systemd, Wayland и унификация файловых систем, впервые были предложены и реализованы в Fedora и других дистрибутивах. Компания Valve Software в настоящее время занимается разработкой Steam (это будет система распространения цифровых игр и управления ими) и Source Engine для Linux. Поэтому не исключено, что и в Linux вскоре появятся игры, способные соперничать с играми для Windows. Если читатели заинтересуются, я могу опубликовать список мер, которые помогли бы улучшить Linux, сделать его более удобоваримым, полезным, интересным и привлекательным – как для разработчиков, так и для пользователей. Но, думаю, смекалистые читатели уже сами обо всем догадались. Источник
Обсуждение