Let's be real: Writing open source software is volunteering
Repost from my personal blog.
EDIT: I spent four hours refactoring the unit test project in POP Forums, which frankly I'm annoyed by. 731 tests. That said, NSubstitute has some quirks, but it's a cleaner syntax than Moq, especially for callbacks.
I've spent a fair amount of time volunteering for things and raising money for causes that I care about. It's hard to nail down exactly why I do this, but I suppose like anyone, I see things that I feel should happen for the better of humanity and I want to help. In leading those kinds of efforts, I'm always taken aback, shocked even, to find people who expect something in return for what they're doing.
Sure, there are often perks for this sort of thing. We enjoy a quasi-private room to have drinks in before shows at our performing arts center, because we're donors. I would imagine though, that most well-adjusted human beings would contribute even without this perk. I don't think it's a stretch to believe that. The vast majority of things that I've contributed to or volunteered for resulted in little more than a "thank you," and that's fine. I do not seek recognition, I seek results in the cause that I'm contributing to.
There is all kinds of drama regarding a popular open source software library that I've used for years, called Moq. Nerds will appreciate that it's a library used for mocking dependencies in unit testing. This won't mean much to most, but the short version of the story is that it is very, very widely used. Mostly via automated build processes, it is downloaded hundreds of millions of times per year. The guy who maintains it decided to slip in what is essentially spyware for the purpose of making money, which as you can imagine sets off alarm bells everywhere and companies using it suddenly scrambling to replace it or revert to an earlier version. Then, the maintainer asks for feedback, and mostly unapologetically, insists he's just trying to make a buck for the thing he spends a lot of time on.
I am not at all one of those hippie types who thinks that software should all be free. I do think that it's OK to charge for software, and that people deserve to make a living making it. I live very comfortably for doing exactly that, even if it is via corporations. And if there are ways to make a buck with open source software, that's OK too. I mean, Red Hat is a publicly traded company supporting an entire open source operating system. But what this guy did with Moq violates trust and breaks the entire open source community, because of his project's relevance. And instead of admitting that he made a pretty terrible mistake, he doubles down and insists he needs to get paid.
That's shady. Maintaining an open source project is basically volunteering, though you may not even get a thank you for your work. That's the nature of the beast. Some folks do get to a place where it's just too much work or pressure or whatever, and in those cases, they usually shore it up to a final, stable place, or they hand it off to someone else who wants to carry the torch. That's perfectly reasonable. I've had a handful of contributions, and a number of heart felt thank you's over the years for my projects, and while appreciated, I mostly do it for myself.