I initially sent some of this feedback directly to some directors; however, they suggested that I post this publicly rather than discussing offline with them, so I'll restate here with a bit more background....apologies in advance for the long post.
Why Listen to Me
For those that do not know me, I've been a former candidate for the .NET Foundation board, am a project leader of a .NET Foundation project, work with other projects, and serve on other boards outside of the .NET ecosystem. So I not only have direct experience within this organization and some of the factors leading up to the prior days, but I've also seen similar situations arise in different communities, some even more grumpy than this one!
The Frustration (Build-Up)
As a project leader, I've been continually frustrated by the .NET Foundation and seen others struggling with the same concepts that I've been fighting. Over the past few years, a number of unanswered or partially answered questions have arizen:
- What does the .NET Foundation offer to my project?
- How can my project help the .NET Foundation
- How can I stay involved with the .NET Foundation
- How can I help other projects not have to suffer through what I've had to do to get help?
- Why is this so complicated to get answers to simple questions?
- Where do I go for information?
- Why aren't delays/changes communicated?
It is many of these frustrations that lead me to run for the .NET Foundation Board. I know about many of the things that we can get as benefits from the .NET Foundation by being persistent, and knowing who to bug, and being relentless in nagging. Seeing Claire resign today was a true letdown as, honestly, she is one of the people that helped me answer questions and keep my project moving forward in what were some of the darkest times I've seen in the Open Source world.
Having worked in other boards that serve communities of driven individuals, I have seen how missing/incomplete communication and other actions can drive doubt. Driving doubt causes questions, and questions eventually will erupt into chaos if they go unanswered. Over the past few months, especially since the chaos of the elections; missed dates, no communication on the missed dates, and those of us trying to get on the ballot having to resort to Twitter nagging as we had no other way to get in contact with a human that would respond. I knew it was only a matter of time before something caused the hammer to drop and an eruption of emotion.
Chaos, Silence, and Disorder
The actions of the last few days show just how much things can erupt when things finally snap. Sadly, Claire, who has done amazing things for almost all of us here, was caught in the crossfire—brought in by an action that wasn't related to any of the other things that have been discussed as of late.
I get it, I almost tossed in the towel after my 15th contact trying to find out about elections, but then I remembered the good. Looking at the discussions of today, Claire's resignation is absolutely a loss, but we have started to shine a light on the things that many have known for YEARS. We are at a critical turning point, I believe that the .NET Foundation Board has a tremendous opportunity, but another misstep could easily throw it all way. To this point, I'd like to suggest a number of things that can be done easily and I've love to see more, and more importantly I'LL HELP but I have to know how to do so.
Possible Action Items
Communication Strategy
There is no real communicated strategy for how project leaders get information that is critical for each other. We have 8+ GitHub repositories with discussions. We have a Project Leader Slack channel, a newsletter, and other communication channels; however, we don't have any single source of information for where/how we get information as project leaders. Additionally, there has not been any consistency in how things are communicated to project leaders. I believe this needs to be seriously overhauled with the following considerations at a minimum and some suggestions; all would need further discussion.
- Documentation, Consolidation, Removal of Channels. - If GitHub is the place, close the other channels, don't let them grow if they are not supported and using the .NET Foundation name. For those that remain, either centralizing them or provide an easy way to discover EXACTLY where to get the information.
- Communicate Changes with Notice - If you need .NET Foundation member projects to adjust things, or if you are going to adjust things, set a communication policy that will provide __ notice, including justifications, etc.
- Make Commitments and Stick with Them, Or Provide an Update If You Cannot - We are volunteers, we all have life demands; if you want to hear stories of life throwing wrenches, give me a call sometime I'll fill you in on my last 18 months. But as a Foundation, if a date is missed, communication needs to happen. The elections being delayed a long time with zero communication until after major dates were well missed adds to an environment of question and this has to stop. Stuff happens, dates get missed but own up to it.
Project Benefits
This is an area that I think is grossly misunderstood. There is a page on the main website that blows out a number of "benefits"; however that information isn't complete, nor does it provide any guidance on how people get access to these benefits. I know myself and others have had to resort to other methods, including paying for things out of our own pockets just because we couldn't figure out HOW to leverage the benefits of the .NET Foundation.
This needs refinement, delegation, and process, but the key here is to make sure that project leaders know what we CAN get from the foundation and HOW we can get it. Maybe this needs to be a "members only" wiki or otherwise, but make it know what the "and more" or other elements of the marketing copy is.
Contributing
How to contribute to the .NET Foundation is still a very magical thing. Just this evening, I went digging again to see what is necessary, and my head hurts. This process needs to be centralized as well, and consistent processes. Some groups require the creation of a Pull Request, others just an email; people will only go so far as to contribute.
In Closing
I'm here, others are here, but we cannot force change at the top level; we need assistance. So I'm posting this plea publicly so all can see. I WANT TO SEE THE .NET FOUNDATION PROSPER; HOW CAN I HELP? Who's with me.