Legal issues in Free Software

Frequently Asked Questions on Free Software Licensing

This page aims to cover the most frequently asked questions about Free Software (also known as Open Source), copyright, and licensing. For more in depth information about REUSE, please also look at the FAQ page of our REUSE project. If you need more in depth general information about Free Software licensing, please also refer to our general Free Software legal documentation, prepared for the Next Generation Internet Zero initiative. If your question is not covered here or in any of our other resources, you can consider asking our Licence Questions team.

The Basics

Licensing

License Compatibility

Free Software

What is Free Software

A short explanation about Free Software is available here.

The term “Free Software” is a regulated term created by the Free Software Foundation. It refers to software that enables its users to maintain their control and freedom over how to use such software. More specifically, Free Software is defined by users being able to enjoy the four essential freedoms: the freedoms to use, to study, to share, and to improve the software.

Freedom to Use

Installing and running the program is not restricted. Placing restrictions on the use of Free Software, such as time ("30 days trial period", "license expires January 1st, 2004"), purpose ("permission granted for research and non-commercial use", "may not be used for benchmarking"), or geographic area ("must not be used in country X") makes a program non-free.

Freedom to Study

Placing legal or practical restrictions on the comprehension or modification of a program, such as mandatory purchase of special licenses, signing of a Non-Disclosure-Agreement (NDA) or - for programming languages that have multiple forms or representation - making the preferred human way of comprehending and editing a program ("source code") inaccessible also makes it proprietary (non-free). Without the freedom to modify a program, people will remain at the mercy of a single vendor.

Freedom to Share

Software can be copied/distributed at virtually no cost (i.e. license fees and royalties are not permitted). If you are not allowed to give a program to a person in need, that makes a program non-free. This can be done for a charge, if you so choose.

Freedom to Improve

Not everyone is an equally good programmer in all fields. Some people don't know how to program at all. This freedom allows those who do not have the time or skills to solve a problem to indirectly access the freedom to modify. This can be done for a charge.

These freedoms are rights, not obligations, although respecting those freedoms for society may at times oblige the individual. Any person can choose to not make use of them but may also choose to make use of all of them.

Free Software does not exclude commercial use. If a program fails to allow commercial use and commercial distribution, it is not Free Software. A growing number of companies base their business model completely, or at least partially on Free Software, including some of the largest proprietary software vendors. Free Software makes it legal to provide help and assistance; it does not make it mandatory to do so.

Free Software is therefore a matter of liberty, not of price; the word “free” in Free Software means “free” as in “free speech”, not as in “free beer”.

What is Open Source software?

You might have also come across the term “Open Source” software, which was created as a synonym for Free Software in 1998. The term also describes the complete set and range of software licenses that give users the right to use, study, share, and improve the software. The term “Open Source” is regulated by the Open Source Initiative (the OSI), which states that “Open Source” (Free Software) doesn't just mean access to the source code, but must comply with the following criteria:

You can refer to a list of OSI approved Free Software licenses here.

What is proprietary software?

Proprietary software is the opposite of Free Software. This term is used to refer to software that is distributed under restrictions that prevent users from enjoying the four essential freedoms. Even software that is distributed gratis can be considered proprietary, if its restricts users from any of the four essential freedoms.

The term “commercial software” is sometimes used carelessly to refer to proprietary software. This would be incorrect: as explained below, Free Software does not exclude commercial use.

How can Free Software be used commercially?

Free Software can be sold, as long as the buyers are not restricted from sharing copies of the software after their purchase. Hence, requiring a fee for any copy distributed by the user is not permitted. Free Software can also be commercialized in other ways, such as by selling support, services, and certification. Free Software remains free as long as the four essential freedoms outlined above are afforded to users.

Copyright is a legal construct that grants someone exclusive rights over a creative work. The most important exclusive right is in the name: the right to produce copies. Only the copyright holder is allowed to reproduce a work and to give new copies of their work to third parties. Additionally, the copyright holder has the exclusive right to modify the work and to make it publicly available (e.g. offering it up for download).

Usually, the author is the copyright owner, but copyright is often transferred to the author’s employer, in many cases automatically. This is often stated in an employee’s employment contract.

You do not need to do anything to gain copyright. As soon as you make a creative work, you (or your employer) inherently possess the copyright over it.

Can I copy someone else’s work?

If someone else has made their work available for you under a Free Software license, you can incorporate their work into your project.

When you put the work in one of the files in your project, you should add an SPDX-FileCopyrightText tag for the copyright holder(s) and an SPDX-License-Identifier tag for the license(s) under which the work was made available. You can learn more about how to do this with our REUSE initiative.

Can I copy a work that has no copyright notice or license?

Before you proceed, always first make sure that you can find the copyright and licensing information elsewhere. Some projects only include this information in the root directory or in their README file.

If the work has no license, that means that you do not have the right to copy it, or it is in the public domain. If you believe that this is a mistake and the author clearly meant for you to be able to copy this work, you should contact the author and ask them to license their work. Feel free to refer them to our REUSE initiative on the best practices to do this.

Which files are copyrightable?

All files that are original works of authorship are copyrightable. In essence. If someone sat down typing their own original thoughts on a keyboard, then that person holds copyright over the output. Common examples are source code, documentation, audio, and video.

However, there are some edge cases. For example, the program

print("Hello, user!")

probably does not meet the threshold of originality because it is too trivial. Similarly, data files and configuration files may not meet that threshold either.

What is a copyright holder, and what is an author?

In these resources, we maintain a distinction between the copyright holder and the author. The author (also known as creator) is the person who sat down and created a work. Think of the author as a programmer, writer, or artist.

The copyright holder is the person who has the exclusive rights over that work. Often the author and the copyright holder are the same. However, if the author is being paid by their employer to create a work, the employer is the copyright holder.

Keep in mind that in some jurisdictions, the word "author" is often used as a synonym for "copyright holder". In other jurisdictions, authors maintain some rights over their work even if they are not the copyright holder.

What is public domain?

The public domain consists of all the creative work (including software) to which no copyright applies. The rights to these works may have expired, been expressly waived, or may be inapplicable. As rights vary by country and jurisdiction, the Creative Commons CC0 1.0 Universal (CC0) License can be used to waive copyright to the extent you may have these rights in your work.

Please note that the absence of a license does not make a software free to use. Software is copyrighted by default, so unless it has been explicitly and validly placed in the public domain, using code without a license may be considered copyright infringement.

Licensing

What is a license?

One problem with copyright (as it relates to software) is that it makes software unshareable by default. A license changes that. A license defines the terms under which the copyright holder allows the recipient of the license to use (i.e. to run, copy, distribute and/or modify) the software. If the license allows the recipient to use, study, share, and improve the software, then that software is Free Software.

What is a software license?

Generally, a license is an authorization to use, release, or distribute someone else’s property. This includes intellectual property such as a piece of text, a song, or software.

Software licenses tell people how the rights holder (usually the author of the software) wants the software to be used and what freedoms, or restrictions, the software has. Without a license, any use of the software is prohibited by default except in the case of a statutory exception to copyright.

Please note that the absence of a license does not make a software free to use. Software is copyrighted by default, so unless it has been explicitly and validly placed in the public domain, using code without a license may be considered copyright infringement.

Are there different types of software licenses?

Yes. Software licenses can be classified according to the rights granted or retained by the copyright owner. When the owner of a software waives all of these rights, the software is in the Public Domain. Please note that a complete waiver of copyright may not work in all jurisdictions. For such cases, use of the CC0 License achieves this goal practically.

If a software is under a proprietary license, only a few rights are granted; for example, the right to use program but not to distribute copies of it. If the license grants the four essential freedoms to use, study, share and improve the software, it is a Free Software license. You can find here lists of Free Software licenses evaluated by the Free Software Foundation and approved Free Software licenses by the Open Source Initiative. For other license categories, here is a list prepared by IfrOSS.

What is copyleft?

Copyleft is a form of Free Software licensing that gives permission for a user to enjoy the four freedoms of Free Software, under the condition that those freedoms remain intact in further distribution of the software or derivative works. That’s why copyleft licenses are also called “reciprocal licenses”. This is in contrast to “permissive or non-reciprocal” licenses, which, unlike copyleft licenses, allow the creation of derivative versions of the software with different license terms from the original, which can in some cases result in a derivative work being placed under a proprietary license.

In practical terms, having a copyleft license would generally mean that the derivative and/or combined work has to be licensed under the same license as the original work. As a result, this ensures that a copylefted piece of Free Software can remain free, and cannot be transformed into proprietary software.

An example of a copyleft license is the GNU General Public License. Under this license, derivative works can only be distributed under the same license terms. This is distinct from permissive (non-reciprocal) licenses, which include the commonly used MIT License and Apache License 2.0.

Can I write my own Free Software license for my work?

Anyone can write their own Free Software license to dictate the terms and conditions of use of their work. However, we strongly recommend you to use an existing well-known license, instead of making up your own.

Licenses should be written to apply in complex legal issues, and people are more likely to use works under established and existing licenses whose legal effects are well known and have been clearly documented. The legal effects of a new license would be ambiguous, and this would have the effect of discouraging users from adopting your software.

Another reason to not write your own license is to prevent license proliferation. There are already numerous licenses available with very similar terms, which are often incompatible with each other. The standardization of license terms can make things easier for everyone. Conversely, inventing a new license would make it harder for the community to keep track of all available licenses and would be a hindrance to developers who simply want to combine code under different licenses.

What should I consider when choosing a license?

Having a Free Software license is the best way to protect your project’s contributors and users. A license can determine the way people contribute to the project and how the software will be used and shared.

If you are taking part in a project that has already determined which licenses to use, the best way to contribute is to continue using that project’s license. Some communities have strong preferences for particular licenses. If you want to participate in one of these communities, it will be easier to use the preferred license even if you’re starting a brand new project with no existing dependencies. However, if you don’t see your project as part of a community, you have more flexibility with which Free Software license to choose.

There are two objectives to pursue with a Free Software license:

  1. Make the code as simple and permissive as possible. If you plan to let people and organisations to use your code in the most simple way, lax permissive licenses let people do almost anything they want with your project, including to make and distribute closed source versions.
  2. Protecting the code’s freedom. Copyleft protects software freedom, permitting people to do almost anything they want with your project, except to distribute proprietary versions.

License Compatibility

What does it mean to say that licenses are compatible?

When your project combines two pieces of Free Software into one, or merges code from one into another, it is important to pay attention to whether the licenses of each software or code allow this combination, or prohibit it. If the licenses allow it, the licenses can be said to be “compatible” with one another.

If they prohibit it, the licenses can be said to be “incompatible” with one another. In other words, we say that several licenses are compatible with each other if if it possible to combine code under these different licenses, while still complying with the terms and conditions of all of these licenses. It is therefore important that, when you incorporate existing code from a third party, you ensure that the license of that third party code is compatible with the license that you intend to issue your software project under.

Being compatible also means that code under one Free Software license can be combined with code under another, and the resulting software can be distributed under either Free Software license without violating the terms of the other.

Using incompatible licenses may result in copyright infringement.

Can code covered by Free Software licenses be used in proprietary software?

Generally, Free Software licenses allow anyone to modify the code covered, and to redistribute it in both its original and modified form. In principle, this could result in redistribution of the code and its derivative works under a proprietary license.

What are permissive licenses?

Permissive Free Software licenses (also known as non-copyleft licenses) allow their code to be used in proprietary derivative works. In such a case, the derivative work will still be proprietary, not withstanding that it contains code from a source that is covered by a Free Software license. Examples of permissive licenses that allow covered code to be used in proprietary derivative works include the Apache license, the MIT license, and BSD licenses.

Conversely, copyleft licenses like the GNU General Public Licenses (GPL) require that any derivative work must be distributed under the same terms, and be Free Software as well.

Are all Free Software licenses compativle with each other?

No. While all of the commonly-used permissive Free Software licenses are compatible with each other, copyleft licenses (that do not allow their covered code to be used in proprietary software) can and are prone to creating license incompatibilities, depending on each unique situation and the licenses involved.

What kind of licenses are compatible with permissive licenses?

Probably all permissive licenses are compatible with each other, as they do not contain inconsistent provisions. Different license conditions must be met cumulatively.

What kind of licenses are compatible with permissive licenses?

Because copyleft licenses provide that derivative works may only be used under the same license conditions, copyleft licenses are only compatible with other Free Software licenses when one of the following conditions is met:

  1. The other Free Software license does not contain any license requirements that are not provided by the compatible copyleft license. This is the case with the BSD license without an advertising clause, whereas the BSD license with an advertising clause contains an information requirement that the GPL and other copyleft licenses do not provide.
  2. The other Free Software license contains a special compatibility or opening clause. This is the case for example in sec. 3 of the LGPL Version 2.1, that permits the use of LGPL code under the GPL. GPLv3 contains a compatibility clause for the Affero GPL and opening clauses for Apache license 2.0 and other licenses. The European Public License (EUPL) and German free software license (d-fsl) contain compatibility clauses for the GPL.