Why should we use open source
Many of the qualities that are claimed for Open Source Software are exactly those that are wanted by those who have to use or deploy software, yet run almost directly counter to the commercial needs of typical software development businesses, where a continuous revenue stream (usually through the mechanism of upgrades or high-priced support) is needed.
In the following paragraphs we look at the claims, outline why they are considered benefits and describe the ways that the Open Source process provides substance to the claims.
Reliability
Reliability is a loose term. Broadly, we can take it to mean the absence of defects which cause incorrect operation, data loss or sudden failures, perhaps what many people would mean when they use the term `bug’. Strictly, a bug would also mean failure to meet the specification, but since most Open Source projects dispense with the concept of anything easily recognisable as a formal specification, it’s hard to point to that as good way of defining what is a bug and what is a feature. Determining what constitutes a bug is usually by agreement amongst the developers and users of the software (an overlapping community in many cases). Obvious failure to perform is easily recognised as a bug, as is failure to conform to appropriate published standards. Security related failings (exploits or vulnerabilities) are clearly bugs too. Each of these kinds of bugs is usually addressed with speedy fixes wherever possible and Open Source advocates will claim very rapid time-to-fix characteristics for software.
Stability
In a business environment software is mostly a necessary evil, a tool to do a job. Unless the job changes or more efficient processes are discovered then there is rarely pressure or need to alter the software that is being used to assist the task. This is more or less directly counter to what motivates software vendors who are in the unenviable position of supplying a commodity that does not wear out or age much. The vendors need a stable revenue stream to be able to keep their business going whilst their customers have not the slightest desire to change or upgrade any product that is working well enough to suit their needs. If a software supplier can establish a virtual monopoly and then force upgrades onto its audience (as has been the history of the software industry since the mid 1960s) then the profits can be very high.
Software vendors can apply a number of tactics to persuade their customers to upgrade more or less willingly. Typical tactics include moving to allegedly new and improved file formats (which require the new and improved software to read them) or to withdraw support and bug fixes for older versions after a short period. The problem for users of the software is that they rarely have much control over that process and are left isolated if they choose to remain with older versions that they consider to be acceptable. This has cost and control implications for the business.
Auditability
A rarely-understood benefit of Open Source software (any software where the source code is published) is its auditability. Closed-source software forces its users to trust the vendor when claims are made for qualities such as security, freedom from backdoors, adherence to standards and flexibility in the face of future changes. If the source code is not available those claims remain simply claims.
By publishing the source code, authors make it possible for users of the software to have confidence that there is a basis for those claims. Whether this takes the form of an cursory and informal inspection or more rigorous auditing, what’s clear is that without access to the source, third party inspection is impossible. At present the industry does not insist on third party inspection or certification, but it’s possible that as open source models become more popular then expectations of audits will rise.
Cost
Most current Open Source projects are also available free of royalties and fees, leading to the confusion around the commonly used term `free software’. Regrettably the English language does not have separate concepts for free-of-charge and free as in unconstrained; other languages are better equipped to describe the difference between `freedom’ and `free of charge’ (libre vs. gratis). Proponents of free software licences tend to emphasise liberty over cost although in practice the main open source projects are free in both senses of the word.
From a business perspective the purchase cost of software is only one factor; total cost of ownership (TCO) is what really matters. Other things being equal, the solution with lowest TCO is usually the most desirable one. Arguments in favour of low TCO for open source software include:
- Possibly zero purchase price
- Potentially no need to account for copies in use, reducing administrative overhead
- Claimed reduced need for regular upgrades (giving lower/nil upgrade fees, lower management costs)
- Claimed longer uptimes and reduced need for expensive systems administrators
- Near-zero vulnerability to viruses eliminating need for virus checking, data loss and downtime
- Claimed lower vulnerability to security breaches and hack attacks reducing systems administration load
- Claimed ability to prolong life of older hardware while retaining performance
- Some longer-term claims are more difficult to substantiate yet they need to be taken into account:
- Better adherence to standards permits competition in the market, reducing vendor lock-in and consequent monopoly pricing
- Availability of source code provides greater continuity and security against
- Financial collapse of vendors of key products
- Vendors choosing to withdraw support for unprofitable products
- Protection against being required to fit your IT strategy to the cash needs of your software supplier
Flexibility and Freedom
In a business context, software flexibility is about being able to choose solutions suitable for the needs of the users. Many commercial software products will claim flexibility as a built-in feature and some will undoubtedly be correct. Our view is that that flexibility should really mean business flexibility, so that as requirements in the business change, solutions should not be unreasonably constrained by software. In particular, we view this as being especially important in the area of infrastructure components — the architecture of the IT solution rather than any one package.
Support and Accountability
It may appear counter-intuitive at first, especially to someone used only to dealing with proprietary software, but whilst the models for obtaining support and accountability for Open Source software are clearly different, the Open Source outcome is generally better than for all but unusual cases of user-vendor relationships.