Author: Ben Adams, .NET Foundation Board Member

The Project Support action group is responsible for brainstorming and helping to implement the various ways (and services) that the .NET Foundation offers to member projects. The goal is to ensure that member projects are sustainable and well supported.


The .NET Foundation's current Project Support so far has been focused on providing services and automation for projects; to help project maintainers and contributors to be able to focus more on their projects and less on the infrastructure.

The .NET Foundation board has been looking at how we can go further and offer projects a greater degree of support. As part of this we saw some key areas the .NET Foundation could provide guidance and assistance as part of this initative.

The areas we identified fit together as four threads, which are interwoven and interdependent:

  • Sustainability
  • Continuity
  • Security
  • Adoption

We created a first draft proposal as part of this initiative as the Project Maturity Model and announced it at the .NET Conf 2019 because we were excited to share and we wanted to reach the widest possible audience.

I, Ben Adams, was elected on a mandate of

I’d like the .NET ecosystem to thrive with projects people consider and take dependencies on to be much wider than the narrow “Microsoft-blessed” scope that people and companies generally consider.

I consider this Project Support Initiative as part of that mission. This initiative was directed by the .NET Foundation board and not by Microsoft (though Microsoft employees did participate in drafting the initiative). However, this does not excuse it being presented as a solution, without broader community consultation and I (and the Board) take responsibility for that. So for that I must apologise, and I'm slowing this process down to get back to basics and to move forward on more solid ground.

The whole .NET Foundation board is listening, participating in, and taking to heart the excellent feedback from the community. We apologise this was rushed before we had fully engaged with project leaders and members. More problematically we shared a solution to a problem without discussion with members about what the problem was or how the solution could address it.

We accept this meant we may have been addressing the wrong problem; or risking not finding the correct solution. We had hoped this proposal would spark discussion; but now realise presenting "what" without the context of "why" to demonstrate "how" seemed more like a fait accompli then a starting point for evolution of the proposal.

This was the opposite of what we were trying to do and the .NET Foundation Board will be more transparent and inclusive in the approach it takes in future.

The most important thing to us is the projects, and we want them to succeed. We want to enable them, not constrain them.

We consulted with some projects to understand if we were were taking the right approach; and we consulted with Microsoft and other companies to see if our solution would enable adoption of projects by them; and allow them to be acceptable under stricter corporate governance policies. Unfortunately; once we had established this was possible, we didn't then open this discussion up to all projects, to find out if it was acceptable to them, or if there was a better way. This was wrong.

However, the .NET Foundation is not just its projects, it is also its members. Again once we had established that cutting through strict corporate governance was in principle possible, we should have opened the discussion to wider debate with the members; and come to a concensus with them what the best approach was.

To this end, we will not be carrying forward with the current proposal. We will instead be opening discussions on the best way forward with this initiative in the .NET Foundation Project Support Action Group with members, please do sign up to the Action Group if you want to take part; the more people that get involved the better this can be.

When we have a consensus with members on how we will move forward; we will open up the discussion more widely on the public .NET Foundation forums, before firming up plans. Please note anyone can sign up to become a member and join the Project Support Action Group; if you would like to participate at the early stages.

Taking a holistic step back, and addressing some concerns that arose in the discussions:

  1. The .NET Foundation is a independent non-profit foundation created to support .NET Open Source Software.
  2. The .NET Foundation Board has 7 members; 6 of whom were elected by .NET Foundation members and only has 1 member who works at Microsoft.
  3. The .NET Foundation Board are unpaid volunteers who are representing and have the best interests of the wider .NET ecosystem at heart and not working to the agenda of any particular company.
  4. As the board are not full time employees; we may request assistance from .NET Foundation members who can also volunteer their time to pursue initiatives. This may include Microsoft employees along with the general membership if they are also .NET Foundation members. In these cases they will be assisting as independent Foundation members and not as employees or representatives of Microsoft.
  5. If Microsoft employees take part in .NET Foundation activities this does not mean there is a conspiracy; it is because they love .NET and want it to succeed.
  6. The .NET ecosystem is bigger than Microsoft; one of our goals is for the community and companies to recognise this.
  7. The .NET Foundation is not seeking to undermine projects existing business practices; but to enable them to reach a wider audience.
  8. The .NET Core code base is copyright the .NET Foundation not Microsoft; it is innoculated against a "Java-style" event.
  9. While the code base is owned by the .NET Foundation; like any .NET Foundation project, the leadership of .NET Core does remain with the maintainers who in this case are Microsoft.
  10. As an independent foundation the .NET Foundation is a neutral party whose goal is the support of open source projects.
  11. As the home of many .NET projects the .NET Foundation is in a unique position to gather and share best practices and provide assisance to projects who wish to adopt them.
  12. The .NET Foundation would like to help projects target new clients and drive down the barriers that prevent their adoption.

Please keep giving feedback, we are listening. We will do better and the .NET Foundation itself will evolve and mature as part of this process.


If you are a .NET Foundation member you can sign up to join this and other action groups at the .NET Foundation Teams on GitHub. If you are not a .NET Foundation member and would like to join; apply for membership at the .NET Foundation Members page.

Today, I'm excited to welcome NEO as the very first blockchain platform to join our community.  NEO is a pioneer in adopting the .NET platform, and we support them in building an innovative decentralized platform and developer community. NEO is joining the .NET Foundation at an exciting time of growth for the .NET Foundation, as well, and we're very happy to have them on-board!

The NEO team has a great writeup their platform and the community they've built for .NET developers here.

Welcome!

Today, we’re thrilled to announce that AWS is joining the .NET Foundation Corporate Sponsor Program.

AWS joins a growing list of industry leaders in the .NET open source ecosystem who support the .NET Foundation as members, including Microsoft, Google, Red Hat, JetBrains, Unity, Samsung, Pivotal, Insight, and Telerik.

AWS has been an active contributor to the .NET ecosystem for years, and by joining the .NET Foundation they can become more deeply involved. They are also showing their support for the .NET open source community, as their financial contribution goes to support open source projects, worldwide Meetups, our member-run action groups, and new initiatives. The .NET Foundation will also benefit from their expertise as they help shape plans for future growth.

For more information, please see the announcement from the AWS team here.

For more information about the .NET Foundation’s Corporate Sponsor Program, see this post.

Jon Galloway
Executive Director, .NET Foundation

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:

.NET Foundation Project Maturity Model

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:

See the .NET Team's post on joining the .NET Foundation Maturity Model.

Thanks to those projects for their help and for trying out this concept!

.NET Foundation Project Maturity Ladder

The maturity ladder is open for projects that want to register to participate.

While the pilot is running, it's important to get broad community feedback on the master. The working group will be seeking feedback from maintainers, contributors, and users. In terms of users, the working group will seek feedback from individuals, companies, public organizations, and governments.

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.