Willingness to Contribute Required
a call to get involved in OSS
Let’s skip all the nice introductions and setup with this piece and get straight to the point.
If you are using open source software, and are not capable and willing to jump in and make a fix if you find a bug or want an improvement, that’s a liability.
The reasons for this are very straightforward. If you are using OSS to build something that is an important part of your business, livelihood, other peoples’ livelihoods, etc. and you find a bug that breaks your software, it is not the creator/maintainer’s responsibility to fix this problem for you for free. It would be nice if they did, that’s for sure, but they are not even in the smallest way obligated to do so. If they choose to do so, and on top of that choose to do so in a timely manner, you should be thanking them profusely for doing so, as they are providing what typically would be quite expensive dedicated support to you and/or your team completely free. And that’s on top of the fact that they have already provided you and/or your team with the software for free in the first place.
To some people, this might seem obvious. But after working on OSS for a few years, I have found that the majority of people that use your software are happy to speak up on bugs they find or improvements they want, but either unwilling or incapable of making an attempt to fix them. They will usually file an issue on github (or occasionally use my personal email) asking for a fix, then sit back and wait.
Personally, whenever anybody brings up any issue or feature they are interested in for any of the OSS projects I maintain, I will immediately ask them to contribute the solution themselves. In some of these cases, it would be easy, maybe even orders of magnitude faster for me to make the fix for them. But my doing this just encourages the already poisonous attitude that OSS maintainers are ready and waiting to fix your problems or implement your feature ideas for free.
Let me be clear about this again — it’s a business liability to use open source software that you are not confident that you would be able to contribute to, unless you are privately paying the maintainer for dedicated support if needed.
For those who currently are in the camp of using projects they don’t feel confident they can contribute to, do not panic — jump in! A project’s quality is not determined by the number of stars or open issues, it’s determined by the code. You should not be using OSS projects that you have never so much as looked at the code of. This is the equivalent of picking up a computer chip from a gigantic street market that the vendor said would solve your problem, and plugging it directly into your company’s production system. Will it work out? Maybe. But it is without a doubt a liability. And the bigger your company is, the more of a liability it becomes — surely you can imagine situations where a bug in an open-source dependency could cause people to lose critical information and/or money.
This is a call to everyone involved in the open source community. For open source creators and maintainers, encourage those who report bugs or suggest features to pull request them in. Anyone who uses OSS, when you open an issue, volunteer to fix the issue at the same time. More contribution and less danger makes for a better world ✨