Look, I get the noble intentions that originally spawned the movement, but y'all, capitalism is winning, and Open Source isn't changing that fact by an appreciable margin. What it is doing, however, is convincing a whole lot of talented people to donate critical hours of their life to working on tools and libraries that profitable corporations are making bank off of.
There are two miserable fates that await an Open Source developer at either end of the spectrum, one far worse than the other:
- Nobody ever uses your code. This is kinda depressing, but you move on with life.
- Everybody uses your code. This is amazing! Until it's not. Until people start finding bugs and writing issues and requesting features and submitting PRs and demanding to know why you haven't released in six months and talking about how this "dead repo" is now a security risk and how the developer is a deadbeat and should be ashamed, and nobody should use this library for a professional product. Congratulations, you now have A Responsibility.
This sucks. You're just trying to write and share some useful code, and if that code becomes too useful, you have somehow fucked up because you now have a second job. A second job that doesn't pay, but allows other people to make money from your labour, I should add.
Donations and sponsorships are an option, but they're not a great option. You have to rely on people to donate out of the goodness of their hearts or at least the viability of the marketing message it sends for them to be seen donating to prolific Open Source authors. And good luck if you're not prolific. If you're just quietly toiling away on a package that sees a few thousand downloads a week, you're almost definitely moving the needle for someone who's making money off your work, but you're unlikely to be visible enough for it to be "sexy enough" to be seen sponsoring you.
Open core is an option, but only for certain types of Open Source. A great many libraries are basically just the core, and don't really have any sort of "high-end business features" that can be spun off into a paid product that would interest businesses. Also, you are basically now in the business of selling a normal software product with a free loss-leader, which may not really be what attracted you to Open Source in the first place.
Charging a subscription for managed deployments is also an option, but also, again, only for certain types of Open Source. If you write a popular library, there's not much to host. You have to have a full Open Source product for this to be even something you can consider, and then there's nothing stopping a huge cloud company from offering their own integrated version of your service. And for most people it just doesn't make sense to spin up your flavour of BloopusServer when they can spin one up as an AWS component in their CloudFormation stack.
I don't know what the answer is, I just know that I've stopped feeling good about people sinking so much of their time, energy, and good vibes into this work, only for their good intentions to be taken advantage of. As power and money shifts ever more away from the people who work towards the people who own things, it feels weird and wrong to see people give away the fruits of their labour for free to the people who are getting more and more of it, cheaper and cheaper, everyday.