Definition and history
In software development open source means that the source code of open-source software (OSS) is publicly available and can be duplicated and modified by anyone. Often, open source is used as a synonym for Linux, which was created in the 1990s. However, OSS has been around much longer. The concept was developed as early as the late 1960s and early 1970s. Since then, the importance of OSS has steadily increased. Thus, OSS has evolved from a niche to the point where modern software development would not be as efficient as it currently is without OSS. Details on the history and principles of open-source software can be found in our blog.
Open Source vs. Proprietary
The counterpart to open-source software is proprietary or closed source software, which must be licensed for use by a copyright holder. Therefore, it is forbidden to modify or copy the software. This fundamental difference between open and closed source software means that both types of software also have quite different strengths and weaknesses.
Advantages of open-source software
- No Vendor Lock-in: Open-source projects are started for one of two reasons. Either as an alternative for a proprietary software or simply because a need exists. In many cases, a variety of similar projects emerge, each with a slightly different focus, but similar enough to be able to switch between them. For source code management with Git, for example, there are widely used tools such as GitLab, GitHub or SCM Manager. In addition, there is always the possibility to continue a project yourself. This means that there is no risk of becoming dependent on one single provider.
- Low operating costs: Most open-source tools can be downloaded for free. There may be costs for using some tools, but these are usually lower than costs for closed-source products.
- Access to innovation: Customizations made to OSS by companies are usually made available to the community if they are not too specific. This allows other users (companies) to benefit directly from that development. New features and innovations are thus accessible.
- Customizability: Since open-source software can be adapted by all users, diversity is very high. This can result in either very extensive core functions or by a large number of plug-ins for the software.
- Quality: In addition to a high degree of diversity, OSS usually also has a high level of quality and security. This is because a large number of developers can directly review the architecture and code of open-source applications. In addition, open-source projects usually have strict processes for quality assurance, for example through reviews.
Although the principles are the same for all open-source projects, there are a variety of different licenses used for open-source software. The licenses differ in the conditions under which the OSS may be modified and reused. Very common are these licenses:
- Apache License 2.0
- BSD 3-Clause "New" or "Revised" license
- BSD 2-Clause "Simplified" or "FreeBSD" license
- GNU General Public License (GPL)
- GNU Library or "Lesser" General Public License (LGPL)
- MIT license
- Mozilla Public License 2.0
- Common Development and Distribution License
- Eclipse Public License version 2.0
Examples of open-source projects
For some people it might be surprising which projects are actually all open source and which companies are behind them. Therefore, here are a few examples:
- Linux (Red Hat)
- Git (GitHub)
- MySQL (Oracle)
- Docker (Docker)
- .NET (Microsoft)