Open Source Software (OSS) is Software licensed with a copyright license compliant with the Open Source Definition (OSD). It is software that is distributed with its source code in a human-readable format so that anyone can inspect it. OSS can also be modified and enhanced.
If you have ever used WordPress, the Firefox browser, or any Android-based device, you have used open-source software.
Open source projects such as the Linux operating system and the MySQL database management software changed the world. They disrupted the IT industry and, with the help of Google, Facebook, Twitter, and others, helped create an online and continuously connected world. Because of these projects, we share and store information in a way never seen before.
The Open Source Initiative (OSI) began in 1998, and since then, it has grown from a niche concept to a standard component in software and service development. Open source is an integral part of application development, platform development, cloud computing, game development, hosting, big data, and IoT.
The increasing adoption of OSS into the broader tech industry and the resulting social and economic opportunities from that usage has fed back into – and accelerated – innovation within open source communities. Today, as a result, open-source products and projects permeate all areas of software development.
The Values of Open Source
Let’s have a look at the philosophy underpinning and the characteristics of open-source. There are three C’s of open-source software – Code, Collaboration and Community.
Some popular world-class open source projects are Linux, Apache, MySQL, PHP, Ruby, Python, R and Git, to name but a few.
Collaborative tools are the backbone of the open-source way. Tools include version control systems (Git and GitHub), mailing lists, wikis, and blogs to help developers build code together.
Sharing ideas and developing code across the web with other developers builds communities with shared interests and goals.
Underpinning the three C’s of the open-source philosophy are four central tenets.
- Think Global Act Local
If you want to leverage open source locally, you have to participate with the best globally.
- Learn from what you see, code, and hear, globally
Take that knowledge and educate others in your team.
- Build your local ecosystem
Use open-source software, set an example.
- Support others who use open-source software
It’s cost-effective, transparent and makes money too.
What is an Open-Source Software licence?
Licensing is a vital part of OSS. Without it, the software cannot be used by others. The license tells others what they are allowed to do with the software.
There are many open-source licenses, and choosing the correct license for the software is important. Some are more restrictive than others. All open-source licenses have to be submitted for approval by the Open Source Initiative (OSI). But there currently exists a core set of licenses that should cover nearly all situations.
Open Source License Categories
Open source licenses are commonly divided into three main categories:
- Permissive licenses
- Strong copyleft licenses
- Weak copyleft licenses.
- Permissive licenses
Permissive licenses allow a high degree of freedom to use and reuse the code. The message behind permissive licences boils down to “here’s the code, do whatever you want with it”.
- Copyleft licenses
The term Copyleft originated as a reaction to the term Copyright. When a developer releases code under a Copyleft license (and in particular what’s called a Strong Copyleft License), they make a claim on the Copyright of the work and issue a statement that other people have the right to use, modify, and share the work as long as the reciprocal obligation is maintained.
Any distributed software that links to or includes the original code must be licensed under the same license as the original code. As a result, strong Copyleft licences have often been called “viral” licenses.
Weak Copyleft licenses refer to when not all of the work in a project inherits a copyleft license.
Can Open-Source Software be used for commercial purposes?
Developers can use all OSS for commercial purposes. “Commercial” is not the same as “proprietary”. If you receive software under an Open Source license, you can always use that software for commercial purposes, but that doesn’t always mean you can place further restrictions on people who receive the software from you.
The four freedoms of Open Source software users are:
- Run the program for any purpose.
- Study how the program works, and change it (access to the source code is a precondition for this).
- Redistribute copies so you can help your neighbour.
- Distribute copies of your modified versions to others (you give the whole community a chance to benefit from your changes).
How to contribute to Open Source
Anyone can write software but is the software worthy of being reviewed and used by others in an open community? The best way to learn and contribute is to join any popular open-source project that satisfies your curiosity. You can participate in a project by using the software, fixing some bugs, submitting patches, getting involved in mailing lists and generally educating others as to what’s available out there.
“Free software” and “open-source software” are two terms for the same thing: software released under licenses that guarantee a particular, specific set of freedoms.
The term “free software” is older and is reflected in the name of the Free Software Foundation (FSF), an organization founded in 1985 to protect and promote free software. The driving force behind this was Richard Stallman.
The term “open source” was coined in 1998 by the founders of the Open Source Initiative (OSI), who supported the development and distribution of free software, but who disagreed with the FSF about how to promote it, and who felt that software freedom was primarily a practical matter rather than an ideological one.
Examples of Open Source Software
Some examples include:
- VLC Media Player
- Mozilla Firefox
Take the free challenge