Important note about licensing when forking extensions.

Add-ons for Pale Moon and other applications
General discussion, compatibility, contributed extensions, themes, plugins, and more.

Moderators: FranklinDM, Lootyhoof

User avatar
Pale Moon guru
Pale Moon guru
Posts: 34513
Joined: 2011-08-28, 17:27
Location: Motala, SE

Important note about licensing when forking extensions.

Unread post by Moonchild » 2021-03-17, 10:03

I'm dismayed to have to write this -- I assumed it was blatantly obvious.

Apparently there have been more than a few extensions that were impromptu re-licensed to different source code licenses when forking. Understand that you cannot do this! Many Open Source licenses are incompatible and simply re-licensing an extension under something you personally agree with more is not allowed (and that is a legal not-allowed, in case someone thinks we're "making draconic rules" again).

If you want to release something under your license of choice then you have to write your own extension from scratch. You aren't allowed to pick a license at will when forking because you must stay compatible with the original author's licensing! Otherwise you aren't allowed to use (any of!) the code of the original extension.

While you can, in some cases, re-license extensions, the rule of thumb is that you should avoid it, and only do so if you know exactly what you are doing and have investigated the option to change licensing to what you prefer as legally allowed (i.e. the licenses are compatible for your transition). Simply "upgrading" a license is also not always allowed so you have to be careful when even doing that. In case of doubt, ask your lawyer.

A few examples, off of the top of my head:
  • Pure MPL 1.0/1.1 -> any GPL license is not allowed.
  • MPL 1.1/GPL 2.0/LGPL Tri-license (a common license for very old extensions) -> MPL 1.1, GPL 2.0 or LGPL license is allowed.
    The forked extension will then be subject to the chosen singular license's terms.
  • MPL 2.0 -> any GPL license is not allowed.
  • GPL 3.0 -> any other license is not allowed. (GPL 3.0 is effectively a licensing dead-end)
  • MPL, GPL or Tri-license -> MIT, BSD or Apache is not allowed.
  • Pure MPL 1.1 -> MPL 2.0 is allowed with the note you should include "incompatible with secondary licenses" when you upgrade in most cases.
  • MPL 1.1/GPL 2.0/LGPL Tri-license -> MPL 2.0 is allowed but you must not include "incompatible with secondary licenses".
  • Any Open Source license -> Public Domain is not allowed.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

New Tobin Paradigm

Re: Important note about licensing when forking extensions.

Unread post by New Tobin Paradigm » 2021-03-17, 10:25

This is a fantastic primer on licensing. The only thing I would like to add is that GPL is whole project assimilative and MPL is per-file however mixing MPL into GPL will allow GPL to assimilate it but if it isn't your code you may not have the legal right to apply that dual license status to that code.

As far as I understand only the original developer and consent of all contributors to that file or chunk of code can agree to dual-license AND the code would STILL be subject to the original MPL. There may be other tidbits that modify my declaritive on this matter I am not aware of or taking into account so this whole specific case should be further commented on by a legal expert because it is very tricky. As Moonchild stated, it is best to avoid such circumstances.

Other than that I would like to remind everyone that names, logos, and graphical assets may NOT be covered under the same license or any license at all and unless explicitly stated or permission is obtained.. Forks should be very careful when it comes to non-code intellectual property.