Single-vendor open source projects are somewhat common, but are they actually “open source” in any useful sense of that term? It’s often said that open source is as much about community as code, but in a project with all committers and maintainers sitting behind the same firewall, there’s no real contributor community. So why bother with open source at all?
I asked that question of Twitter (yes, all of it). Turns out, there are good reasons to open source your code, even if you never expect a single other contributor to submit a pull request.
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
A matter of persistence
The first reason may have nothing to do with community, but everything to do with posterity. According to Steven Rostedt, “To allow their product to continue even when the company is gone. How many times have you lost good products due to the company failing? That is what builds trust with your customers.” Or, perhaps put another way, if the code is open source, the customer need not trust the developer of the code. The license doesn’t guarantee that the code will be well-maintained, but it does guarantee its availability.
Think of it as a modern way of doing escrow agreements. But instead of involving lawyers, you just involve a license.
Somewhat related, Daniel Doubrovkine suggested, open source can also be an efficient way to share information. “It can be educational like the Artsy iOS app. Engineers blog about technical problems and their solutions, and want to point to actual code.” (He is the former CTO of Artsy.) Along the way, he continued, open source code is like buying an option on a future utility…even when you can’t currently see who might find it useful. “Many projects start as for the purpose of the creating enterprise, but grow to be useful to others. Without an OSS [open source software] license others can’t actually become future maintainers.”
It’s also worth pointing out that an open source license tends to facilitate adoption of software. Or it can, depending on the license. A permissive license like Apache or BSD is like putting a sign on the software that says, “Please use me.” Even well-understood copyleft licenses like the GPL can expedite adoption. If you’re a business that wants people to use the software, even if they don’t contribute, an open source license opens this door wide.
Does that mean you should open source your code? Possibly, but there’s never an automatic “yes” or “no” answer to that question. As with most things, “it depends.” So, unlike my cavalier initial idea that without community there’s not a lot of value in using an open source license, it’s wise to dive a bit deeper and think through the potentially far-reaching benefits of open sourcing your code.
Disclosure: I work for AWS, but the views expressed herein are mine.