We explain the reasons why every IT company should care about open source, and the effect it is having on the IT industry. We also make some tentative predictions about where open source is going.
Authored by: Elliot Smith, OpenAdvantage, September 2005
Open source is a hot topic. Barely a day goes by without a major announcement in the computer press about open source: companies introducing new initiatives, such as Sun releasing Solaris 10 as open source; established vendors ploughing huge amounts of resource into open source projects (e.g. IBM donating millions of dollars to the Eclipse project); and venture capitalists flocking to fund open source companies (e.g. SugarCRM, SpikeSource).
Many of the world's most successful companies attribute at least some of their success to open source software (OSS). Amazon runs on the open source Apache web server. Large parts of Yahoo! are built on Linux, FreeBSD and Apache, and written in PHP and Perl. It's no coincidence that these successful companies use OSS. They have leveraged its flexibility to build bespoke systems at a fraction of what similar proprietary systems would have cost. Amazon, for example, claimed a while back that using Linux cut their costs by about $17m per year (25% of its technology expenses).
Many UK businesses have also learned the same lessons, lowering costs and avoiding vendor lock-in. According to a recent National Computing Centre report, open source has already penetrated deep into many organisations: 41% of the 143 organisations surveyed had already explicitly adopted some OSS in their operations, and 73% expected OSS to become more prevalent in their IT strategy over the next five years.
Even if you're not already one of these companies, you are in fact relying on open source every day: every time you use the internet, your request is likely to rely on OSS (BIND) to reach its target host.
So open source is here to stay and is everywhere. How can your company get used to having it around?
For an IT company, open source provides enormous opportunities. Many companies have already realised these benefits, by using Linux servers to lower costs and increase reliability for back office deployments. Going beyond this, in the following sections we give some examples of the areas where we see opportunities for IT companies looking to use OSS.
The low price of open source makes it possible to realise the promise of the Application Service Provider model. This model has been around for a while, but has never really delivered - until now. Because open source infrastructure is cheap (no licensing fees, either for the server or client access), readily available, and massively scalable, it is possible to use it as a base for low cost services delivered over the internet. Many companies are taking this approach: 37signals, Friendster, Photobox, and Evite are some successful examples. These companies are relying on a commodity market (lots of customers at low prices) to make their business pay off. Often, the foundation of these services is the LAMP (Linux, Apache, MySQL, PHP) stack, a solid bedrock for most kinds of web application.
If developing proprietary software, you have to either write the code yourself or license the required code from a third party. Writing it takes time; sourcing it often means a license fee each time the software is distributed to a client. With open source, there is a third option: source the code from the community. This way, you can take advantage of the wealth of quality code which already exists.
In addition, OSS will have been exercised more exhaustively than a single software company could ever manage. The old truism about "many eyeballs make all bugs shallow" holds, at least in cases where the software is widely used, resulting in very high quality software. Just to give an idea, Linux was recently audited for bugs by Carnegie Mellon University. By contrast with proprietary software, which typically has 20 to 30 bugs per 1000 lines of code, Linux was found to have a mere 0.17 bugs per 1000 lines: slightly less than 1% of the expected amount.
If you are going to use open source, there are good and bad ways of going about it.
As well as being able to use existing open source components as part of your development process, open source also offers several high quality development environments, languages and tools. For example, Eclipse is a very full-featured integrated development environment, heavily supported by IBM and used for their own internal development work. It is freely available as open source. Languages like PHP, Python, Mono and Ruby have open source implementations, providing most (if not all) of the features of proprietary languages like Java and .NET at low cost. Using OSS for your development provides some big benefits:
Given these opportunities, we can expect to see IT companies making increasing use of OSS. We can also make a few predictions about future trends in the industry more generally:
OSS is gradually emerging into the mainstream, along with all the trappings of a mainstream movement: support organisations, business models, commodity products, and so on. Every IT organisation should at least investigate OSS, as it has far-reaching implications for the whole industry.