Home>
Open source
02
According to the official definition of the Open Source Initiative, free access to the source code alone is not enough for a program to be considered open source software. It must comply with the following criteria:
Free redistribution
The license must allow anyone to redistribute the software or sell it as part of a distribution. But no royalties or license fees may be charged.
Source code
The source code of the software must be available in a clearly readable form.
Derived works
The license must allow modifications and derived works and permit their redistribution under the same terms as the original software.
Integrity of the author’s source code
While the license must permit the distribution of software with modified source code, it may require that derived works carry a different name or version number.
No discrimination against persons or groups
The license must not discriminate against any person or group of persons.
No discrimination against fields of endeavor
The license must not restrict the use of the software for certain purposes or fields of endeavor, such as being used in a business.
Distribution of license
The license must apply to everyone to whom the software is redistributed. No additional licenses may be issued.
License must not be specific to a product
The license must not depend on whether the software is part of a particular distribution. It must also apply if the program is used independently or redistributed together with other software.
License must not restrict other software
The license must not place restrictions on other software that is distributed with the licensed software.
License must be technology-neutral
The license must not restrict the distribution of the software to a specific technology.
03
Synonymous with open source software, the term “free software” is also frequently used. Both terms embrace the same main idea of freely accessible software – analogous to the free exchange of knowledge and ideas. According to the Free Software Foundation (FSF), however, there are clear differences in the underlying philosophy: open source primarily concerns the practical advantages obtained from the method of open collaboration in software development. Also implicit in the term “free software” – which was coined in the 1980s – is a social movement that advocates freedom and justice.
According to the FSF definition, free software is software that respects users’ freedom and community.
In this context, “free” does not mean “free of charge” as in free beer or freeware, but should instead be understood as a matter of free speech. This roughly means that users have the freedom to run, copy, distribute, study, change, and improve the software.
This is in contrast to proprietary software, the use and distribution of which is severely restricted by legal provisions on the part of the manufacturer. The source code of proprietary software is not freely available and therefore cannot be viewed, modified, or redistributed. In addition, such proprietary software can usually only be used by paying for it. Only a right of use is granted in the form of a license. The software itself remains the property of the manufacturer, who holds the copyright and thus retains complete control over the product.
05
Open source software has a number of advantages. The most obvious is that it can usually be used free of charge because, unlike commercial software, no license fees have to be paid. In addition, there is no risk of vendor lock-in, which makes it difficult to switch to another product or vendor later on. Companies can modify open source software (or have it modified) to suit their needs, depending on the underlying license, to create custom solutions.
Another key advantage is the generally high level of commitment on the part of the developer community. Since many independent developers work together on the code and check it continuously, errors and vulnerabilities are often found and eliminated quickly. This has a positive effect on the quality, stability, and security of the software.
An overview of the advantages of open source software:
No royalties or license fees
No dependence on a single manufacturer
Transparency from insight into the source code
Interoperability through open standards and file formats
Software can be flexibly adapted to individual needs
Fast and efficient troubleshooting due to the “many eyes” principle and swarm intelligence
High level of IT security because anyone can check the code for vulnerabilities or backdoors
Savings through shared development costs in open source projects
Lower development costs through the use of OSS components
Accelerated innovation because not all parts of a software program need to be rewritten and companies can try different solutions with no cost risk
07
Actively maintained open source software is generally considered to be at least as secure as proprietary software. Its greatest advantage is transparency: since the source code is freely accessible, any person with the necessary programming skills can check the code themselves instead of having to rely on the manufacturer’s assurances of security.
In this context, critics of open source argue the exact opposite, that free access to the source code makes it easier to sneak in malicious code. According to “The 2020 State of the Octoverse” report from the GitHub distributed version control and source code management platform, however, only 17 percent of all security vulnerabilities in open source software were attributable to malicious tampering with the code (e.g., attempted installation of backdoors), the remaining 83 percent were the result of programming mistakes. As a rule, thanks to the “many eyes” principle, such problems and vulnerabilities are quickly detected and promptly fixed by the developer community.
In addition, the developers of open source software, who are usually known by name, are also concerned about their reputation and do not want to be associated with malicious code. For this reason alone, security has always been a high priority in open source projects. That does not mean that open source software is secure per se. But trustworthy projects with a controlled development process and a committed community deliver products that are at least as secure as those released by manufacturers of proprietary software.