Extensions required to be GPL v2+?

We started discussing it here GPLv3 extension and extensions.gnome.org

Now the checkbox on GNOME Shell Extensions page has changed to:

By uploading this extension I agree and verify that in any controversial case regarding the compatibility of extension’s license with the GNOME Shell’s license, the extension uploaded by me may be used by any GNOME Shell user under the terms of the license used by GNOME Shell

It means under GPL v2+ terms? And thus GPL v2 if the user wants to?

My extension uses code from GNOME Terminal (translated from C to JS) - which is GPL 3+. Also, other people contributed to it, under GPL 3+. So I can’t change the license to 2+.

So it can’t be published on extensions.gnome.org anymore?

GPLv3 falls under the “GPLv2 or later” clause.

What you cannot do is:

  • use a license that is not compatible with GPLv2
  • use GPLv2 only

as the aggregate of GNOME Shell + your extension may be released under the same terms of GNOME Shell, so “GPLv2 or later”.

2 Likes

GPLv3 falls under the “GPLv2 or later” clause.

Yes. “GPLv2 or later” effectively means “GPLv2 or GPLv3, at the user’s decision”, unless I completely misunderstand something.

as the aggregate of GNOME Shell + your extension may be released under the same terms of GNOME Shell, so “GPLv2 or later”.

How? My understanding is that the combination can only be released under “GPLv3 or later” - because GPLv2 isn’t allowed by one of the parts - no?

And the text on the upload page reads like I must grant the permission to use the extension under “GPLv2 or later” - “GPLv2 or GPLv3, at the user’s decision”, both versions must be allowed.

Sorry, I was imprecise:

  • the aggregate of (GPLv2-or-later for GNOME Shell, GPLv3 for the extension) would be released under GPLv3
  • in order for the aggregate to be released, it means that the license of the individual components must be GPLv2-or-later, which includes GPLv3 or any GPLv2-compatible license
1 Like

Ok, this is exactly how I understand it.

Now the question is: why the aforementioned text on GNOME Shell Extensions requires me to permit use of the extension “under the terms of the license used by GNOME Shell” - which is “GPLv2+”, not “GPLv3+”? And why is it so… obfuscated? Now it avoids mentioning any license explicitly at all.