Explainer: Open Source Software and Its Advantages
Open source software has been the origin of a huge range of widely-used products from Linux to WordPress but what is it exactly, and what advantages does it offer for software developers?
What is open source software?
An open source software license is one for which the original author has decided to publicly distribute the underlying source code with the understanding that it will be reused, added to and — hopefully — improved upon by the greater software development community.
It is a licensing model that encourages broad collaboration with the idea that great advances can come swiftly when people work in unison. But more than just a utopian ideal, open source licensing fuels businesses across all sectors. In fact, much of the internet is built upon open source software licenses. It has been a catalyst for fast, high-quality development that has enabled the widespread use of technology and ushered in many advances in science and technology.
In the world of innovation, intellectual property is one of the key assets a business or independent developer can own. In the case of the software industry, developers typically compile their code into applications, and do not share that code with the public. Software code is like the secret recipe for Coca-Cola; highly valued proprietary information that is protected by copyright. If a competitor should try to reverse engineer the source code — or even the functionality — of a piece of software, the original author can take legal action against them.
With an open source licensing agreement, however, the author provides the code to the public and, in a way, says, “Here. . . why don’t you have a go at it?”
What are the advantages of an open source license?
The reasons for choosing to offer an open source license are many:
- More hands make light work
- Crowdsourcing development seeks to create the best in show, not the least common denominator
- The hive-mind can solve problems faster than any one coder alone
- Offering your code for free opens the door to everyone
- Open source offerings can lead to customer and brand loyalty
- Having many eyes on a project can result in higher quality (faster bug fixes) and tighter security.
How does open source development work?
The global open source software community is self-regulated by a consortium of volunteers at the Open Source Initiative (OSI).The OSI has taken on the task of defining open source software and establishing basic rules for participating in this licensing model, including but not limited to:
- Free distribution: The complete source code must be made available for the life of the software
- Derived works: The author must grant permission for anyone to create derivative works from the code and for any purpose they may imagine
- Fair, non-discriminatory access: Permission to modify the source code cannot be restricted to any group or persons.
- Technology neutral: The author cannot restrict usage with any technology or interface
Open source software differs from Freeware, which is software that the author provides free of charge (and often without a commitment to supporting the software), but with very clear restrictions on how it may be used and no provision of source code. Whereas Freeware is often a small application that performs a very specific function (often solving a universal problem), open source software can be very complex and highly functional. It benefits from being developed and supported by a large global community.
Where has open source software been used?
There are many examples of highly successful open source software products, some of which you may already be familiar with:
- Apache HTTP Server: If you are reading this article online, there’s probably an Apache HTTP Server involved in serving up this page in your browser.
- Selenium: Selenium WebDriver and Selenium Grid have served as the foundation for much of what we know as automated browser testing.
- Appium: What Selenium has been for web application testing, Appium has been for mobile applications. Appium allows scripts to drive iOS and Android applications using the WebDriver protocol.
- Mozilla Firefox: Firefox is an internet browser known for its commitment to privacy protection.
- MySQL: This open source relational database management system was first released in 1995.
- VLC Media Player: Much like Windows Media Player or QuickTime, VLC Media Player will play your media files, but without restriction to a particular operating system.
- Audacity: Like Garageband, Logic, and ProTools, Audacity can be used to produce a podcast or your next hit album.
Read more: Top 10 open source automated testing tools