Wrapping up this series, here are a few more non-price based reasons why users might choose open source:
Commercial software economics works best when a common source base is used to address the needs of many customers. This has two effects:
- Features used by many, or most, customers are well addressed. But niche features are left out, or less completely implemented
- Features are included, that you, as a unique individual customer, will never use.
If you are a service provider, Amazon, or Twitter, for example, you likely have some specialized needs that are not common to the typical customer. Open source gives you the ability to add missing features, or change the implementation of features that are already there.
Surplus features have a cost in resource usage, and in bug exposure. More lines of code = higher probability of bugs. More code also brings a higher security risk exposure. Open source gives you a starting point, from which you can potentially remove code associated with unwanted features.
Suppose doing this removes 5% of memory usage, and removes a library with chronic patch requirements. This small difference wouldn’t concern a small business running a single instance. But if you are a service provider, running 1,000s of instances 24 by 7, getting rid of the fat is attractive.
Anybody can fix bugs
Access to the source can help with troubleshooting and document proper usage
Commercial software is commonly bundled with a time limited support agreement.
There will always be some subset of users that don’t even make an attempt to read documentation. This frequently results in a tiered support arrangement where a picket line of lesser skilled individuals filters out RTFM1 inquiries.
If your organization is staffed with skilled and trained users, you could well have higher caliber people using the product, than those staffing the vendor’s support organization. Self-help, with access to source code might resolve problems faster, and more effectively than paid support.
Source code access is somewhat analogous to having a car maker publish technical service manuals. Just because the service manual is available, doesn’t mean that you have to fix the car yourself. Most people still elect to get car service from the manufacturer. Odds are, you also have the option of using a third party repair shop. And if you are technically inclined, and have the time, you retain the option to try to fix it yourself.
There are vendors that publish source and still offer paid support. Even if you elect to take advantage of the paid support, the availability of the source can be useful to those on your staff that are technically advanced. Depending on the open source licensing terms, it might also cultivate a vigorous community of third party tools, extensions, and collateral documentation.
You do not risk getting stranded if the vendor loses interest in the product or encounters solvency issues
Companies don’t usually live forever. And even if they are still around, product lines can be dropped or sold off.
Take Windows XP as an example. In spite of a large user base, Microsoft elected to drop conventional support, and halt new sales of the software. Let’s assume that this decision was warranted, because the internal architecture was so technologically obsolete that attempts to secure the OS would amount to a complete rewrite anyway.
There could still be unfortunate users, who have applications that depend on XP – and are comfortable that they constrain it to a partitioned environment that mitigates the risks.
Open source at least offers the option of supporting abandoned software by yourself, through a third party, or with a community of users with a similar interest.