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+.
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.
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
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.