An Introduction to Open Source Software
What is Open Source Software?
Open-source software is software that generally allows a user to use it free of charge for any purpose, to access the source code of the software, to study and modify the source code, to distribute copies of the software to others and to redistribute modified versions of the software (derivative works) to others. A popular example of open source software is Linux, which is an operating system that manages a system’s hardware, applications and resources.
Open-source software is a development methodology that encourages open collaboration between different software developers through the source code and documentation being made freely available to the public. This can be contrasted with traditional proprietary software licenses (also known as ‘closed source’) which grant access only to machine-readable object code for a license fee and subject to other restrictive licensing terms.
Today open-source software is widely used thanks to its availability via the internet through websites such as https://sourceforge.net/ and https://bitbucket.org/product/ and https://github.com/. As well its increase in use has been encouraged by the move to software as a service (Saas), the increased use of smartphones and tablets and the internet of things (connecting devices and their sensors with software). In all of these applications open source software is widely used, for example, the Android smartphone’s operating system is based on Linux.
Why is Open Source Software popular?
Well, it’s not just about cost. While open-source software can be obtained without payment of a licensing fee you will still need to pay someone for support and maintenance and further development of the software. Instead, the big advantages are:
- Fast software development cycles: open source software has rapid development cycles. For example, multiple updates of Linux are published each year.
- Decentralization: you are not reliant on one organization to supply, support and maintain your software. Such reliance creates business risk if the organization goes out of business or decides to stop supporting the software you use. By contrast in open source software there are multiple developers and companies who supply, maintain, support and develop it.
- It is easy to customize: open source software is easily updated or customized to meet a user’s individual needs.
- Open availability: open source software is available and can be used by almost everyone. As well open-source software communities can be easily joined provided you can contribute in some way such as writing software code. This provides a support network for your use or development of open-source software.
How is Open Source Software licensed?
In our next article we will analyse the terms of ‘strong’ versus ‘weak’ Copyleft licenses.