052.1 Lesson 1
Certificate: |
Open Source Essentials |
---|---|
Version: |
1.0 |
Topic: |
052 Open Source Software Licenses |
Objective: |
052.1 Concepts of Open Source Software Licenses |
Lesson: |
1 of 1 |
Introduction
Any software developer appreciates when a problem has been efficiently solved before. If the solution is available online, the understandable reflex is to try it out: to copy or link the existing source code into one’s own code base, test it, and leave it there if it works — and then to forget about it.
But some caution is in order. More often than not, software source code available on the internet is covered by a free and open source (FOSS) license. This chapter will go into some basic concepts of FOSS from a legal standpoint and why it is a good idea to not take FOSS source code for granted, but rather to closely observe the licensing conditions.
As a basis for understanding your legal obligations in software, understand that a license governs almost all software. A license is a kind of contract. All software, including web sites, should be distributed with a written version of its license (often called “terms and conditions”). Some programs and web sites make you check a box saying that you have read their terms and conditions (and you should, although most people never do). In any case, you implicitly accept the license by using the software.
Definitions of Open Source Software and Free Software
Free and open source software has been around for quite some time, and the terms are often seen together. However, there is some discrepancy between what some declare to be “free software” and the formal meaning of free software, as well as open source software. Spoiler: “Open source” does not just mean that anyone can look at the source code — that would be “source available” software. Free and open source software is much more than that.
Free and open source software is contrasted with other kinds that are considered proprietary or closed source because they don’t offer all the freedoms discussed in this lesson.
Perhaps the most cited definition of free software is:
Think of “free speech,” not “free beer.”
Selling Free Software
We’ll unpack the fertile brew in that statement during the following sections.
Free as in Speech: True Freedom for Users
On the one hand, developers can decide to simply forego the rewards and difficulties of selling their software, and just give it away without compensation. In English this software is “free” in the sense that no one has to pay for it, but free only like beer that is given away. This no-cost distribution says nothing about further licensing conditions, and leaves the user with the obligation to always take a closer look: They might not have been granted the necessary rights to change or further distribute the software, for example.
On the other hand, developers can opt to make their software “free software” in Stallman’s sense. This term (which he coined in the 1980s) refers to the user’s essential freedoms summarized as follows:
-
To run the software
-
To study it
-
To give it to others (redistribute it)
-
To redistribute copies of the modified versions
“Free software” in this definition is championed by the Free Software Foundation (FSF) which introduced the term copyleft (which has no legal meaning, but presents a philosophical consideration) to characterize the license on free software.
Open Source Software
Out of the free software movement, open source advocates arose in the late 1990s as a way to make free software easier to understand and more popular among people outside the movement. A nonprofit foundation, the Open Source Initiative (OSI), was founded in 1998, and Linus Torvalds, initial author of the Linux kernel, gave his support to the concept. The Open Source Initiative formalized the Open Source Definition to include the following criteria:
-
Free redistribution: One is free to decide how to redistribute the program, whether cost-free or for sale, so long as no royalty or license fee is demanded. This freedom includes incorporating the program into another program.
-
Source code availability, be it online or provided along with the software.
-
Allowing the creation and distribution of derived works and modifications.
-
Integrity of the author’s source code: Modifications can be restricted if recipients are allowed to modify the program through patches at build time and to distribute these patches along with the source code. The distribution of software built from modified source code may not be restricted.
-
No discrimination against persons or groups: For instance, a license with permission for use of the software by “teachers only” would not satisfy the Open Source Definition.
-
No discriminations against fields of endeavour: For instance, do not restrict commercial use.
-
Distribution of license: Everyone who receives the program has the same, original license.
-
License must not be specific to a product.
-
License must not restrict other software: For instance, other software bundled with this software could have a different license.
-
License must be technology-neutral.
Freedom vs Open Source
The Free Software Foundation did not endorse the term “open source,” insisting that it hides the key goal of freedom. Thus, while advocates of free software and open source software seem to be pursuing and advocating for the same concept, the movements have separate motivations. Stated in a simplified form, free software advocates emphasize the rights of developers and users, whereas open source advocates prioritize the software’s widespread use and success.
Pretty much all free software qualifies as open source, while there are many licenses that are considered to be open source (as approved by OSI) but are not free according to the FSF.
Because the differences between free and open source concern goals and motivations more than the content of the licenses, and since both terms remain in frequent use, many advocates refer to both definitions together using the phrases free and open source software (FOSS) or free/libre and open source software (FLOSS). The term “libre” refers to freedom in many Romance languages.
Other Kinds of Monetarily Free Software
In addition to the broad categories of FOSS and proprietary software, a range of other distribution strategies exist. Some of these strategies are:
- Shareware
-
This term generally refers to proprietary software that is for sale, but can be used for free with limited functionality until the user decides to buy the full version.
- Freeware
-
This term describes software that is distributed free of cost and without limitation on use, but not necessarily in comformance with a formal definition of the free software. Freeware in many cases is proprietary and the source code is often not released at all.
- Source available software
-
Sometimes the developers of proprietary software make their source code available (to facilitate better bug reports, for instance), but impose acquisition of a proprietary license as a condition on the use of the source code in other projects. This kind of availability with strict limitations should not be confused with actual open source software.
- Shared source software
-
This term was introduced by Microsoft in 2001, when the company decided to make some of their software source code available online for research and testing. Don’t confuse this narrow definition with shareware or source available software.
- Public-domain software
-
This is software on which the authors have waived all copyrights. This definition does not apply in all jurisdictions (especially with those where the author is granted rights of “droit d’auteur” or “author’s rights,” as in France or Germany). Licenses such as the “Unlicense” have been introduced, which are meant to have the same effect. Moreover, software may also enter the public domain when the duration of copyright has expired.
Principles of Copyright Law and How They Are Affected by Open Source Software Licenses
First and foremost: If there is no license information available for a certain source code file or project, you cannot assume that the file or project lacks copyright protection. Indeed, the contrary is the case, at least since most nations worldwide signed the Berne Convention since 1887.
In this treaty, the signatory nations agree that a literary or artistic work is protected by copyright as soon as it exists (or in other words, as soon as it is “fixed” into a medium). That means that an author does not have to register or apply for copyright. They still can do so in some countries, and registration might be necessary for infringement actions in some jurisdictions including the US.
Also, the signatories agree to respect the copyright of any author of another signatory country, which, as of November 2022, amounted to 181 of the 195 countries in the world.
However, not everything ever created is copyright protected. In order to qualify as a work protected by copyright, the creation needs to satisfy some basic criteria: For example, facts and ideas cannot be protected by copyright, but a text explaining an idea may be protected if it reaches a certain degree of originality. The measure of originality differs around the world, but in many cases, the barrier for protection is very low. Many jurisdictions are currently considering how much artificial intelligence can be used to create a work deserving of originality and hence copyright.
Depending on the jurisdiction, computer programs are protected by copyright as literary works: That is, copyright does not apply to the idea or algorithm but to its implementation in source code.
Copyright gives the author the exclusive rights (among others) to copy, modify, sublicense, distribute, and publish the work. Reception of the work is free, so one does not need a license to read a book or to listen to a song on the radio, as long as doing so does not require making a permanent copy.
Because the author’s rights come into being without the need for registration, anyone who wants to copy, modify, sublicense, distribute, or publish the work of another author has to get permission first. This is where licenses come into play, as contracts between the author of a work and a person who wants to exercise some of the exclusive rights of the author.
FOSS licenses are offered to anyone without a fee. Anyone can create their own license and try to get it approved by the OSI or FSF. But using an existing FOSS license is highly recommended because of their general acceptance and the familiarity that knowledgeable software users have with the contents of the license and its obligations. In fact, only a handful of the many licenses approved by the FSF or OSI are in common use.
Principles of Patent Law
In contrast to copyright, which does not protect ideas, patents protect inventions (ideas) without the need for the idea to be fixed (yet) in a machine or process. A further difference is that inventors must apply for patents explicitly and register them with the patent office of the country where protection is sought.
Without diving too deeply into patent law and its requirements, we’ll just point out a very central issue: Patent protection requires (among other criteria) an idea with a certain technical aspect. Historically, the ideas for a new meal recipe or a new board game do not qualify for patent protection, whereas the ideas for a new cooking machine or a game console might qualify.
In the context of computer programming, the question arises whether software could be subject to patent protection. This depends on both the legal jurisdiction and the particular application: For example, in Germany, computer programs as such are generally excluded from patent protection. However, if programs are combined with a physical object — e.g., when software controls an automated braking system in a car — patent protection can be sought for the application including the physical element of the brake and not the software as such, and might therefore qualify.
In other jurisdictions, such as the US, patents may be granted for computer programs as such, depending on case law developments.
The concept of patent protection should be kept in mind in FOSS licensing. Some licenses (such as the GPLv3) allow patents on the FOSS software by explicitly granting permission for the software’s use. But some licenses do not even mention patents (such as the BSD-3-Clause license) and yet other licenses explicitly exclude them (such as the Creative Commons licenses). However, under certain circumstances, patent grants may be implied by the license or may be read into the license.
Note
|
The different FOSS licenses are covered in subsequent lessons. |
Especially when dealing with embedded software, such as software in audio devices, special attention should be paid to patents connected with the software, e.g. by conducting patent checks on authors of the software.
Licensing Contracts
As mentioned before, licenses are contracts between the author of a work and someone who wants to excercise some of the exclusive rights of the author. Some of the more extensive FOSS licenses, such as the GNU General Public Licenses version 2 and version 3, include provisions for contract termination. FOSS licenses always include rights grants regarding the central freedoms. Usually, the following rights are stated or can be read into the license text:
…the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software…
License stewards are persons or, in many cases, organizations such as the FSF, who manage versions of the licenses. For example, section 9 of GPLv2 declares the FSF to be the license steward:
The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Some license stewards also publish frequently asked questions (FAQs) to help answer questions regarding the licenses. These can be useful as a conversation starter between licensee and licensor.
Distribution
Distribution of software (in binary or source code form, in particular) is a central aspect of most FOSS licenses, since mere use of FOSS software usually does not trigger any licensing obligations:
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted…
Most licensing obligations arise only with distribution, i.e., passing on a modified or unmodified copy, be it on a tangible medium such as a CD or via download. In some cases, licensing conditions are also triggered if software is running on a server (i.e., without ever distributing the source code) while the user interacts with the software.
Distribution of executable software might require the delivery of the source code, license text, and copyright notices as well, depending on the FOSS license type. Some licenses require modification notices to be put in the source code if modified code is being distributed.
Distribution could also trigger copyleft effects; i.e., upon distribution of GPLv3 licensed software that has been modified, the source code of the entire modified software may have to be released under the GPLv3.
While FOSS may be sold, usually no licensing fees may be imposed. This means, for instance, that someone can sell software under the GPLv3 license as just a binary, but since the source code is available (or has to be offered), people interested in the software can always opt to obtain the sources (perhaps from somebody else, for free) and to build the software from the sources.
Derivative Works
When one set of developers incorporate code into their own project from someone else’s project, the result might be a derivate or derived work. The details vary from one project to another and from one license to another, and because the details require some sophistication with software development techniques, we’ll just say that the developers have to make sure they are incorporating the code in a way that conforms to the license.
The most important issue regarding derivative works is that, for some licenses such as the GPL, a derivative work must be released under the same license. Such licenses are called reciprocal.
The immediate practical significance of a reciprocal requirement is that, if you use GPL’d code in your own project in a way that makes yours a derivation, you have to reveal your source code and let others build products on it. This licensing requirement is highly desired by some developers who want to encourage more people to use free licenses. However, the license reduces the appeal of the GPL for some developers who might potentially use free code.
Many other free and open source licenses do not impose that requirement. These tend to be called permissive licenses.
Consequences of License Violations
If, at the time of distribution, licensing conditions are not met (e.g., if GPLv3 licensed software distributed as a binary is not accompanied by an offer of source code), the licensing contract is violated. The consequences of licensing violations depend on the license. Violation of the GPLv3 license, for example, may lead to termination of the license. Any further actions that require permission by the author, e.g. distribution of the software, then constitute copyright violations.
If a company includes GPLv3 licensed software in a product and violates the license, a claim may be filed requiring the company to recall their products. Intentional copyright violations can even lead to criminal charges.
Some licenses have specific clauses allowing the licensee to fix the violation within 30 days of notification. If the person distributing the software manages to comply with the license within this period, the license is reinstated.
License Compatibility and Incompatibility
Large software projects often include software under different licenses, each license specifying its individual requirements. Such projects can come up against hurdles using software that requires its license to be used on derivative works. This is because the licensing terms of such copyleft licenses may differ, rendering them incompatible. Publishing or distributing a software project that integrates components under different copyleft licenses might not be possible without violating one of the licenses.
Some copyleft licenses explicitly list compatible licenses making it easier to use a copyleft-licensed component under another copyleft license.
Most permissive licenses are compatible with other licenses. For instance, MIT-licensed components may be used in a GPLv3 licensed project without risking licensing violations. However, a GPLv3 licensed component may not in every case be used in a MIT licensed project without violating the terms of the GPLv3. Compatibility might therefore not always work both ways.
Before a software project is put into the market, developers and their legal advisors should conduct a thorough license compatibility check, to avoid running into licensing violations. Open source compliance management should be integrated into the early stages of a software development process to avoid delays in software distribution caused for example by license incompatibility issues. Search the source code thoroughly for applicable licenses (e.g., by using software scan tools) and check whether all licensing conditions are met.
Dual Licensing and Multiple Licenses
Some software may be available under several licenses. For example, a licensor may choose to dual license their project under both a copyleft license such as the GPLv3 and a proprietary license. The proprietary license might be required, for instance, if the potential licensee incorporates the code into their own proprietary product. Each developer determines whether they can adhere to the GPLv3 conditions or must obtain the proprietary license, and most likely entail a licensing fee.
As pointed out earlier, some software may include components under various licenses with differing licensing conditions. Although most licenses do not often cause incompatibility, different licenses may come with different requirements for different parts of the software.
Guided Exercises
-
What does the acronym FOSS stand for?
-
Which of the following explicitly belong to the user’s essential freedoms for free software?
Run software
Study software
Copy software
Change software
Publish software
Redistribute software
-
Is source code found on the internet with no licensing information free for modification and distribution by anyone? Please explain.
-
Can software be patented?
Yes
No
It depends
-
What is a license steward?
The same as a licensor
Someone who may propose future versions of a license
Someone who may terminate a license
Someone who manages software of airplanes
-
Does license compatibility always work both ways?
Yes, if two licenses are compatible, it does not matter whether A is included in B or B is included in A.
No, in some cases license A may be included in a project under license B, but B may not be allowed to be distributed under license A.
No, license compatibility is always unidirectional.
Explorational Exercises
-
Are the GPLv2 and the LGPLv2.1 license compatible? Please give a short explanation.
-
Can software be published under Open Content licenses (such as CC-BY)?
Yes, CC licenses can be applied to any copyrightable work.
No, software may only be protected by patents.
No, CC licenses do not apply to software.
-
Why is distribution important in the context of FOSS licensing?
Summary
This lesson provides an introduction to the basic concepts of free and open source software as well as the underlying concepts of copyright and patents. It explains some of the foundations and history of both free software and open source software and helps distinguish both of those from proprietary licensing concepts. The Open Source Definition by the OSI helps categorize licenses as open source licenses.
While dozens of FOSS licenses already exist, anyone is free to introduce additional licenses.
The concept of licensing is not to be underestimated: Licenses provide permissions to deal with software in ways otherwise reserved exclusively to the author. Breaches of licenses can result in legal disputes. Legal advice regarding license compliance should therefore be sought before software is distributed or incorporated into other project code.
Answers to Guided Exercises
-
What does the acronym FOSS stand for?
Free and Open Source Software
-
Which of the following explicitly belong to the user’s essential freedoms for free software?
Run software
X
Study software
X
Copy software
Change software
X
Publish software
Redistribute software
X
-
Is source code found on the internet with no licensing information free for modification and distribution by anyone? Please explain.
No. Source code, if it reaches the threshold of originality, is by default copyright protected as a literary work. Since modification and distribution constitute exclusive rights of the author, no one but the author may do so or give permission to do so.
-
Can software be patented?
Yes
No
It depends
X
-
What is a license steward?
The same as a licensor
Someone who may propose future versions of a license
X
Someone who may terminate a license
Someone who manages software of airplanes
-
Does license compatibility always work both ways?
Yes, if two licenses are compatible, it does not matter whether A is included in B or B included in A.
No, in some cases license A may be included in a project under license B, but B may not be allowed to be distributed under license A.
X
No, license compatibility is always unidirectional.
Answers to Explorational Exercises
-
Are the GPLv2 and the LGPLv2.1 license compatible? Please give a short explanation.
If software A is licensed under the GPLv2 and software B is licensed under the LGPLv2.1, it is possible to use B in A, since LGPLv2.1 allows for use under the conditions of the GPLv2 license. However, A cannot be used in B under the terms of the LGPLv2.1. If A is being used in B, the entire software has to be licensed under the GPLv2, which is possible, because LGPLv2.1 allows for the software’s use under the GPLv2.0.
-
Can software be published under Open Content licenses (such as CC-BY)?
Yes, CC licenses can be applied to any copyrightable work.
X
No, software may only be protected by patents.
No, CC licenses do not apply to software.
-
Why is distribution important in the context of FOSS licensing?
Many FOSS license obligations are triggered upon distribution of the software. If software is never distributed, but only changed and used in a closed system (such as a division of a company), it may be possible to use the software without adhering to the licensing obligations.