Open source software (OSS) is a type of software with source code that can be published, reused, modified, and redistributed free of charge. This approach to building, maintaining, and distributing software has benefits for businesses and end users alike.

In this article, you will learn what OSS is, its benefits for the software community, and the differences between different open source licenses.

What is open source?

Open source software has source code that is released free of charge (or at a minimum cost). An open source license gives users and developers the ability to freely use, modify, and redistribute it.

Unlike the source code for proprietary software, which is kept private, OSS allows anyone to create an executable file to run on the platform they use, and to distribute the created executable file. It is also possible to fix bugs, add features, publish source code with these changes, and distribute executable files. Depending on the OSS license, it may also be possible to incorporate and use OSS in commercial products and services.

What is OSS?

OSS gained popularity in the late 1970s and 1980s, when software and the technology used in it were protected by copyright. and there was a backlash against proprietary software towards closed technology. In 1983, the GNU Project was started by Richard Stallman , and in 1985, the Free Software Foundation was created to advance the project.

Many IT vendors now offer their products and tools as OSS. For example CircleCI makes some of the orbs and tools it develops publicly available as open source software, so you can use and reuse them freely.

Other examples of well-known OSS include GNU/Linux, Firefox (provided by the Mozilla Foundation), GIMP, jQuery, Java, Python, Git, PyTorch, WordPress, and many others. There are open source operating systems, programming languages, and applications. Developers at many companies have development projects based on OSS. By fixing bugs and expanding functions in OSS, and sharing them, they become part of the OSS development community.


CircleCI OSS

By using CircleCI for OSS projects, you can further optimize the entire development process. CircleCI also provides a rich variety of orbs that accelerate OSS development. Start building open source software with CircleCI today.

Deploy for free now


Basic knowledge requirements and definitions of OSS

The Open Source Definition (OSD), introduced in 1998 by the Open Source Initiative, includes 10 characteristics that define what is and is not open source. Only software that meets these requirements can be called OSS:

  1. The software can be freely redistributed without restriction
  2. The source code must be available free of charge (or at a reasonable cost)
  3. The license must permit modification of the software, and creation and distribution of derivative software
  4. The license can protect the integrity of the author’s original code by requiring new releases to exist under a different name or version number
  5. The license cannot restrict access to specific individuals or groups
  6. The license cannot prohibit the software from being used in a specific field or industry
  7. The same license must apply to all users of thew software (no additional license consent required)
  8. The license cannot be restricted to a specific product or implementation of the source code
  9. The license cannot restrict other software distributed along with the OSS
  10. Licenses must be technology neutral

These rules ensure that software can be freely redistributed, that source code is accessible either for free or at a minimal cost, and that modifications and derivative works are permitted. Additionally, the OSD prohibits discrimination against any individuals, groups, or fields of use, mandates consistent licensing for all users, and requires that licenses remain neutral to technology.

These principles promote freedom, collaboration, and innovation in software development, making OSS a valuable resource for developers and organizations alike.

What is the difference between OSS and free software?

Open source software has source code that has been made public, so that vulnerabilities in the source code can be checked. Freeware does not make its source code public. Rights such as redistribution may not be permitted for freeware.

On the other hand, open source software allows redistribution of the source code. OSS is intended for use by companies who produce operating systems and databases, and has the performance, functionality, and quality to withstand the usage environments required by those companies.

OSS is maintained by a community of developers from all over the world and by developer companies, who create vulnerability countermeasures, bug fixes, and feature additions and expansions.

Detailed diagram of OSS

Why is OSS popular among developers?

Open source (OSS) is widely used because it offers multiple benefits. By releasing your application as OSS, you can:

  • Increase the number of users and the amount of user feedback available
  • Reduce development costs by having a community of developers maintain your OSS application
  • Discover defects or or malicious code faster through community-driven testing and reviews
  • Increase awareness and visibility for your projects

Other benefits of OSS

When you think of the biggest benefits of using OSS software, you may think of the fact that it’s “free” and that it can be used for secondary purposes. But there are many other benefits to open source software, including:

  • Reliability and stability
  • Lower programming hurdles
  • Reduced development costs and usage fees
  • Freedom to edit and modify source code
  • Community activities that boost brand awareness

Reliability and stability

With OSS, the source code is open to users and the community, so malicious code and program vulnerabilities are findable by many people. Regular updates increase the reliability and stability of the code.

More efficient development

OSS lowers the hurdles for system development. The source code for processes that are widely used is already provided, so if you want to perform similar processes in your own products, there is no need to develop code from scratch.

Reduced costs

Open source software reduces the time needed for coding and testing. It is still important to test the operation of the entire system, so perform an integration test for final confirmation. Also, in terms of cost, open source code can be used without license fees.

Freedom to edit and modify source code

If a problem occurs, you can freely modify or edit the source code of an OSS development project. You can customize it to meet your needs and requirements, including increased security.

Community engagement

By contributing to OSS development, you can improve your company’s brand recognition. For example, on sites such as GitHub, you can freely publish the source code of frameworks and programming. You can also self-brand your company through OSS activities and open source communities.

Points to keep in mind about OSS

Although an OSS can be used for free, there are some points that both developers and users should be aware of. Open source software (OSS) can be freely modified and used, but not everything is necessarily free. The reason for this is that each OSS has its own license agreement and terms of use. The OSS license is a usage agreement specified by the creator, so be careful not to violate it when using it.

Here are some other things to stay aware of:

  • Anything that does not meet OSD standards is not an OSS
  • There is no guarantee against vulnerabilities
  • There may be cases where paid support is necessary
  • The OSS may prohibit use for commercial purposes
  • There are also OSS that require display of source code
  • There are legal risks if you violate the license

Types of OSS licenses

Open source software has multiple licenses available, such as GPL, MIT, BSD, AGLP-3.0, LGPL and Apache. The conditions may vary depending on the license.

License type Detail
GPL (General Public License) The GPL is a license exclusively for the GNU (General Public License) project created by Richard Stallman. It is managed by the FSF (Free Software Foundation). Under the GPL license, copyright notices cannot be removed. Derived programs must also be published under the GPL.
MIT license As the name suggests, the MIT license is a license for OSS developed by MIT (Massachusetts Institute of Technology) in the United States. When developing OSS that falls under this license, you must enable free commercial use. Sales and other aspects are completely free.
BSD license The BSD (Berkeley Software Distribution) license allows for free redistribution as long as the copyright and disclaimer are displayed. This license comes with no warranty, so if a problem occurs, the provider will not be held responsible.
AGPL AGPL is a license that requires the release of source code even if the software is not distributed (such as when used on the server side).
Apache The Apache license is an OSS license with loose restrictions, allowing you to use, modify, copy, and redistribute it for commercial purposes by simply stating that it is an Apache license.

About copyleft, non-copyleft, and quasi-copyleft

There are three types of OSS licenses: “copyleft”, “non-copyleft,” and “semi-copyleft”. Copyleft licenses require attachment of license text and disclosure of modified source code. The most famous copyleft license is the GNU General Public License created by the Free Software Foundation (FSF).

If the author declares that the work is copyleft, it can be freely used, modified, and reproduced.

Copyleft means that a program (or other copyrighted work) is free (in the sense of freedom, not “no cost”), and that any modified or extended versions of that program are also free. This is one of the common methods for making requests.

The non-copyleft license is adopted by the BSD-2, BSD-3, BSD-4-clause, and MIT licenses, and does not require disclosure of source code. Non-copyleft is known as the least restrictive license in open source.

A quasi-copyleft license requires disclosure of the source code of any copies or modifications. However, with quasi-copyleft, there is no need to disclose the source code, or embed it when using or incorporating it without modification.

License Typology View source code
GPL Copyleft Yes
M.I.T. Non-copyleft No
EUPL Copyleft Yes
AGPLv3 Copyleft Yes
Apache Non-copyleft No
MPL (Mozilla Public License) Quasi-copyleft No

It is important to understand the license type of the OSS you are planning to use. Violating the OSS license is a violation of copyright law, so you must be careful about the license when developing.


CircleCI for open source development 

Optimize your open source development builds with the industry-leading CI/CD platform.

Deploy for free now


Summary

Open source software (OSS) brings many benefits to both developers and users, but the conditions vary depending on the license type. Take some time to learn the basics if you plan on using OSS. If you want to release your own OSS application, be sure you understand both the risks and rewards of releasing a development project this way.

OSS development reference