Microsoft, a tech company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through the 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

Microsoft open sourced some of its code, including the .NET Framework, and made investments in Linux development, server technology, and organizations, including the Linux Foundation and Open Source Initiative. Linux-based operating systems power the company's Azure cloud services. Microsoft acquired GitHub, the largest host for open source project infrastructure, in 2018. Microsoft is among the site's most active contributors. While this acquisition led a few projects to migrate away from GitHub, this proved a short-lived phenomenon as by 2019 there were over 10 million new users of GitHub.

Since 2017, Microsoft is one of the biggest open source contributors in the world, measured by the number of employees actively contributing to open source projects on GitHub, the largest host of source code in the world.

History

Initial stance on open source

The paradigm of freely sharing computer source code—a practice known as open source—traces back to the earliest commercial computers, whose user groups shared code to reduce duplicate work and costs. Following an antitrust suit that forced the unbundling of IBM's hardware and software, a proprietary software industry grew throughout the 1970s, in which companies sought to protect their software products. The technology company Microsoft was founded in this period and has long been an embodiment of the proprietary paradigm and its tension with open source practices, well before the terms "free software" or "open source" were coined. Within a year of founding Microsoft, Bill Gates wrote an open letter that positioned the hobbyist act of copying software as a form of theft.

Microsoft successfully expanded in personal computer and enterprise server markets through the 1990s, partially on the strength of the company's marketing strategies. By the late 1990s, Microsoft came to view the growing open source movement as a threat to their revenue and platform. Internal strategy memos from this period, known as the Halloween documents, describe the company's potential approaches to stopping open source momentum. One strategy was "embrace-extend-extinguish", in which Microsoft would adopt standard technology, add proprietary extensions, and upon establishing a customer base, would lock consumers into the proprietary extension to assert a monopoly of the space. The memos also acknowledged open source as a methodology capable of meeting or exceeding proprietary development methodology. Microsoft downplayed these memos as the opinions of an individual employee and not Microsoft's official position.

While many major companies worked with open source software in the 2000s, the decade was also marked by a "perennial war" between Microsoft and open source in which Microsoft continued to view open source as a scourge on its business and developed a reputation as the archenemy of the free and open source movement. Bill Gates and Microsoft CEO Steve Ballmer suggested free software developers and the Linux kernel were communist. Ballmer also likened Linux to a kind of cancer on intellectual property. Microsoft sued Lindows, a Linux operating system that could run Microsoft Windows applications, as a trademark violation. The court rejected the claim and after Microsoft purchased its trademark, the software changed its name to Linspire.

In 2002, Microsoft began experimenting with 'shared source', including the Shared Source Common Language Infrastructure, the core of .NET Framework.

Adoption 1990s In 1998, Microsoft published at least one public beta release of their Services for UNIX (SFU) based on the MKS toolkit, which in turn included some GNU utilities licensed under the GPL. Microsoft fulfilled the obligations imposed by the GPL and other Open Source Software (FLOSS) licenses by offering the source code of these software components and their licenses for download.

Services for UNIX (SFU) v1.0 was released in February 1999.

2000s In April 2004, Windows Installer XML (WiX) was the first Microsoft project to be released under an open-source license, the Common Public License. Initially hosted on SourceForge, it was also the first Microsoft project to be hosted externally.

In June 2004, for the first time Microsoft was represented with a booth at LinuxTag, a free software exposition, held annually in Germany.LinuxTag 2004 Ausstellerliste LinuxTag claims to be Europe's largest exhibition for open source software.

In August 2004, Microsoft made the complete source code of the Windows Template Library (WTL) available under the Common Public License and released it through SourceForge. Since version 9.1, the library is licensed under the Microsoft Public License.Download pages for WTL version 7.5, 8.0, 9.0, 9.1 and 10

In September 2004, Microsoft released its FlexWiki, making its source code available on SourceForge. The engine is open source, also licensed under the Common Public License. FlexWiki was the third Microsoft project to be distributed via SourceForge, after WiX and Windows Template Library.

In 2005, Microsoft released the F# programming language under the Apache License 2.0.

In 2006, Microsoft launched its CodePlex open source code hosting site, to provide hosting for open-source developers targeting Microsoft platforms. In the same year, Microsoft ported PHP to Windows under PHP License and also partnered with and commissioned Vertigo Software to create Family.Show, a free and open-source genealogy program, as a reference application for Microsoft's latest UI technology and software deployment mechanism at the time, Windows Presentation Foundation and ClickOnce.Tim Sneath : Announcing Family.Show 2.0 - July 17, 2007 MSDN BlogsTim Sneath : Announcing Family.Show v3 – Our WPF Reference Application - February 23, 2009, MSDN Blogs The source code has been published on CodePlex and is licensed under the Microsoft Public License.

In November 2006, Microsoft and Novell announced a broad partnership to make sure Windows interoperates with SUSE Linux. The initial agreement endured until 2012 and included promises not to sue over patents as well as joint development, marketing and support of Windows – Linux interoperability solutions. In addition, Microsoft and Novell agreed to work to ensure documents created in the free OpenOffice.org productivity suite can seamlessly work in Office 2007, and vice versa. Both companies also agreed to develop on translators to improve interoperability between Office Open XML and OpenDocument formats. The company also purchased 70,000 one-year SUSE Linux Enterprise Server maintenance and update subscription coupons from Novell. Microsoft could distribute the coupons to customers as a way to convince them to choose Novell's Linux rather than a competitor's Linux distribution.

Microsoft CEO Steve Ballmer acknowledged that more customers are running mixed systems and said about the partnership with Novell:

In June 2007, Tom Hanrahan, former Director of Engineering at the Linux Foundation, became Microsoft's Director of Linux Interoperability. The Open Source Initiative approved the Microsoft Public License (MS-PL) and Microsoft Reciprocal License (MS-RL) in 2007. Microsoft open sourced IronRuby, IronPython, and xUnit.net under MS-PL in 2007.

In 2008, Microsoft joined the Apache Software Foundation and co-founded the Open Web Foundation with Google, Facebook, Sun, IBM, Apache, and others. Also in 2008, Microsoft began distributing the open source jQuery JavaScript library together with the Visual Studio development environment for use within the ASP.NET AJAX and ASP.NET MVC frameworks.

When Microsoft released Hyper-V in 2008, SUSE Linux Enterprise Server became the first non-Windows operating system officially supported on Hyper-V. Microsoft and Novell signed an agreement to work on interoperability two years earlier.

Microsoft first began contributing to the Linux kernel in 2009. The CodePlex Foundation, an independent 501(c)(6) non-profit corporation founded by Microsoft and led mostly by Microsoft employees and affiliates, was founded in September 2009. Its goal was to "enable the exchange of code and understanding among software companies and open source communities." Later in September 2010, the name Outercurve Foundation was adopted.

In November 2009, Microsoft released the source code of the .NET Micro Framework to the development community as free and open-source software under the Apache License 2.0.

StyleCop, an originally proprietary static code analysis tool by Microsoft, was re-released as an open-source in April 2010 on CodePlex. Based on customer feedback, Microsoft relicensed IronRuby, IronPython, and the Dynamic Language Runtime (DLR) under Apache License 2.0 in July 2010.

Microsoft signed the Joomla contributor agreement and started upstreaming improvements in 2010.

2010s In 2011, Microsoft started contributing code to the Samba project. The same year, Microsoft also ported Node.js to Windows, upstreaming the code under Apache License 2.0. The first version of Python Tools for Visual Studio (PTVS) was released in March 2011. After acquiring Skype in 2011, Microsoft continued maintaining the Skype Linux client. In July 2011, Microsoft was the fifth largest contributor to the Linux 3.0 kernel at 4% of the total changes. The company became a partner with LinuxTag for their 2011 event and also sponsored LinuxTag 2012.

In 2012, Microsoft began hosting Linux virtual machines in the Azure cloud computing service and CodePlex introduced git support. The company also ported Apache Hadoop to Windows, upstreaming the code under MIT License. In March 2012, a completely rewritten version of ChronoZoom was made available as open sourceUC Berkeley ChronoZoom 2.0 Beta Press Release via the Outercurve Foundation. Also, ASP.NET, ASP.NET MVC, ASP.NET Razor, ASP.NET Web API, Reactive extensions, and IL2JS (an IL to JavaScript compiler) were released under Apache License 2.0. The TypeScript programming language was released under Apache License 2.0 in 2012. It was the first Microsoft project hosted on GitHub. In June 2012, Microsoft contributed Open Management Infrastructure to The Open Group with the goal "to remove all obstacles that stand in the way of implementing standards-based management so that every device in the world can be managed in a clear, consistent, coherent way and to nurture [and] spur a rich ecosystem of standards-based management products."

In 2013, Microsoft relicensed the xUnit.net unit testing tool for the .NET Framework under Apache License 2.0 and transferred it to the Outercurve Foundation. Also in 2013, Microsoft added Git support to Visual Studio and Team Foundation Server using libgit2, the most widely deployed version of Git. The company is dedicating engineering hours to help further develop libgit2 and working with GitHub and other community programmers who devote time to the software.