Libreguide.org

GPLv3, Section 2, Basic Permissions and the Irrevocable GPL

Table of Contents

2. Basic Permissions

Section 2 of GPLv3 covers the fundamental permissions granted by the GPL to each recipient of the work. Here is the text of section 2 of GPLv3 in its entirety:

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

There is a lot going on here, and so we'll tackle each part in turn.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.

The GPL is irrevocable. This was understood to be true of GPLv2 and is now explicitly stated in GPLv3. If you license your work under the GPL and give someone a copy, you cannot later revoke the permissions the GPL grants them, as long as they remain in compliance. This is critical, and without this there would be a shadow cast over anyone using GPL'd software.

This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work.

GPLv3 clearly states that running the unmodified software isn't limited, restricted, or controlled by the GPL. If you are a careful reader you may be thinking But what about running a modified version? We'll come across the conditions for a modified version later on.

The GPL licenses applied to the software doesn't affect the license of the output produced by the software unless there some other reason reason that would be the case. For example, playing music using a GPLv3-licensed music player doesn't affect the license of the music. Generally speaking: the license of what goes into a piece of software is the same as what comes out (there are exceptions, of course.) Parallel terms can be found in section 0 of GPLv2.

This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

The GPL cannot and should not restrict the rights of copyright fair use.

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force.

This part clarifies that you may make in house, or internal, copies of a work and run those copies freely. However, the rights to internal propagation and modifications are only in effect as long as your rights have not been termination (see section 8). Your rights to modify the program, even privately, can be curtailed if your rights under the GPL have been terminated by a violation of the license.

You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

GPL affrims your freedom to develop and run a work privately, and this extends this freedom to include working privately with contractors and their like. This means that you can hire a contractor to do private development work, under the terms of the GPL, just as long as you are the sole copyright holder of the work in question. Morevoer, it makes clear that those contractors can give copies to subcontractors, data-centers, etc. to do the work on your behalf under those terms.

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

GPLv3 now moves out of the realm of private running and modification and into the realm of distributing copies to the world at large.

The note about sublicensing may be obtuse to the casual reader and so warrants a bit more explanation: if you get some work with a non-GPL license which grants you rights A, B, and C, and you then further distribute that work but only grant the recipient rights A, and B, then you've sublicensed the work. The license you gave is lesser, sub (literally meaning beneath), than the one you received. But the GPL doesn't work like that. When you receive a work under GPLv3 then under section 10 you automatically receive all of the rights granted in the license. Similarly, when you further distribute that work, then once again under section 10 the recipient receives all of the rights you did. Every licensor gets the same rights; no sublicensing.

Conclusion

Copyright © 2021-2023 Yoni Rabkin
I am not a lawyer, the above is not legal advice.
This work is licensed under the GNU General Public License, Version 3, or (at your option) any later version
Generated by blaze version 1 on 2023-12-11T17:13:33-0500, build number 18.
$ git clone https://git.sr.ht/~yrk/blaze