What We Must Do to Avoid the Tragedy of the Commons in Open Source

Cloud Foundry sponsored this post.

Far too often, people make the assumption that someone else will do the thing. We see this in every aspect of our daily lives, from personal to professional and across industries. Someone might notice their neighbor’s house is on fire but think, “Someone else must have called the fire department already.” Or perhaps you are a developer who sees a bug in the collective software, but you assume someone else will submit the fix because you have other things to do.
When we all share accountability, we are prone to abdicating responsibility if we assume others will take care of it for us. This is known as the “tragedy of the commons.”
Open source is especially prone to this phenomenon. In fact, this is one of the biggest challenges confronting our highly collaborative industry.
By its very nature, open source creates a challenging and delicately balanced dichotomy. Because the software is free to use, too many developers and IT leaders treat it the same way as commercial off-the-shelf software (COTS). Companies use it, but don’t contribute back to it.
Participation — via contributions to code, documentation, community engagement, and more — is essential to the perpetuation of open source. People ensure the evolution of open source technologies by improving the code, evolving the mission and providing the critical feedback that facilitates progress.
This is the tragedy of the commons in open source technology.
Shared resources must be treated like an organism that needs to be fed and well-tended in order to encourage its growth and evolution for the common good. Otherwise, it will die.
Shared Responsibility
More companies and individuals need to get involved early and often. Open source software requires the community to contribute, or it does not work.
A platform may be viable and deliver desired results for your organization, but that doesn’t mean it’s mature and well taken care of by others. You can’t (and shouldn’t) assume someone else will chop wood and carry the water for you. Open source is the responsibility of the collective, not an individual.
You can’t (and shouldn’t) assume someone else will chop wood and carry the water for you.
As technologists, we are excited by the shiny new technologies constantly being introduced in our industry. But that doesn’t let us off the hook from maintaining the technologies that sit at the very core of our businesses.
It has been fantastic to see more and more enterprises embrace open source software. From my conversations with chief technology officers, I’ve learned this group also struggles to give back to open source in a meaningful way. This is not for lack of good intentions — but it can be a combination of perceived lack of time and simply not knowing the best way to get involved.
Here are some key ways you can approach open source and move the projects forward:
- Put Value Where You Get Value: Consider how valuable the open source technology you’re using is to the future of your company, then put a number on it. Add the need for the technology to stay up-to-date with new features and functionality as well as with the latest security updates. That responsibility rests with you: you are now a part of the community. You can’t assume it’s someone else’s problem to deal with. If we all did that, the technology would stagnate.
- Support the Involvement of Your Development Teams. Open source technology may be free, but the responsibilities and costs don’t end there. Although your contribution may not be monetary, participation requires your teams to invest in the ongoing development of the software. Your organization should allocate time for your teams to contribute back to the technology to ensure it continues to evolve and support your business. Developers want to be involved in open source projects, which enable them to stay up to speed on cutting edge technologies—both a boon to their career growth and to the advancement of your own tech teams. Some companies set aside a number of hours during the workweek for developers to contribute to open source projects, removing the assumption they should do this on their own time. This work can be coordinated through an open source program office, which maintains a list of open source projects that companies are using or maintaining.
- Join the Community: If the project is part of a foundation, join to get involved, and allocate time for your marketing teams to collaborate with the foundation’s staff. Most foundations have an extensive list of things to do, and not enough people to get it done. By participating in an open source foundation, you gain valuable mindshare of the project ecosystem.
Remember: When you become a part of the community and make room for your development teams to participate in open source, you are ultimately influencing the direction of the project — and shaping the industry at large.
Feature image via Pixabay.