На этот раз я хотел бы написать о Linux, а именно о том, почему рабочий стол Linux (в отличие от сервера) отстает по популярности и удобству использования [1]. Хотя удобство использования может быть очень субъективным в зависимости от того, насколько технически подкован пользователь, я бы сказал, что рабочий стол Linux менее удобен, чем другие более популярные ОС, такие как Windows и MacOS, с чем также соглашается большинство пользователей Linux.

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

Стандартная общественная лицензия GNU (GPL) предназначена для предотвращения коммерциализации программного обеспечения. Для тех, кто не знает, GPL требует, чтобы любой, кто расширяет или использует код в распространяемом программном обеспечении, также должен сделать исходный код доступным бесплатно с той же лицензией GPL. Например, если вы добавляете функции в программное обеспечение GPL, вы также должны выпустить отредактированный исходный код, что фактически означает, что вы не сможете взимать плату с пользователя за использование вашего программного обеспечения. Это означает, что невозможно монетизировать ваше программное обеспечение напрямую, продавая его, потому что у пользователя в любом случае есть исходный код бесплатно [2]. Для этого вам понадобится такая модель, как Android, которая монетизируется через Play Store и рекламу.

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

Нельзя отрицать, что есть замечательные инженеры-программисты, которые приложили много усилий для создания среды рабочего стола Linux. Но есть и гораздо более рутинная работа. Если программист должен выбрать что-то для работы бесплатно, он или она выберет что-то интересное и сложное. Настройка цвета и размера кнопки, отображение сообщений об ошибках в нужной области с правильным шрифтом может быть забавным в первый раз, но уж точно не после сотни раз. И это именно то, что осталось незавершенным на рабочем столе Linux. У наемного программиста больше стимулов делать это из-за ответственности или необходимости сохранить работу.

Но поскольку Linux — отличный и популярный выбор для серверов, вы можете задаться вопросом, почему такая большая разница между сервером Linux и настольным компьютером Linux? Есть примерно 3 причины, по которым я могу наблюдать:

  • Серверному программному обеспечению не требуется графический интерфейс, и гораздо проще и требует значительно меньше усилий для создания удобного интерфейса командной строки, чем графический интерфейс. Сервер и интерфейс командной строки идеально подходят друг другу, главным образом потому, что намного проще воспроизводить операции в интерфейсе командной строки, чем в графическом интерфейсе, со сценариями или без них. Он использует гораздо меньше ресурсов и к нему легче получить удаленный доступ.
  • Сервер делает одно и то же снова и снова. У них похожие шаблоны — веб-сервер, подключенный к базе данных, FTP-сервер, который обслуживает файлы, сервер, которому время от времени нужно обрабатывать задания cron. Большинство из них просто не эволюционируют. Даже если иногда для настройки сервера требуется устранить неполадки, обычно вам придется сделать это один раз или, по крайней мере, вы узнаете, как с этим справиться в следующий раз.
  • Линукс бесплатен. Будучи подростком-хакером, вы всегда предпочтете Linux вместо Windows Server или любого другого стека IBM, который у них есть или был, не потому, что Linux технологически превосходит, а просто потому, что он бесплатный! 20 лет назад, когда веб-серверы в основном работали с CGI и Perl-скриптами, можно было легко найти бесплатные серверы с установленным Linux. Windows и IBM изначально были более популярным выбором для серверов в корпоративном мире. Но по мере того, как эти подростки-хакеры вырастали и становились техническими руководителями, директорами или техническими директорами в этих компаниях или в своих собственных стартапах, большинство из них выбрали Linux по привычке (и множество хакеров Linux). Подросток тоже выбрал бы бесплатный рабочий стол Linux, но постоянное устранение неполадок действительно отталкивает людей, поэтому они предпочли бы получить взломанную копию Windows всего за несколько долларов.

Это действительно увлекательно, когда я понял, как лицензия GPL работает для Linux Server, но против Linux Desktop.

К счастью, в последние годы все меняется. Поскольку компании нашли способы монетизировать Linux на основе существующей надежной модели монетизации, появляются стимулы для улучшения своих дистрибутивов Linux. Android стал самой популярной платформой для мобильных пользователей. ChromeOS стала самой популярной ОС для недорогих ноутбуков и, вероятно, станет более популярной в более дорогих ноутбуках или даже настольных компьютерах в ближайшие несколько лет [3]. Steam Deck объединяет Steam вместе с Linux и определенным набором аппаратных средств, что позволяет Valve охватить больше геймеров и продавать больше игр. Довольно иронично видеть, как группа людей из сообщества Linux критикует эти крупные корпорации за то, как они вторгаются в частную жизнь пользователей и «продают» их данные, хотя некоторые из них верны, в конце концов, именно эти крупные корпорации сделал Linux широко принятым нетехническими пользователями.

[1] Недавно я играл с Fedora и пытался обновить систему через графический интерфейс. Кнопка обновления программного обеспечения не отключается и никак не изменяется после нажатия, хотя казалось, что что-то происходит на заднем плане. Однако через некоторое время это не удалось, и появилось сообщение об ошибке, но инструкции о том, как решить проблему, не было. Позже я смог выполнить обновление через терминал, но в целом, на мой взгляд, посредственный опыт.

[2] Некоторые компании, такие как System76, нанимают программистов для создания своих версий дистрибутивов Linux. Но поскольку каждый в любом случае может получить бесплатную копию, я бы рассматривал их как рекламу компании, а не как продукт для продажи с целью получения прибыли.

[3] Кто-то может возразить, что Android и ChromeOS не являются дистрибутивами Linux, но большинство согласится с тем, что они являются дистрибутивами в более широком смысле.