When is GPLv2 used, and when is GPLv3 used?

License holders can choose if they want to use version 2 or version 3 of the software if the following reference is provided:

"this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.”

If there is no reference to the license version, you can also choose between version 2 and version 3.
The licenseholder is only restricted to a specific license version by the phrases "version 2 only," or version 2” without the added phrase "any later version".  This is the case with the Linux kernel that contains such a reference by Linus Torvalds in the COPYING file.  Source text under "version 3 of the license or (at your option) at any later version" cannot be introduced into the Linux kernel, and conversely, code that is licensed as "version 2 only" cannot be used in projects that are already licensed under GPLv3.  GPLv2 and GPLv3 are then incompatible (→ What is license compatibility?).
Next FAQ: With which licenses is the GPLv3 compatible?

Back to the overview of all FAQs