Once again recently I saw someone repeating a common presumption about "re-licensing". I'll try to explain my understanding of that concept.
In short, as far as I can tell, only the copyright holder/owner can do this. Indeed that's how and why dual-licensing works.
However usually when people talk about "re-licensing", the problem is just them using that term.
For example, adapting from a statement of:
"MIT licensed software can be re-licensed as GPL software"
and making it into this form:
"MIT licensed software can be re-used as part of GPL software".
To be fair, even though I've followed Free and Open Source Software for a very long time, I only bothered to fully research this specific point a few months ago. I did that precisely because I had a use for what I thought would be a matter of "re-licensing" but wanted to be sure I understood exactly what I was considering.
Also to be fair, when I looked into it, I could only find a clear position under USA copyright legal concepts. Almost no nation's copyright laws are exactly the same so I don't know for sure if what I found is true for Australia (i.e. where I am).
If you want the longer answer then I will try to oblige - I think I made some bookmarks at the time and can try to find where I put those. I had to read and think and re-read before I felt I twigged to the crucial distinctions.
The rationale now seems fairly clear to me - so here I'll try to express that to you in case you find it useful.
The gist of it could be given as:
- it is the force of copyright law that empowers a creator to be in command of how their work can be used.
- the innovative idea of Free and Open Source Software is to embed a statement specifying freedoms of use within the copyrighted work, thus using the restrictive nature of copyright law to enforce those freedoms.
- but the reason it has that force is precisely because only the copyright owner can do that.
- if it was legal to "re-license" software then we could just do that when we liked.
- thus it is no more legal to "re-license" software just because you think it tells you that you can, than if it clearly doesn't tell you that (with the latter being the unstated default).
That is: no grant within a copyrighted work can grant a freedom to overwrite the copyright of itself.
But really that's fine. Instead all the well-crafted software licenses are concerned with the more pragmatic issues of re-using the software.
Sure, none of this changes the issue that combining pieces of software of differing licenses can become confusing in practice. Part of that becomes even harder when that re-usage gets into little pieces.
Let's illustrate that by taking it to the absurd - and treating evry single line as a separately licensed thing.
Let's image we have a 50 line (or 500 line, pick a number you like) program that its creator set with an MIT license. Let's imagine I see a brilliant way to adapt that into something similar-but-different, and I write an additional 50 lines of code, largely interleaved with the original lines. And because I'm a different creator, I use a copyleft license, say the GPL for new combined creation.
Some further thought-experiment questions and answers (ok, I Am Not A Lawyer, so these are the opinions I've arrived at).
Q: Can I "re-license" those original 50 lines?
A: No, I cannot, for only the creator of those lines can do that.
Q: Can I release and distribute my new software?
Q: How do I licence it?
A: I license the whole under the GPL but quote that some parts are covered by other licenses and leave intact the MIT license as covering the original lines.
Q: Does that mean I have to put a license statement with each single line somehow?
A: That would seem overkill, a much more practical thing to do would be to include the original 50 line code as a file in the source and refer to it in the file where there is a mixed use of licenses.
Q: the MIT license means I don't have to release the source code, so then I don't have to release those lines?
A: Using the GPL for the combined work means you have to release the entire source code when you distribute the software, so the point is moot really. You'll therefore be releasing the MIT licensed parts, with their licensing intact.
Free and Open Source Software is about being practical after all. We only have to do the legalisms of software licenses because of the existence of copyright law, not because of the existence of software.
p.s. just to be be clear, none of this changes the familiar issues, fun and difficulties of sorting all those differences among the license types. There's no magic wand being waved here, I'm just making the nickpick that "re-licensing" isn't part of that.