Working in the open

Teams at Microsoft are encouraged to work in the open and are provided with straightforward guidance on when and how to release code to the world.

This is a summary of how we approach releasing open source at Microsoft.

Approval process

All open sourcing of Microsoft source code and content (e.g., text, images, fonts, data) must be registered with your business and legal team using the workflow outlined in the release documentation.

In other cases, you may need to work with your management and legal teams to review the business case, success plan, and IP management strategy around your proposal.

Location

All Microsoft open source code should be released on GitHub in one of Microsoft's GitHub orgs. The vast majority of projects will go in the official company org.

Where we are participating in existing community that does not work on GitHub, your code should go in the natural location for that community.

If you do not plan on releasing your code to the public, an InnerSource location provided by the One Engineering System team is a better option for private engineering work: for example, using Azure Repos.

Licensing

Microsoft open source code should be released under the MIT license absent a compelling reason to do otherwise.

Contributions

All contributions to a Microsoft-managed open source project must use the Microsoft Contributor License Agreement (CLA). The CLA must be agreed to by all contributors who are not Microsoft Full-time Employees (FTE) or interns prior to the contribution being merged into the project codebase.

The CLA requirement is waived in certain smaller contribution cases.

Release checklist

The following steps should be taken to release and maintain your open source project: