Leaving Spectre.Console after years of contribution

Saying goodbye to a team you liked is the hardest thing.

That’s how I felt removing my profile from the slack channel we’d used on the open source project I’d contributed to for years.

First as a contributor, then as a maintainer, many hundreds of enjoyable hours had been spent triaging bugs, reviewing enhancements, coding features and writing tests. User documentation too.

My most vivid memory was sat outside at the tennis club on Wednesday evenings, learning about cross platform command line parsing and GNU/posix ‘compliance’.

It was good. Really good. For many years. My time and effort was paid back in full by what we achieved, not a penny exchanged. We even held two virtual ‘Christmas parties’. That’s the power of open source for you.

But sadly, over time more and more maintainers left. More accurately ‘went dark’. Which is completely fine, even expected, given we were all volunteers. Held together by a loose social contract.

A lack of maintainers meant my own PR’s sat languishing for many months on end, PR’s I felt were critical to the subsystem I maintained. It’s a dotnet foundation project used in many production applications.

High quality community contributions were few and far between, and those that had promise couldn’t be easily ‘re-authored’ for fear of sending the wrong message to the community. I did it once and found out the hard way. So their PR’s sat languishing too.

My attempts to invigorate contributors and maintainership fell flat, my attempts to create an active community extensions eco-system too. I was quite vocal about the need for fresh talent and new blood to be injected.

Sadly, none of this happened. The lead maintainer seemed content to merge micro-patches but didn’t have the time, or inclination, for bigger reviews. I felt the massive codebase had largely become a one person side project.

Above all else, I wanted to avoid a massive flamewar or ‘arguing on the Internet’ experience, like has happened so many times before.

So I finally left. Left Slack. Muted all GitHub notifications from that repo.

I didn’t even say goodbye. I’d said everything I’d wanted to, and avoiding a disagreement right at the end was preferable.

So long Spectre.Console, may you thrive and be in good hands. We shared some good times together.