UPDATE: We've had a lot of community feedback on this proposal, and as a result we're rethinking Project Maturity as a Community Process.
Today, we're announcing a new concept for .NET open-source projects and a pilot program to develop it in the open. The goal is to increase the confidence of users adopting open-source projects and to create new projects to fill gaps in our ecosystem. We've reviewed this with some key projects, which have joined the pilot to help validate how it should evolve into programs that the .NET Foundation makes broadly available for the community.
At our community elected board's first meeting, the board identified some areas they wanted to improve, implemented through Action Groups. The Technical Review Action Group, led by Jon Skeet and Ben Adams, identified some opportunities to improve the quality of key .NET projects through some additional structure and guidance. Working separately, members of Microsoft's .NET team (led by Rich Lander) identified some ways to increase open source software quality and practices for large organizations, which would also allow them to more effectively engage with community run .NET open source projects. Together, we've written up what we believe to be a pretty good first draft, and we were happy that our pilot project leaders agreed.
We are proposing three new programs:
- A new 4-level project maturity ladder that defines project quality and encourages graduating from one level to the next.
- A training and support program for contributors and maintainers.
- A new project forge that creates new projects for the ecosystem.
These programs are similar to and inspired by programs run by other software foundations, such as Cloud Native Computing Foundation (CNCF) and Apache Foundation. Those foundations have a great track record of producing high value projects for the public good, and establishing project characteristics and infrastructure that provide confidence to users.
The following projects have helped the working group shape the pilot and have agreed to join it as part of this public rollout:
- The .NET Team (including github.com/dotnet)
Thanks to those projects for their help and for trying out this concept!
The maturity ladder is open for projects that want to register to participate.
There are many way to provide feedback:
- File an issue in the project repository.
- Reach out to the working group by e-mail.
- Request a conversation or call.