Open Source is a term that is widely used, but is often misunderstood. At its core, however, is a simple philosophy that promotes a collaborative approach to development with the end product, source materials, and design documentation made available at no cost to the public. The end product could be anything from a cooking recipe to a communications protocol, but the most prolific example is that of computer software.
Open Source Software has seen a considerable amount of media interest because of changes not only in the IT sector, but also the financial, business and political landscapes. Tom Watson MP, the Minister for Digital Engagement is quoted as saying:
Open Source has been one of the most significant cultural developments in IT and beyond over the last two decades: it has shown that individuals, working together over the Internet, can create products that rival and sometimes beat those of giant corporations; it has shown how giant corporations themselves, and Governments, can become more innovative, more agile and more cost-effective by building on the fruits of community work; and from its IT base the Open Source movement has given leadership to new thinking about intellectual property rights and the availability of information for re–use by others
Discussions about the use of open source are often dominated by political and philosophical debates about their licensing model, compared to commercial offerings. The aim of this document, however, is to encourage consideration of open source offerings as part of a hybrid solution to deliver a ‘best-of-breed’ solution to clients. You may be surprised to know that some of the products that you use regularly have come from the open source community. Examples include the Linux Operating System; the Apache Web Server; the Mozilla Firefox Web Browser; Wordpress and Wikipedia, to name but a few. These products have become incredibly successful not because of their philosophical standing, but because they represent the best solution to a particular problem or requirement. It is also worth noting that most users will use these products in conjunction with commercial software from vendors such as Microsoft and Oracle.
The History of Open Source
Many believe Open Source to be a new radical approach to software development, but in truth, it existed long before the Internet or even personal computers were to be found in every home. During the 1950s and 1960s, researchers would commonly exchange design ideas and code over private and government networks. They developed software in the open for all to see, contribute to, modify and redistribute. In a time where there was a shortage of programmers, this method was the most logical way to get the right people to contribute to a project and enhance the overall product. It was only shortly before the prevalence of personal computer that large corporations saw an opportunity to capitalise on software development and the era of closed development and proprietary software was born. By the mid 80s, Microsoft had cornered the personal computer market with MS-DOS; Unix vendors cautiously guarded their source code and many of the best programmers had left academia in search of a career in commercial software development.
However, the concept of open source and collaborative design didn’t disappear completely and a number of interesting projects emerged, largely from academics. One chap thought it would be interesting from an educational standpoint to write an operating system for the new breed of cheap personal computers that would mimic some of the features provided by the large commercial Unix platforms that dominated the academic world. The author called his new software “Linux” and unbeknown to its author, it would become one of the most prominent and successful examples of open source software, attracting contributions from thousands of developers from all over the world. Today, it is used by over 70% of web servers globally; delivers services for 6 of the most reliable hosting companies; operates over 90% of the top 500 supercomputers; and is embedded in a variety of household appliances from TiVO PVRs to Android smart phones.
Open Source Software
Open Source Software is computer software that is developed in an open, collaborative environment that encourages members to form a community around the product where they share experiences, ideas, bug reports, fixes and enhancements. The software is usually provided free of charge and is distributed through a license that permits a user unlimited use and the freedom to copy, modify and redistribute source code on the provision that all modified and extended versions also remain freely available. The underlying principle is that one benefits freely from the work of others but any modifications one makes must be released under compatible terms.
There is sometimes a misconception amongst those more familiar with a commercial model that open source software is developed by hobbyists and enthusiasts. Commonly, this is either through a lack of understanding of why someone would “give away” their efforts for free or a belief that a commercial offering must be better because it is developed by a large organisation and has a tangible cost attached to it. The truth is that open source software development encourages involvement from individuals from all over the world with a variety of skills and motivations. Examples include:
- Individuals who use a product and wish to share their experience
- Computer Science students interested in developing and demonstrating their skills to peers and potential employers.
- Small companies that hope active involvement in open source projects will demonstrate capability and attract clients.
- IT Professionals employed by companies from various sectors who regularly use open source products as part of their business.
- Software and Hardware Vendors and Distributors that distribute a product that is dependant upon open source software.
- Managed Services Providers that operate a service that is dependant upon open source software.
- Consultancy companies offering solutions, support and other services based on open source software.
- Academic institutions that use open source software as part of, or to support their curriculum.
The Linux kernel, which forms the core of the Linux operating system, is the result of one of the largest cooperative software projects ever attempted and is an interesting example which receives regular industry analysis. Regular 2-3 month releases deliver stable updates to Linux users, each with significant new features, added device support, and improved performance. The rate of change in the kernel is high and increasing, with over 10,000 patches going into each recent kernel release. These releases each contain the work of over 1000 developers representing around 200 corporations and it is estimated that over 70% of all kernel development is demonstrably done by developers who are being paid for their work. Since 2008, employees of Red Hat, IBM, Novell, Intel and Oracle have been responsible for over a third of all changes made to the kernel sources. Other notable contributors include staff from HP, Fujitsu, AMD, Nokia, and Google.
The Benefits of Open Source Software
Usually, the first perceived advantage of open source software is the financial benefit of not paying a vendor for licenses. Although obviously a key advantage, this characteristic is not exclusive to open source software and several proprietary software products are made available in similar ways, such as Microsoft Internet Explorer. What really distinguishes open source software from software available without fee is the synergistic impact of a result of the development methodology that provides an opportunity for developers and companies to collaborate on a product that none of them could achieve alone. This may go some way of explaining why almost 30% of Internet users have chosen to download and install Mozilla Firefox, even though their system most likely had Internet Explorer pre-installed.
Much of the core Internet Infrastructure relies heavily on Open Source software. Every single internet address – both web and email – depends on the Domain Name System (DNS) that is based on BIND, a piece of open source software originally developed at the UC Berkeley. BIND is arguably one of the most mission-critical programs in the world.
- All code is open to public scrutiny and peer reviewed
- Included in most modern development processes (eg. Agile)
- Case studies show that the average effectiveness of design and code inspections is between 55 and 60 percent
- Open source developers motivated by pride and peer recognition
- Desirable goals are clean design, reliability, maintainability with adherence to standards and shared community values
- Fewer conflicting priorities due to marketing pressures
- Commercial software vendors typically favour visible marketable features over less tangible qualities such as stability, security or similar less glamorous attributes
- No single entity pushing for precise delivery dates or features that must be supported
- Open source software usually delivered “when it is ready'' and is released “early and often”
- Rapid development of new features or bug fixes
- Latest source code is publicly available for testing
- All software has bugs and development and test teams can only catch so many
- Commercial development teams commonly focussed on the next software release
- Open source projects have a larger developer community
- Open source encourages a large market of early adopters who actively help debug the software
- Many open source community focussed solely on reporting and fixing bugs
- Educated members of the community can view the code, fix the problem and submit patches
- Open source projects publicly disclose all bugs which can often give a false impression of the quality. Philosophy of you cannot trust what you cannot measure and monitor.
Akamai Technologies is a company that provides a distributed computing platform for global Internet content and application delivery that accounts for between 15 and 30 percent of all web traffic – reaching more than 4 Terbits per second. A key element of their service is to provide protection against hackers and denial of service. Akamai chose Linux and other open source software as the basis of their solution stack.
- No need to trust vendor claims of security, freedom from backdoors, adherence to standard or flexibility in the face of future changes
- Users can perform any level of inspection and/or testing against the source code
- Users can easily review the code changes between versions
- Code is actively worked on by a large community
- Rapid turnaround for bugs and/or security flaws
- Severe defects tend to be fixed within hours of being detected
- Educated community members who discover a bug will commonly also provide a fix
- Commercial software typically more bureaucratic, leaving users at the mercy of the vendor
- Users able to choose when to deploy updates
- Apply a patch supplied as part of the bug report
- Wait for the patch to be incorporated into the official ‘testing’ code branch
- Wait for the patch to be incorporated into the official ‘stable’ code branch
- Security patches easily back-ported to previous releases
SAP is typical of the many case studies where large organisations are embracing open source software and view engagement with the open source community as a strategic business enabler. Between 2001 and 2006, open source software was seen as a risk and was therefore managed by exception. By 2008 and 2009, their focus had shifted toward viewing open source as a productivity enabler and approval to use and contribute to open source projects was delegated to their product units. Their applications are now composed from code from a variety of sources, including those that are internally developed; outsourced; provided by a commercial third party; or re-used through open source licensing. As an organisation, they have become actively involved in the open source community and have contributed to a number of successful projects. They see open source as an opportunity to accelerate time to market, increase innovation and product functionality, control development costs, and to engage more closely with their clients.
- Open Source software is now mainstream
- Open source software has co-existed with commercial software for years
- 85% of enterprises already use open source software
- 45% of use is in mission-critical roles
- 63% of public administration in Europe use open source software
- Policy makers in both public and private sector now recognise open source software and are formulating strategies to achieve benefits.
- Some organisations and public bodies are proposing to mandate its use wherever possible – very similar to the initial scepticism and eventual popularity of virtualisation.
- Shorter time to market for new business capabilities
- Businesses can readily download and trial open source products
- Working knowledge can be gathered at a minimal cost
- Some barriers, such as those associated with scalability are removed
- Ability to influence or create new features in future releases
- Transparent development processes
- Businesses can participate in the development process
- Open source software can be readily adapted to meet specific business requirements
- Application integration based on open standards
Joint development of open standards
Mutual benefit to provide open standards and APIs for use by other products
Open source software commonly has better internationalisation due to contributions from local developers.
- Safety from vendor lock-in or abandonment
- redistribution rights cannot be revoked
- No single entity has the power to restrict in a unilateral way how the software is used
- No single entity upon which the future of the software depends
- Able to adapt to changing conditions, such as porting code to suit new hardware
- Many experts believe that binary-only applications have a shelf life of 10 years or less
- Several open source system from the 1980s, such as UNIX, are still in widespread use (although, often conveniently adapted to new environments)
Financial BenefitsIn October 2010, 100% of the ten most reliable hosting companies utilised open source software as a key part of the solution stack. Each of these companies hosts thousands of websites on behalf of their clients, requiring huge scalability within their infrastructure. In such a competitive industry, the efficiency of the infrastructure and its ability to be scaled up to meet demand is critical. Using open source software provides not only immediate advantages through the lack of licensing requirements, but also significant savings against the costs normally associated with operating large IT estates.
- Free or low cost software acquisition cost
- Cost effective scalability
- Create multiple environments for development, test and business continuity
- Cost causes an impediment to change
- Software without cost leads to far more fluid markets, with all of the economic theory implications that follow: efficiency, and a broader selection of better products
- Free or low cost community support for non-mission critical services
- Often able to communicate directly with the authors
- Community support delivered from peers who have had similar issues
- No need for global call centres, incident escalation, or call scripts
- According to the 451 Group Survey, 87% of companies reported that open source software had met or exceeded the expected cost savings.
- Open Source typically has lower hardware requirements
- Improved efficiency
- Reduced infrastructure footprint and associated operating costs
- Reduced hardware expenditure
- Delay hardware upgrade costs
- Improved green credentials
- Freedom from Vendor lock-in upgrade fees
- Commercial software vendors must develop and encourage users to upgrade to the latest version in order to remain profitable
- New versions often include new proprietary file formats unsupported in older versions
- Withdrawal of support and/or bug fixes for older versions of the software