2025 note: this project does not entirely build today and is a partial reference implementation for example purposes only
This application represents the home for open source engineering experiences at Microsoft. As a backend application it manages source of truth for many types of corporate open source metadata, historical intent of repos and projects, hosts a rich front-end, and also a set of APIs used by partner teams.
While we prefer native GitHub experiences, when it comes to displaying certain info and being more transparent about permissions and metadata, especially on GitHub, which has no extensible user interface, we end up using and driving people to this Open Source Management Portal to get the information they need.
At Microsoft, 70,000 engineers are using a version of this portal as part of their open source engineering experience. However, Microsoft does have a set of "company-specific" extensions, including a separate React frontend client, that are not currently part of this repository. And... yup, if we were to start over today, we'd probably make this a Next.js-or-similar project.
Core capabilities and features of this application:
- Linking GitHub accounts βοΈ for enterprise use
- Self-service GitHub organization joining π for engineers
- Creating and managing GitHub open source repositories π©βπ»
- Displaying transparent information, metrics, and company-specific data about our GitHub open source presence around permissions, access, metadata, intent, and especially cross-organization views and search indexes
- People inventory π¨βπ¦³π§βππ§π½ to help people connect GitHub public logins with corporate identities
- Intercepting forks and new repositories π to inject compliance and approval processes
- Disable and enable π experiences for GitHub repositories
- Sudo β‘οΈ capabilities for repos, teams, organizations to remove persistent broad ownership and admin permissions
- Hosting APIs π½οΈ to create repos, large-scale orgs to access link data, and reports
- Background jobs π·ββοΈ to maintain eventual consistency, run tasks, gather metrics, and prepare OKRs
- Team join requests/approvals with context πͺ building beyond the GitHub experience
- Automated offboarding πΆ when people take on new opportunities
The management portal is designed to be fast, efficient, and get out of the way of engineers to get their important work done, with an emphasis on relentless automation and delegation.
Most of the experience is eventually consistent; however, operational actions such as joining teams, orgs, sudo operations, etc., are fully consistent at the time they are requested.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.