Эволюция

Отношения между Microsoft и сообществом открытого исходного кода имеют сложную историю, которая развивалась с течением времени. Исторически Microsoft была известна своим проприетарным программным обеспечением и враждебностью к движению за открытый исходный код. В последние годы Microsoft претерпела значительный сдвиг в сторону открытого исходного кода, рассматривая его как важнейший компонент своей общей стратегии. В первые дни движения за открытый исходный код Microsoft часто рассматривалась как прямой конкурент операционной системы Linux и программного обеспечения с открытым исходным кодом в целом. Операционная система Microsoft Windows доминировала на рынке настольных компьютеров, в то время как Linux и другое программное обеспечение с открытым исходным кодом набирали популярность на рынке серверов. Microsoft рассматривала открытый исходный код как угрозу своей бизнес-модели и часто использовала враждебную риторику по отношению к движению.

В начале 2000-х Microsoft увидела в растущей популярности программного обеспечения с открытым исходным кодом угрозу своему господству в индустрии программного обеспечения. Это было продемонстрировано просочившимися в 1998 году «Хэллоуинскими документами», в которых излагалась стратегия борьбы с распространением Linux и других программ с открытым исходным кодом, изображая их как угрозу правам интеллектуальной собственности и угрозу безопасности пользователей. Генеральный директор Microsoft Стив Балмер еще больше усилил враждебное отношение компании к открытым исходным кодам в 2001 году, когда он назвал Linux «раком», который «прикрепляется в смысле интеллектуальной собственности ко всему, к чему прикасается». Другой случай произошел в 2009 году, когда Microsoft подала иск против TomTom за якобы нарушение нескольких ее патентов при использовании Linux. Многие расценили этот шаг как попытку Microsoft подорвать легитимность программного обеспечения с открытым исходным кодом.

Со временем позиция Microsoft в отношении открытого исходного кода стала смягчаться. В середине 2000-х Microsoft начала выпускать часть своего программного обеспечения под лицензиями с открытым исходным кодом, такими как Microsoft Public License (MS-PL) и Microsoft Reciprocal License (MS-RL). Эти лицензии позволяли разработчикам использовать и модифицировать программное обеспечение Microsoft, сохраняя при этом некоторую степень контроля над своей интеллектуальной собственностью. Отношения между Microsoft и сообществом открытого исходного кода значительно развились. Хотя Microsoft когда-то считалась прямым конкурентом движения за открытый исходный код, с тех пор она стала крупным участником и сторонником программного обеспечения с открытым исходным кодом. Этот сдвиг был вызван изменением динамики рынка и признанием того, что открытый исходный код является важнейшим компонентом современного ландшафта разработки программного обеспечения.

В 2014 году Microsoft сделала важное заявление об открытии исходного кода .NET Framework, одной из своих флагманских платформ разработки. Этот шаг был значительным, потому что он сигнализировал о серьезном сдвиге в мышлении Microsoft в сторону открытого исходного кода. С тех пор Microsoft продолжает открывать исходный код многих своих ключевых продуктов и технологий, включая Visual Studio Code, PowerShell и подсистему Windows для Linux (WSL).

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

Существует две версии WSL: WSL1 и WSL2. WSL1 использует уровень трансляции для обеспечения совместимости с Linux, а WSL2 использует облегченную виртуальную машину для запуска полного ядра Linux. WSL2 предлагает повышенную производительность и совместимость с приложениями и рабочими процессами Linux, а также поддерживает контейнеры Docker и другие функции, которые были недоступны в WSL1. WSL призван упростить работу разработчиков и системных администраторов, использующих сочетание инструментов Windows и Linux и рабочие процессы. С помощью WSL разработчики могут использовать знакомые инструменты и рабочие процессы Linux на своих компьютерах с Windows без необходимости в отдельной виртуальной машине или установке с двойной загрузкой. Это может сэкономить время и уменьшить трения, которые часто возникают при кроссплатформенной разработке.

В WSL можно делать множество вещей:-

  • Запуск утилит и инструментов командной строки Linux. Одним из основных преимуществ WSL является то, что он позволяет вам использовать утилиты и инструменты командной строки Linux непосредственно на вашем компьютере с Windows. Это может быть полезно, если вы предпочитаете инструменты Linux для определенных задач или если вы работаете с серверами или приложениями на базе Linux.
  • Установка и запуск приложений Linux. С помощью WSL2 вы можете запускать приложения Linux на своем компьютере с Windows. Это может быть полезно, если у вас есть приложения, доступные только в Linux, или если вы предпочитаете версию приложения для Linux версии приложения для Windows.
  • Разработка и тестирование программного обеспечения. WSL может быть полезным инструментом для разработчиков программного обеспечения, которые работают с набором инструментов и рабочих процессов Windows и Linux. С помощью WSL вы можете разрабатывать и тестировать программное обеспечение в среде Linux на своем компьютере с Windows без необходимости использования отдельной виртуальной машины или установки с двойной загрузкой.
  • Запуск веб-серверов и баз данных. Вы можете использовать WSL для настройки и запуска веб-серверов и баз данных на вашем компьютере с Windows. Это может быть полезно, если вам нужно протестировать веб-сайты или приложения локально, прежде чем развертывать их в производственной среде.
  • Используйте контейнеры Docker. WSL2 включает поддержку контейнеров Docker, что может быть полезно для разработчиков, использующих рабочие процессы на основе контейнеров. С помощью WSL и Docker вы можете настраивать и запускать контейнеры на своем компьютере с Windows без необходимости использования отдельной виртуальной машины или установки с двойной загрузкой.

Первоначальный WSL использовал уровень совместимости для преобразования системных вызовов Linux в системные вызовы Windows, что могло вызвать проблемы с производительностью и совместимостью для некоторых приложений. WSL2 решает эти проблемы, запуская ядро ​​Linux на облегченной виртуальной машине, что обеспечивает лучшую производительность и совместимость с приложениями Linux. WSL2 построен на базе облегченной виртуальной машины, на которой работает полное ядро ​​Linux, что обеспечивает высокую степень совместимости с приложениями и рабочими процессами Linux. С помощью WSL2 приложения Linux могут запускаться в Windows, а разработчики могут использовать знакомые инструменты и рабочие процессы Linux, не выходя из среды Windows. Основная цель Microsoft при разработке WSL2 (подсистема Windows для Linux 2) заключалась в том, чтобы предоставить собственную среду Linux в Windows без необходимости в отдельной виртуальной машине или настройке двойной загрузки. Microsoft признала, что многие разработчики и пользователи предпочитают инструменты и рабочие процессы Linux для своей работы, но все же вынуждены использовать Windows для других приложений или из соображений совместимости. Предоставив возможность запускать приложения Linux изначально в Windows, Microsoft надеялась повысить производительность и простоту использования своей платформы для этих пользователей.

Заключение

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

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