Несколько дней назад Эрик Реймондс (Eric S. Raymond, кратко ESR) — известный американский программист и хакер, автор трилогии «Собор и Базар», «Заселяя ноосферу» и «Волшебный котёл», описывающей экологию и этологию разработки программного обеспечения, сооснователь Open Source Initiative — написал в своём блоге, что мы приближаемся к последней фазе десктопных войн. И победителем в этих войнах будет Windows… которая запускается поверх Linux. То есть наподобие Windows Subsystem for Linux (WSL).

Для тех, кто не в курсе, WSL позволяет немодифицированным двоичным файлам Linux работать под управлением Windows 10. Никакой эмуляции, никакого промежуточного слоя, они просто загружаются и исполняются.

Разработчики из Microsoft теперь вносят изменения в ядро Linux, чтобы улучшить режим WSL. И это очень любопытно само по себе. Чтобы понять причины работы Microsoft над ядром Linux, нужно посмотреть, как изменились источники доходов Microsoft с момента запуска её облачного сервиса в 2010 году.

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


Прогноз по объёму компьютерного рынка в 2020?2022 гг, источник: Gartner

Если смотреть чисто рационально и хладнокровно с точки зрения максимизации прибыли, то продолжение разработки Windows — это не самый удачное будущее для Microsoft. Компания предпочла бы отказаться от такого варианта развития событий. Вместо этого лучше вложить больше денег в Azure. А на этом облачном сервисе, по слухам, в наше время работает больше инстансов Linux, чем Windows, и доля Linux непрерывно растёт.

Наконец, пишет Реймондс, наш третий ингредиент — Proton. Это слой эмуляции, который позволяет играм под Windows из Steam работать поверх Linux. Он работает пока не идеально, но очень хорошо. Некоторые пользователи Linux используют его и не жалуются.

«Дело в том, что игры — это самый сложный из возможных стресс-тестов для эмуляции Windows, гораздо более сложный, чем программное обеспечение для бизнеса, — пишет ESR. — Возможно, мы уже подошли к тому моменту, когда протоноподобная технология подходит для запуска бизнес-программ Windows поверх Linux. Если нет, то скоро этот момент наступит».

С точки зрения Microsoft разработка слоя WSL и одновременно внесение изменений в ядро Linux — это часть стратегии по сближению ядра Windows с ядром Linux. Зачем это нужно?

Представьте, что вы Microsoft. Подумайте, какую выбрать стратегию для развития бизнеса на ближайшие десятилетия. Каков путь к максимизации прибыли, учитывая упадок Windows и рост Azure?

Вариант такой: Windows становится протоноподобным слоем эмуляции над ядром Linux, причём с течением времени слой становится всё тоньше, поскольку поддержка постепенно переносится в исходный код ядра. Экономический смысл в том, что Microsoft сокращает затраты на разработку, поскольку всё меньше и меньше приходится делать внутри компании.

Если вы думаете, что это фантазия, подумайте ещё раз. Лучшим доказательством того, что план принят и воплощается в жизнь, является то, что Microsoft уже портировала Edge для работы под Linux. Реймондс считает, что объяснить это можно только тем, что это пробный запуск для освобождения остальных программ Windows от любого уровня эмуляции.

Итак, в конечном итоге Windows в основном перейдёт в ядро Linux, над которым останется слой эмуляции старой Windows, но Edge и остальные утилиты Windows не используют этот слой. Уровень эмуляции существует для игр и других устаревших сторонних программ.

С экономической точки зрения Microsoft выгодно полностью отказаться от этого уровня эмуляции, чтобы не нести дополнительные затраты. В конце концов, Microsoft объявляет срок окончания поддержки эмуляции Windows. Сама операционная система и её инструменты уже некоторое время работают полностью под Linux с тщательно сохранённым старым пользовательским интерфейсом Windows. Что происходит дальше? Сторонние поставщики программного обеспечения прекращают выпускать бинарники под Windows в пользу двоичных ELF с чистым Linux API… и Linux наконец побеждает в десктопных войнах. Не вытесняя Windows, а вбирая её в себя.