Microsoft давно использует ПО с открытым исходным кодом, например, код BSD, составлявший первооснову сетевого стека TCP/IP, но она в этом просто не признается. То было во времена Билла Гейтса. Нынешняя история другая. Недавно глава Microsoft Сатья Наделла поведал, что Microsoft любит Linux, а буквально на днях Microsoft приобрела Revolution Analytics, крупного игрока с сфере Open Source, работающего с языком R для статистического анализа.
Что происходит? Позвольте мне начать с того, что не происходит. Должен сказать, шансы, что Microsoft откроет исходный код Windows или Microsoft Office абсолютно нулевые. В мире настольного ПО Microsoft в обозримом будущем останется такой же проприетарной, какой была всегда.
Однако Microsoft продолжает свою трансформацию из компании, продающей ПО, в сервисный бизнес по аренде ПО с предоставлением Windows as a Service. С этой целью (примеры: Office 365 и другие сервисные предложения компании, вроде сервиса больших данных Cosmos) Microsoft использует облако, которое обеспечивает функционирование ее сервисов, и именно тут кроется тот факт, что Microsoft осваивает ПО с открытым исходным кодом.
Вообще говоря, это не новость. Microsoft уже годами движется навстречу рабочего использования Linux и Open Source. Почти десятилетие назад Microsoft скооперировалась с Novell (ныне SUSE) для поставки Windows Server и SUSE Linux Enterprise Server. В то время это была скорее мера по интеграции Windows- и Linux-серверов, но она стала тем полем, на котором Microsoft сделала первые шаги по использованию Linux в различных облачных программах и в том, что впоследствии превратилось в Azure.
Вы мне не верите? Взгляните на то, что Microsoft делает со свободным ПО и облаком. Tа ранняя кооперация с SUSE сделала возможной свободную работу Linux под Azure. Сегодня 20% экземпляров ОС, запускаемых в Azure, составляет Linux. Да, Azure не поддерживает главную бизнес-версию Linux — Red Hat Enterprise Linux (RHEL), но зато поддерживает CoreOS Linux, CentOS, Oracle Linux, SUSE и Ubuntu.
При этом Microsoft вовсе не держит все свои облачные яйца в проприетарной корзине облака Azure. Microsoft работает с Canonical, родительской компанией Ubuntu Linux, над внедрением Windows Server в OpenStack.
Обратите внимание, вместо того, чтобы изобретать собственную технологию контейнеров, Microsoft поддерживает две программы Open Source. Первая — Google Kubernetes, а вторая — чрезвычайно популярная технология контейнеров Docker.
В то же самое время Microsoft и отдает в Open Source столько, сколько берет. Orleans, .NET-модель распределенного облачного программирования, лежащая в основе игры Halo, переводится в Open Source. Microsoft также открывает исходный код полного серверного стека .NET Core и переносит его в Linux и Mac OS X. Microsoft уже открыла исходный код средства для переноса виртуальных машин из одного дата-центра Azure в другой, плюс другой код .NET и его инструментов и многих средств для разработчиков.
Общая сторона всех этих фактов состоит в том, что хотя они имеют мало отношения к публичному лицу предложений Microsoft, обращенному к конечным пользователям, они играют жизненно важную роль для все более значимой серверной и облачной инфраструктуры Microsoft. Отсюда вывод: хотя большинство людей этого не замечает, но Microsoft — именно Microsoft — становится компанией Open Source.