Microsoft open source lead: what we've learned (so far)

Stormy Peters has a track record of working for and with some of the most prominent open computing groups and organizations around the globe. Joining Microsoft as director of the company’s open source programs office in summer of 2019, she now explains and clarifies Redmond’s approach to openness from the inside.

Abstract binary data overlays an eye containing a reflection of the Microsoft logo.
Thinkstock

Microsoft has had a stormy relationship with open source. From a point back in 2001 when it initially described Linux as a cancer that posed a direct revenue and platform threat to Microsoft, particularly in the server space… onwards to 2015 and today, when Microsoft loves Linux, in no small part because it now recognizes the value of heterogeneous cloud workloads built running both Windows and Linux.

Much has been written about Microsoft's change of colors in this space and while some still bear a grudge and harbor a substantial degree of distrust, the company's wider moves in open source are arguably regarded as more genuinely community-interest based and positively purist at the developer/programmer level.

If nominative determinism were ever needed to further shake up innovation, Microsoft's director of open source programs office is Stormy Peters. Looking back at how the company has worked with open technologies over the last couple of decades, Peters used her address at a recent future technologies event to deliver her summation of the key lessons the firm has learned while working with open source.

Aiming to cement Microsoft's relationship with the open software development community while also attempting to clarify and validate Redmond HQ's wider stance in this space, she says that the company approaches open source in a way that helps encourage contributions, respects licenses and allows engineers to use open source securely, in the open, and with ease.

It's true that Microsoft has released open code publicly including its .NET Core and onward to PowerShell, parts of Windows like WPF and WinForms. The company has also built tools and languages in the open like Visual Studio Code and TypeScript. Microsoft now has over 10,000+ public code repositories and Peters reminds us that the company's Visual Studio Code was the most popular open source repository in GitHub in 2019 with 19.1k contributors -- and second most popular was Microsoft Azure Docs with 14k contributors.

Microsoft has had a stormy relationship with open source. From a point back in 2001 when it initially described Linux as a cancer that posed a direct revenue and platform threat to Microsoft, particularly in the server space… onwards to 2015 and today, when Microsoft loves Linux, in no small part because it now recognizes the value of heterogeneous cloud workloads built running both Windows and Linux.

Much has been written about Microsoft's change of colors in this space and while some still bear a grudge and harbor a substantial degree of distrust, the company's wider moves in open source are arguably regarded as more genuinely community-interest based and positively purist at the developer/programmer level.

If nominative determinism were ever needed to further shake up innovation, Microsoft's director of open source programs office is Stormy Peters. Looking back at how the company has worked with open technologies over the last couple of decades, Peters used her address at a recent future technologies event to deliver her summation of the key lessons the firm has learned while working with open source.

Aiming to cement Microsoft's relationship with the open software development community while also attempting to clarify and validate Redmond HQ's wider stance in this space, she says that the company approaches open source in a way that helps encourage contributions, respects licenses and allows engineers to use open source securely, in the open, and with ease.

It's true that Microsoft has released open code publicly including its .NET Core and onward to PowerShell, parts of Windows like WPF and WinForms. The company has also built tools and languages in the open like Visual Studio Code and TypeScript. Microsoft now has over 10,000+ public code repositories and Peters reminds us that the company's Visual Studio Code was the most popular open source repository in GitHub in 2019 with 19.1k contributors -- and second most popular was Microsoft Azure Docs with 14k contributors.

Peters herself has said that Microsoft's developer teams have realized that a key factor here is working with others to develop open source compliance tools and best practices for the enterprise.

Be cross-functional in your openness

"One of the keys to success is working across the organization. When talking to customers that are interested in creating open source program office (OSPO) units, one of the first questions they usually ask is where should that OSPO be? In legal? In engineering? In the CTO's office? The answer is that you'll need to work with all of them! Microsoft has a great cross-functional group with active participation from members of our legal department, marketing, the office of the Azure CTO, open source engineering, business units, engineering tools etc. No matter where the OSPO 'sits' in the organization, it's important that you bring in stakeholders from across different business functions," said Peters.

In terms of work at on the frontline, Peters explains that Microsoft has put in the effort to connect developers to real users. It's an important point to think about given that most companies interface with customers (users) through sales channels in the first instance. Developers on the other hand often just get a list of software application requirements as prescribed from a systems architect, so there is perhaps wider risk of a disconnect.

Offer autonomy, automatically

Peters insists on providing all stakeholders within the scope of any computing project with autonomy. She thinks that her (and any) company's role with an OSPO is to set clear policies, empower employees with knowledge and tools… and then make it easy for people do the right thing.

"On the tooling side, when developers at Microsoft download open source software (which they are allowed to do anytime) and put it into the build environment, our tools automatically detect it. We figure out the license (often using an open source project called ClearlyDefined), we ask a few questions about how the software will be used if we need to, we kick off any necessary legal and business reviews, we create a notice file and we provide a place to put source code if needed. All this tooling is to make it easy for developers to use and contribute to open source software," said Peters.

Interesting perhaps, Peters says that Microsoft has found it essential to reflect that autonomy on the business side. Consequently, each group within Microsoft decides how to incorporate open source software into their business strategy. Each business group on its own will figure how open source fits their strategy.

Another important milestone is documentation policy. Inside Microsoft, the firm works to help developers find and understand the company's open source software policy and ensure that it is documented in detail with examples on its intranet. The company also has a group of experts from across the organization that are always available to answer questions.

A good worker knows their tools

Open source is of course all about using real (often lower substrate) software tools. As a result, Peters and team insist upon investment in tooling. They use various tools to help make it easier for employees to use open source effectively and within the boundaries of compliance.

"We have tools that make it easy to set up a new code repository following the best practices we've cultivated. We have tools that make it easy to undo some of the common mistakes we've seen people make. We have tools to help discover which repositories we've started that no longer have admins—and those that might have as many as 50 admins [not a good thing]—so we've open sourced some of our tools and processes as projects [in their own right] or in conjunction with the Linux Foundation, OpenChain," said Peters.

At the end of the day, it's all about community

Peters brings the discussion back to what open source is really centrally all about i.e. other users, other developers, other application teams, other communities and other people. She says that if Microsoft's open source teams embody one thing, it's the fact that we should all be ready to learn from others.

As such, the open Microsoft of today participates in various open source industry groups and foundations such as the Open Source Initiative, the TODO Group, The Linux Foundation, The Eclipse Foundation, The Cloud Native Computing Foundation, the Open Source Security Foundation, etc. The company has also introduced a new Free & Open Source Software (FOSS) Fund, which is a way for employees to collectively select open source projects to receive sponsorship awards throughout the year.

"I'd also reinforce some of these comments by saying that we've learned even more about the need to provide rewards and motivation. Lasting culture change requires alignment with rewards and compensation. All employees are asked at every performance review at Microsoft to describe how they are empowering others and building on the work of others – this is very aligned with open source practices. Additionally, open source is now an officially recognized and documented core aspect of the developer skill set at Microsoft," concluded Peters.

Are Microsoft's efforts in the open space genuine? Attending the company's 'Build' developer conference in person, the impression is overwhelmingly that the company has changed its spots and understands the open mantra. Does Microsoft still want all roads to lead to its Azure Cloud Platform and charge you money for it? Come on now, surely you don't need to ask.