Biography
Peter Ritchie has been in the software industry for over 3 decades. Peter has spent most of his professional career consulting with clients specializing in distributed applications and agile software development. Peter is a book author, open-source author, international speaker, blogger, and former Microsoft MVP in .NET Development Technologies.
Peter has spoken internationally on a variety of topics including unit test design and management, asynchronous programming, advanced .NET language features and syntax, concurrent and parallel programming, and distributed programming.
He is the author of Refactoring with Visual Studio 2010, Visual Studio 2010 Best Practices, and Practical Microsoft Visual Studio 2015.
Peter is a maintainer of a couple of open-source projects (LongPath, Messaging.Patterns, etc.) and a contributor to many, including Mapperly, Roslyn, AspNetCore.Docs, dotnet SDK, docs-aspire, and dotnet Docs.
He has also been an advisory board member of Microsoft Patterns and Practices: CQRS Journey guidance on command and query responsibility segregation and Enterprise Library.
Foundation Improvement
What do you think the Foundation can do better, and what are your specific plans for making those improvements?
The issue of open-source licensing is a sore point with the community. I aim to work with other board members to understand the .NET Foundation's activities in this area and increase transparency regarding the Foundation's future plans to address licensing.
Regarding licensing, I would like to work with other board members and the community to explore ways to help open-source maintainers be compensated for their work. Part of this effort involves a campaign to educate the community that open-source authors’ efforts to be compensated are not betraying the projects they work on or their community.
Taking open-source maintainers and contributors for granted should be a thing of the past; the .NET Foundation's leadership in this area promotes both the Foundation and the .NET platform.
Member Project Value
What specific, tangible support—beyond marketing—do you believe the Foundation should offer to make membership indispensable for a .NET open-source project?
There are a lot of little things that an open-source project needs in order to thrive and remain current. The .NET Foundation provides infrastructural benefits, such as a code signing service, secret management, and hosting resources. However, the Foundation could further expand its offerings to include secure scanning services like Veracode and SonarQube.
Commercial licenses and integration guidance would go a long way to ensuring .NET Foundation projects are as secure as possible. Additionally, open-source projects are generally maintained by a small group of people, often speaking the same language. Localization resources would enable the .NET Foundation's open-source projects to reach the widest possible audience and increase the influence of the .NET Foundation.
Although open-source projects joining the .NET Foundation are generally well underway, they often require additional contributors. The .NET Foundation could provide contributor onboarding kits that enable the project to bring on new contributors quickly. These onboarding kits would include details on working with some of the exceptional benefits unique to .NET Foundation projects, such as the code-signing service, security audits, and any additional services the .NET Foundation includes as benefits.
Burnout is a serious issue in our industry and in the open-source community. I want to work with the Foundation to provide resources to maintainers, helping them deal with and prevent burnout.
Community Onboarding
What is one concrete program you would champion to make it easier and more rewarding for new, individual developers to get involved with .NET Foundation projects?
I would work with the board and other Foundation members to better understand the specific challenges projects face in getting developers involved.
In general, it can be challenging for a project in need of developers to connect with the developers who have the skills to help. I want to work with the Foundation on ways to match the skills and interests of the community with projects that require specific skills.
Additionally, there is often interest in the community to help open-source projects, but the skills may not be there yet. I want to work with the Foundation on learning programs or mentorships to utilize members who wish to learn and contribute.
Funding Diversification
Describe one specific, actionable strategy you would champion to broaden the Foundation's appeal and secure new funding sources.
I want to work with the Foundation to better understand the funding—both monetary (dues and donations) and donated licenses/time. I would then work with the Foundation on a strategy to reduce expenses through the donation of resources.
Additionally, I would look into increasing contributions from organizations looking to sponsor specific projects.
Technical Direction
How should the Foundation balance its relationship with Microsoft while maintaining independence in setting technical priorities?
I would work with the Foundation to understand how the current relationship with Microsoft is cultivated, taking into account any existing expectations and nuances. I want to first work on any challenges in this area before greatly expanding it.
I believe the Foundation has a unique and focused mandate, but also benefits .NET and Microsoft. The Foundation should be independent enough to follow through with its own goals and objectives. I encourage the Foundation's technical direction to be bidirectional, with equal input from independent Foundation members and Microsoft employees.
A public technical roadmap of the Foundation would detail alignment with the .NET roadmap and how the technical needs of the Foundation members and projects are being addressed in the long term. The Foundation is a successful .NET ecosystem in its own right; the successes and failures of that ecosystem are an excellent source of guidance for .NET.
Additionally, I would champion this process to be transparent, outlining the needs and concerns of both the Foundation and Microsoft, current efforts to accommodate priorities, and any decisions made on the technical direction of the Foundation. I encourage promoting the bidirectional influence by announcing where each party helped influence the other.
Transparency & Decision-Making
When a controversial decision is necessary, what process would you champion to ensure community feedback is genuinely considered and the final decision is communicated transparently?
I believe that the past decisions weren't as transparent as they could be. The community should understand the decisions that the Foundation faces and how those decisions have aligned with the Foundation's goals.
Any organization has to make hard decisions, but it should be transparent and promote how members and the .NET community benefit from those decisions. As far as I can tell, the only way to find out what decisions the .NET Foundation has made is to either mine the Discord channel or search the web. The first option has a high noise-to-signal ratio, and the second option will bubble the controversial decisions to the top, potentially making all decisions appear controversial.
I think the Foundation should make a record of the decisions made. Additionally, the context around the decisions should be made available and promoted. When decisions are necessary, details of the need-to-decide should be published and promoted publicly so the public can proactively contribute feedback instead of after-the-fact backlash. As options become known, they should be added to the information about the need to decide.
I believe this will make the Foundation more transparent, enabling people to better understand the Foundation's goals and motives. If the community is unaware of the need to make a decision and only sees the outcome, they are more likely to disagree.