There is a crisis in open source according to some people. Open source projects form the backbone of the modern tech stack, and too many use it without contributing anything back. For example, Daniel Stenberg, the maker of Curl, recently wrote that over 47 car brands use curl, yet not a single one of them is a supporter of the project. They make money from his work, and don’t send any of it back.
So what do we do about it? How do we get more people to contribute to the projects that they are using?
I think the answer lies in getting back to the original spirit of open source. I’ve seen people propose gimmicky solutions, like weird licenses, models involving the expectation of payment or contributions, but I think all of these solutions go against the spirit of open source. After all, if there is an expectation that you give the creators of a project something in return, then we’re not really practicing free and open source, but rather something more akin to quasi-commercial source-available software.
People need to realise that open source goes both ways. Maybe maintainers have been too good to us, doing so much unpaid labour because they think that they have an obligation to their users, but why should users expect anything from maintainers? After all, you didn’t pay for the software. You don’t have a contract. You weren’t forced to use it. Someone made the software for one reason or another, and then released it for everyone else to use. You made the choice to use it with your own free will. If you don’t like the level of maintenance and support, either roll up your sleeves and contribute or go somewhere else.
The original spirit of open source was that we could all get together and share our software with each other, including modifications and improvements. But unlike older open source projects, modern open source is very professional, with big complex projects and very active maintainers. Perhaps it’s not surprising that this increased professionalism has damaged the original spirit of open source somewhat. If open source software looks and acts like commercial software, and is being maintained like it, then we may well start bringing the same expectations to open source that we have of commercial software.
I think part of the solution to the funding crisis is for everyone, including maintainers, to change their expectations. Maintainers should not be expected to maintain their projects, and users should not expect maintainers to do their work for them. Don’t like it? Submit a PR or fork it, or go somewhere else. If a maintainer burns out or doesn’t want to maintain the project anymore, then what’s the problem? If the project is so important to you, then pay someone to maintain it, or take on that burden yourself. Maybe we need the maintainers of a few high profile projects to say “you know what, I’m going to spend less time on this project unless someone pays me to maintain it full time” for people to wake up. When the External Secrets Operator project announced that they would cease further releases, they were flooded by offers of support, and the project is up and running again. Let that be a lesson to maintainers everywhere. People will support something if they have to.
