Microsoft uses many tools and services in supporting its open source program. Here are just a few that you may find useful in your own company or open source community.
Microsoft has over 70 GitHub organizations dedicated to open source activities. Collectively, these are part of an enterprise account at GitHub.
Some of the features the enterprise product brings to us include:
While Microsoft uses many different continuous integration systems, and open source projects adopt whatever common toolset an open source community prefers, many projects are powered by GitHub Actions and Azure Pipelines.
At Microsoft, a internal extension for Azure DevOps called Component Governance was created to help provide automatic inventory of all the open source components used.
Many different bots and applications are used as part of Microsoft's open source program. Bots help teams to scale and provide a great experience for communities.
Some of the common building blocks for GitHub Bots used at Microsoft include:
When interfacing with third-party services such as GitHub, it is important to be able to identify employees at the same company working together on open source.
While GitHub allows organization members to publicize their organization membership on their individual profile, there is more to know. GitHub user management solutions will offer the following capabilities:
Microsoft's self-service GitHub management portal is implemented in TypeScript and is a Node.js service. The portal is open source at https://github.com/microsoft/opensource-portal.
ClearlyDefined provides license, source location, and attribution information on over 10 million open source components. We rely on this data for our compliance systems.
This open source project provides compliance data about open source components from across the package ecosystems. It uses multiple open source scanners and summarizes their results into a high-quality "definition" of the component upon which we base our business policy decisions internally. It also:
ClearlyDefined is an open source project of the Open Source Initiative (OSI) and its open source code is at https://github.com/clearlydefined.
The Microsoft's Contributor License Agreement is a Contributor License Agreement solution that integrates nicely with GitHub to make sure that all contributors to a project have agreed to common terms by enabling contributors to sign CLAs from within a pull request.
Microsoft has developed and adopted several different approaches to retrieving GitHub data about activity within our organizations: we use the GitHub REST API v3 and GraphQL to regularly make data about our GitHub repos, traffic data, issues and pull requests all available inside our big data systems.
By making data available in Azure Data Explorer, powered by Kusto, it's really quick for Microsoft engineers to be able to query data without having to build specialized GitHub API integrations.
Microsoft's 1ES team is in the process of open sourcing this technology.
Our business and legal review process - kicked off when a particular open source use, contribution, or release, scenario requires - integrates into the engineering system that includes Azure Boards. This helps meet engineers where they are, providing an easy way to review requirements, manage approvals and workflow, and eventually completing any necessary reviews.
This system is built by using the Work Item Tracking extensibility features and the Azure DevOps REST API.