What is Open Source Software?

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.

  • Code  
    Some popular world-class open source projects are Linux, Apache, MySQL, PHP, Ruby, Python, R and Git, to name but a few.

  • Collaboration 
    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.  

  • Community 
    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:

  1.  Permissive licenses 
  2.  Strong copyleft licenses 
  3.  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. 

Freedoms

 The four freedoms of Open Source software users are: 

  1. Run the program for any purpose. 
  2. Study how the program works, and change it (access to the source code is a precondition for this).
  3. Redistribute copies so you can help your neighbour.
  4. 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

“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:

  • Python
  • GNU/Linux
  • VLC Media Player
  • Mozilla Firefox
  • WordPress
  • PHP
  • Audacity

Take the free challenge

If you want to become more involved in OSS, then learning to code is a great starting point. Code Institute offers a Diploma in Full Stack Software Development, but before you jump into the deep end, why not try our free 5 Day Coding Challenge? After one hour a day over five days, you’ll learn the basics of HTML, CSS and JavaScript. Register now through the link below. 

What is a JavaScript Library?

One of the most extensively used programming languages in the world is JavaScript. It’s a scripting language that allows programmers to construct interactive user interfaces with dynamic content. It’s known as The Web Browser’s Language since it’s the most widely used language for creating web apps, and it works across all browsers.  Owing to its […]

What Is AJAX?

AJAX is a technique that combines other technologies like HTML, XMLHttpRequest, JavaScript, Document Object Model (DOM), and many more. It is not a programming language but rather a feature that helps users modify and display data without going through the hassle of reloading the entire page.  When it comes to web development, HTML, CSS, and […]

What is jQuery?

With the technological boom happening and the use of websites being a prerequisite for any business, big or small, the demand for web development is on the rise. JQuery provides developers with the ability to create client-side web pages easily. In simpler terms, it is a feature-rich library provided by Javascript.    So, let’s discuss in-depth […]