Microsoft 💘 Open Source - Journey to open source
An overview of Microsoft's journey to open-source.
At //BUILD/, Donovan Brown, Sarah Novotny & Stormy Peters had a great session on how Microsoft invests in open source, how Azure makes it easy to run the products you love, and the projects it is contributing to making our lives easier. John Gossman wrote a nice summary blog post about this area as well.
Coincidentally, I’ve had more and more discussions with colleagues, customers, and people in the community about open source, vendor lock-ins, multi-cloud, and the crucial role of containerization and Kubernetes in this space.
One of my favorite examples is how Microsoft is investing in the cloud-native space and is standardizing on Kubernetes to bring Azure to their customers wherever they are with Azure Arc, with App Services being the last major addition to the offering.
It feels like a great time to look back at open source, Microsoft, and how Azure customers benefit from Microsoft in the open-source space.
In this blog post series, we will discuss different aspects:
- Microsoft’s journey to open source (this post)
- Azure makes it easy to run open-source products (link)
- Microsoft makes it easier to build scalable platforms (link)
- Giving back to open source (link)
Microsoft’s journey to open source
Microsoft’s journey to open source is something that can be a book on its own but I’d like to highlight a few pieces that I’ve found interesting.
To start with, in 2005 Microsoft has released F# under an Apache 2.0 license which is still a very kind community today and somewhat of an unsung hero in the Microsoft ecosystem.
Later in 2008, Microsoft started collaborating with other companies, such as Google, Facebook, and others to form the Open Web Foundation and decided to join the Apache Software Foundation.
In 2009, Microsoft started contributing to the Linux kernel and in 2012 it started offering Linux as VMs on Microsoft Azure. This is a big deal since Microsoft was not a fan of Linux in its early days, and that’s an understatement.
But wait, there is more! Codeplex, which was Microsoft’s open-source platform at that time, started supporting Git as a version control system and started contributing back upstream to it and collaborating with GitHub on LibGit2.
Lastly, it decided to open source ASP.NET, MVC, Razor, and Web API under Apache 2.0 license along with TypeScript, the first Microsoft project on GitHub.
2014 is the year that Satya Nadella was appointed as CEO and acts as a turning point for Microsoft & open source. It started to have more presence on GitHub, open-sourced .NET Core (news) and donated it to the .NET Foundation.
VS Code was announced in 2015 and has become one of the standard tools in our industry for development. In that year, Microsoft co-funded the Node.JS foundation and joined the R foundation.
In 2016 the company joined both the Linux & Eclipse foundations, decided to open-source PowerShell and released SQL Server for Linux.
It made one of its first major acquisitions related to open source which was Xamarin that makes cross-platform app development easier and relicensed Mono under MIT. With this acquisition, Miguel de Icaza & Nat Friedman both start working for Microsoft who is playing a crucial role in the future of Microsoft.
In parallel, Brendan Burns joined Microsoft to work on Kubernetes & Azure which will later start as Azure Container Service (ACS) to eventually grow to Azure Kubernetes Service that we know today, the hosted Kubernetes offering in Azure that has been one of the fastest-growing services in Azure to date.
With Brendan joining Microsoft it is the start of Microsoft’s cloud-native and container strategy for Azure, only to make another big acquisition in 2017 - Deis (news).
By acquiring Deis, they also have brilliant people joining the company such as Gabe Monroy, Lachlan Evenson, Michelle Noorali, Karen Chu, and Matt Butcher who are well-known members of the cloud-native ecosystem and still play a crucial role in this space today.
Microsoft also joined the Open Source Initiative (OSI), Cloud Native Computing Foundation (CNCF), and Maria DB foundation in that year.
Up until now, Microsoft joined various big foundations, contributed back to open source projects, and open-sourced some of its technologies. Until 2017, Microsoft was still running CodePlex but they decided to shut down the service (news) because GitHub is the de facto platform for collaborating on open source.
Microsoft decided to acquire GitHub in 2018 (press), but not everyone was happy about this due to Microsoft’s early days in open source and its history with Linux. Nat Friedman is appointed CEO and Microsoft promises to be a good steward of open source, and personally I think they are living up to that promise.
In 2019, Linux surpasses Windows in terms of usage on Azure and Microsoft/GitHub acquires NPM, thé Javascript package manager in 2020.
Over the whole journey, Microsoft has open-sourced so many of its technologies and contributes to so many projects that it’s hard to keep track of it. If you want, you can find a full list of projects on opensource.microsoft.com.
If you want to have a full timeline of Microsoft’s journey, then I highly recommend exploring Hayden’s timeline of Microsoft’s journey in open source or watch Richard Campbell walk you through the history of .NET.
In a next blog post, we'll discuss how Microsoft makes it easier to run open-source on Microsoft Azure.
Thanks for reading,
Tom.
Photo by Matt Howard on Unsplash