ЛОНДОН – Крейг Лоуэн, старший менеджер по продуктам Microsoft, отвечающий за подсистему Windows для Linux (WSL), и Клинт Руткас, главный менеджер по продукту, курирующий WSL, на саммите Canonical Ubuntu 25.10 впервые рассказали историю о том, как WSL наконец стала открытой. Это было долгое и странное путешествие.
Истоки WSL в проекте Астория
Видите ли, история WSL началась еще в 2010 году с проекта Astoria, также известного как Windows Bridge для Android. Этот мертворожденный проект был предназначен для того, чтобы дать людям возможность запускать приложения Android на Windows Phone через уровень трансляции в ядре Windows 10 Mobile. Поскольку у вас вряд ли будет в кармане работающий Windows Phone, вы знаете, чем это обернулось.
Первоначальный прототип преобразовал системные вызовы Linux в вызовы ядра Windows NT, заложив основу для запуска Bash и Ubuntu в 2016 году для Windows. Эта первоначальная попытка, которую помогла создать компания Canonical, заключалась в перекомпиляции утилит Cygwin с открытым исходным кодом для их естественной работы в Windows. Дастин Киркланд, в то время член команды Canonical по продуктам и стратегии Ubuntu, объяснил: «Мы говорим о побитовых двоичных файлах Ubuntu ELF с контрольной суммой, работающих непосредственно в Windows».
Первая итерация: уровень совместимости WSL 1.0
Тогда Киркланд сказал: «Команда опытных разработчиков Microsoft [had] усердно работал над адаптацией некоторых исследовательских технологий Microsoft для перевода системных вызовов Linux в системные вызовы ОС Windows в режиме реального времени. Поклонники Linux могут думать об этом как о своего рода противоположности WINE, [the open source program that enables people to run Windows programs on Linux] — Бинарные файлы Ubuntu изначально работают в Windows».
Это был предшественник WSL 1.0. Это был уровень совместимости, который позволял людям запускать дистрибутивы Linux, такие как Ubuntu, openSUSE и Fedora, путем перевода системных вызовов Linux в вызовы ядра Windows NT, используя механизм, называемый «пико-процессами». Он был выпущен в 2017 году как часть обновления Windows 10 Fall Creators Update.
Новый подход: рост WSL 2 и его популярность
Пользователям, которые в основном были разработчиками, он понравился, но все они сообщили, что WSL 1.0 работает медленно. Итак, Microsoft отступила, осмотрела ситуацию и попробовала новый способ запуска Linux и его приложений. Команда решила разработать собственное ядро Linux. Таким образом, WSL 2 использовал принципиально иной подход. Вместо эмуляции WSL 2 использует облегченную управляемую виртуальную машину (ВМ) для запуска ядра Microsoft Linux, которое обновляется через Центр обновления Windows.
Эта версия стала чрезвычайно популярной среди разработчиков, особенно после ее стабильного выпуска в мае 2020 года. Миллионы пользователей использовали ее для программирования, системного администрирования и рабочих процессов облачной инженерии. Его популярность возросла в период с 2021 по 2023 год: доля разработчиков, использующих WSL в качестве основной операционной системы, выросла почти в пять раз за один год, с 3% до более 14%, согласно опросу разработчиков Stack Overflow от 2022 года.
Внутренний призыв к WSL с открытым исходным кодом в Microsoft
Внутри Microsoft разработчики WSL начали продвигать WSL 2.0 с открытым исходным кодом. Как сказал Лоуэн, это имело смысл. В конце концов, «Linux имеет открытый исходный код, верно? И мы работаем над продуктом Linux, который перенесет Linux в операционную систему Windows. Мы хотим, чтобы он был интегрирован с тем, что представляет собой сообщество, и был там, где есть сообщество. Это имеет смысл, что мы здесь. И в этом заключается бизнес-ценность, охватывающая сообщество».
Лоуэн добавил: «Это не могло произойти раньше», потому что WSL изначально был настолько тесно связан с ядром Windows, что мы не могли открыть его исходный код. Даже если бы мы захотели, нам бы этого не позволили. А потом, со временем, мы начали это делать, потому что подумали: «Это должно быть с открытым исходным кодом!» Поэтому мы начали удалять все частные звонки, отделять все друг от друга, и это позволило нам достичь того, что мы имеем».
Преодоление проблем при отделении WSL от Windows
Это заняло много времени. Лоуэн сказал: «Годы были потрачены на разъединение частных API и рефакторинг давних зависимостей, что позволило Microsoft в конечном итоге опубликовать полный код, отвечающий за WSL».
Стремление к открытию WSL внутри Microsoft включало три основные стратегии: признание участия сообщества, демонстрация ценности для бизнеса и тщательная оценка как выгод, так и затрат. Внутри команда утверждала, что WSL с открытым исходным кодом соответствует более широкой стратегии Microsoft по поддержке пользователей инструментов разработчиков. Linux, будучи по своей природе открытым исходным кодом, требует подхода, ориентированного на сообщество, для обеспечения доверия пользователей и эффективного развития в среде Windows.
Временами это была тяжелая утомительная работа. Руткас признал, что «открытый исходный код выгоден, но требует времени и усилий. Вы должны убедить своих заинтересованных лиц».
Немедленный успех WSL с открытым исходным кодом
Однако однажды это имело ошеломляющий успех. Руткас сказал: «Как только мы открыли исходный код, он увеличился с 15 000 звезд до 30 000 с лишним звезд на GitHub. Так что это было хорошо — и это было за один день. Он резко вырос. Это было на Hacker News, где это был пост номер один в течение, я думаю, 24 часов, что неслыханно. Итак, мы знали, что сделали правильный шаг».
Этот переход подтвердил, что не все технологии должны быть запатентованными. Да, даже в Microsoft. Реальная ценность WSL, по словам этих двоих, заключается в повышении производительности разработчиков, а не в дифференциации «секретного соуса». Команда заявила, что это доказательство того, что открытый исходный код может повысить ценность миссии, которая перевешивает проблемы конкуренции. Приняв модель с открытым исходным кодом, Microsoft дала внешним разработчикам возможность открывать решения и улучшения со скоростью, с которой частные команды не могли сравниться.
План будущих проектов с открытым исходным кодом в Microsoft
Усилия команды WSL по открытому исходному коду теперь лежат в основе лучших практик Microsoft. Это послужило основой для других крупных проектов Microsoft, ориентированных на программистов, таких как Windows Terminal, PowerToys и новый редактор Microsoft CLI Edit. По словам пары, результат от приоритета открытого исходного кода оказался измеримым, положительным и стал основой для будущей трансформации открытого исходного кода в Microsoft.
Microsoft — лидер программного обеспечения с открытым исходным кодом? Кто бы мог подумать еще десять лет назад?
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Стивен Дж. Воан-Николс, он же sjvn, писал о технологиях и технологическом бизнесе с тех пор, как CP/M-80 была новейшей операционной системой для ПК, скорость 300 бит/с — высокоскоростное подключение к Интернету, WordStar — современный текстовый процессор, и он нам понравился. Узнайте больше от Стивена Дж. Воана-Николса.