I used to maintain several popular open-source projects and contribute to even more popular ones. It was always fun at the beginning, especially because I built them for my own needs. But I kept getting asked to fix bugs or improve things even long after my needs had expired. I tried the donation route for a little while but it didn't go anywhere - I received maybe a few hours worth of money (versus hundreds if not thousands of hours I had spent working on those projects). I also tried releasing a paid version for one of the projects and got buried with hate mails and, unfortunately, online abuse. That was when I stopped working on open-source and I'm happier than ever.
I'm very happy for people who make it from doing serious open-source work. I think they deserve it. But at the same time I feel bad for those who build or maintain no less serious or popular work and yet couldn't make enough to worth even a portion of the time they'd spend.
Sponsorship is not a panacea unfortunately as corporate use of a project is not proportional to the maintainership burden. Hopefully the industry can fix this one day.
If you could even get it! Think about all the millions of dollars dealing with the Log4J issues last December. How much has that prompted sponsorship of any logging libraries by the affected companies? Not much, from what I've seen.
I related pretty strongly to this. I've never tried to monetize, and the community I'm mostly working in (ROS) is populated almost exclusively with exactly the sort of kind, considerate people who will happily roll up their sleeves to take a crack at it themselves, given a little guidance.
Nonetheless, there are dozens of effectively abandonware ROS projects out there attached to my name— drivers for some sensor I shipped years ago and haven't touched since, interface libraries that aren't really relevant but don't have a clear alternative, stuff that was never out of the prototype phase and doesn't have anywhere close to the level of test coverage that would let me just merge much less release changes without extensive manual running of it.
I suppose I should go in and just mark them all as archived so that well-meaning people don't file issues (and even PRs) that will never be addressed or perhaps even acknowledged. And in some cases I've just granted PR authors write access and been like "there it's yours now." But none of these end states feel quite right; in all cases I end up feeling guilty and unsatisfied with how it turns out.
> And in some cases I've just granted PR authors write access and been like "there it's yours now." But none of these end states feel quite right; in all cases I end up feeling guilty and unsatisfied with how it turns out.
What feels wrong with this? Personally I'd much rather hand a project over to someone else than leave it completely archived.
It's the ideal outcome, I guess. But a number of projects end up just re-abandoned six months later after the person merged their own thing and pushed a release with it. I guess that's good for having moved it forward at all, but it certainly doesn't feel like a complete solution.
I wonder if such projects should be collaboratively maintained rather than attached to your name? Then anyone who is part of the ROS community and ends up needing them can take on fixing any issues they encounter. As long as the org holding them has a liberal enough membership policy, this should work well.
"It's hard to maintain a project as a single-maintainer. Nobody puts in more than a cursory effort to contribute."
"Yeah, but what if other people contributed?"
It's a huge chicken-or-egg problem.
At this point, unless you have a big name behind you (being a major corporation like Google or Facebook, or OSS celebrity like Torvalds), the chances of any particular project growing beyond single-maintainer are really slim.
I've seen several people, on my own projects and others, talk about not trusting single-maintainer projects to last as a reason to not get involved. It's infuriating, because it's a self-fulfilling prophecy.
And there are no guarantees the major OSS names will perpetuate their projects any better than an independent, no-name, single-maintainer. If anything, I've seen companies like Google drop projects much faster than I've ever done in any of mine.
People see the name and assume there is already support behind the project. Yet often the projects start as a single-maintainer thing that the company then puts a marketing machine behind.
I had a project years ago that was my first promising open source project. It was growing, it had a small handful of minor-but-meaningful contributors. People saw my name on 95% of the commits (I was working on it full-time) and called it single-maintainer. A year after I released, a major corp announced they were releasing a competitor. They hadn't released it yet, just announced. Overnight, I saw interest in my project dry up. It took another year for that other corp to actually releases, during which time they had fewer actual contributors than I had. When they did release, it took another year before they reached feature parity with me, but by that point it didn't matter. They had started telling people they were the first such project ever. Randos online started accusing me of copying the other project. I couldn't keep up with development and marketing on my own, especially after the digital agency I was working on it at went belly up.
I knew most of the people on the team at the major corp. We were in a very niche industry and we all knew each other. I think it was that "ours is the first" bit that really got my goat. They not only knew me and knew about my project, they even admitted they had been using my project for testing compatibility of another project they develop.
I'm sorry that happened to you, that is a horrible way to treat people, Mozilla and all open source users and contributors need to do better than that.
I'm a full-time maintainer that has luckily made it work. Donations don't work. Carving out business specific features and paywalling has worked for me.
But it's not a tenable solution for most projects. I've been thinking about how people in your position can basically "cash out". It is sitting dormant, PR authors are too intimidated by maintenance to take the lead. Maybe some sort of robotics vertical-focussed Private Equity type organization could buy out your project (where you get paid to essentially transfer the repo to their GH org, they would then take up maintenance and monetisation)? Would you accept a deal from them? How much would you ask for one of your popular repos?
I'm very happy for people who make it from doing serious open-source work. I think they deserve it. But at the same time I feel bad for those who build or maintain no less serious or popular work and yet couldn't make enough to worth even a portion of the time they'd spend.