Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is it possible to alter the code of the Chili plugin, which had its latest release on July 2008, and it is licensed under the MIT license, to then license it under GPL?

As far I can see, there is no restriction about the new code being licensed under the same license. Is it really so, or is there a minimum number of changes?

In my case, I would change the jQuery plugin in normal Javascript code that is executed in a CMS. This essentially means that, among other things:

  • The code will not use the "ChiliBook" namespace.
  • The function will not be invoked as $($element).chili(), but as GlobalObject.ChiliHighlighter.process($jquery_element), where "GlobalObject" is a JavaScript object used from the CMS.
  • The code will allow other modules to alter the GlobalObject.ChiliHighlighter object to add functions that are optionally called from GlobalObject.ChiliHighlighter.process() when they are defined.

As alternative, as the repository I am using allows me to include code not licensed under GPL 2 or higher license when the code is not maintained anymore, could the plugin be considered not maintained anymore, as its last version was released three years ago?

share|improve this question
    
If you really want an authoritative answer, you should consult a lawyer (in the relevant jurisdiction, for example the answer could be different in Italy than in the US) –  MarkJ Sep 5 '11 at 12:24
add comment

4 Answers

up vote 17 down vote accepted

It's technically legal.

The MIT (Expat) license places a few restrictions on you. These are a subset of the GPL license. Therefore, if you relicense the code under the GPL, and keep the MIT notice, then you've satisfied the terms of the MIT license and may legally redistribute the code.

Note that you may not claim copyright ownership; you'll have to acknowledge the original copyright.

[edit] Some people don't seem to understand how F/OSS works in conjunction with copyright and license law. Everything starts with copyright, if only because that's the default. Under the copyright doctrine, the author gets the right to make copies of source code. Under the MIT license, that right is granted to me, as well as the right to recursively grant it to others. Note that the MIT license explicitly includes the right to sublicense. Quoting: "the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell"

When I sublicense code, I cannot grant rights that I didn't originally have. In the case of the GPL, I am explicitly forbidden to sublicense only some rights. But neither in law nor in the MIT license do I have an obligation to sublicense all rights as a whole.

Therefore, the MIT license grants me the explicit right to sublicense rights, and neither the law nor the MIT license prohibits me to sublicense only some rights. Also, neither restricts the form in which I do. Therefore, I have the undeniable right to grant a GPL sublicense on that code.

share|improve this answer
    
-1: sublicence is not relicencing, only the copyright holder(s) can change the license –  vartec Sep 6 '11 at 8:15
2  
@vartec: You're not changing the license under which you received the code. You're creating a new license between you and the new recipient, and it can have whatever terms you want. (The new recipient may get additional rights under the original license, but that has no effect on the new license.) The norm is for a sublicense to give some fraction of the rights in the original license. For example, a sublicense rarely includes the right to sublicense, which the original license must have included for there to be a sublicense. –  David Schwartz Nov 3 '11 at 4:22
    
@David: like I've said already, you cannot create a new license between you and recipient, if you're not the copyright holder. It's like selling the Brooklyn Bridge. –  vartec Nov 3 '11 at 13:21
1  
@vartec: Essentially, you're arguing that a copyright license that grants the right to sublicense somehow actually doesn't grant the right to sublicense. I'm not sure on what basis you're making this argument though. Do you have some cite to any relevant legal authority? Are you saying a copyright holder can't grant others the right to license his work? Or do you think the MIT license somehow fails to do this or doesn't intend to? –  David Schwartz Nov 3 '11 at 19:35
1  
@vartec: A link to a source that explains it would be great, because I think you don't understand what it means. –  David Schwartz Nov 5 '11 at 17:18
show 5 more comments

So you want to plagiarise someone's work, change it around just enough to call it your own, and re-release it under a far more restrictive license?

Even if legal, it's immoral.

share|improve this answer
    
I didn't describe all the changes, so it would not be "change it around just enough to call it your own." Also, the author is busy with the next version of the plugin, which is completely different from version 2.x; considering that last version has been released 3 years ago, I don't think it's probable he is going to fix any reported bug. –  kiamlaluno Sep 5 '11 at 11:31
    
doesn't matter. you're stealing his code and calling it your own. –  jwenting Sep 5 '11 at 11:52
    
Do you mean that if you keep the code of one function out of ninenty-nine functions, you are still stealing his code and calling it your own? –  kiamlaluno Sep 5 '11 at 11:59
4  
Downvoted because nothing in the question suggests that kiamlaluno wants to claim the copyright. The repository in question is the weird one; it accepts GPL-licensed code but not code under GPL-compatible licenses. –  MSalters Sep 5 '11 at 12:17
6  
He wants take advantage of the license the original authors chose to use, which is the point of free software. Did you know with MIT licensed software you could do far more "immoral" things like make and distribute a derivative work and not even release the source code! –  Austin Nov 5 '11 at 18:20
show 2 more comments

You cannot just release someone else's code under different license.

You may however, include MIT-licensed code in GPL-licensed application, as MIT is GPL-compatible. However, keep in mind that to be able to release your app with new license, you have to create significant new functionality. Otherwise, if it's just minor improvement, it's not considered stand-alone work. This is closely related to the definition of derived work in your local jurisdiction. In case of US:

A typical example of a derivative work received for registration in the Copyright Office is one that is primarily a new work but incorporates some previously published material. This previously published material makes the work a derivative work under the copyright law. To be copyrightable, a derivative work must be different enough from the original to be regarded as a "new work" or must contain a substantial amount of new material. Making minor changes or additions of little substance to a preexisting work will not qualify the work as a new version for copyright purposes. The new material must be original and copyrightable in itself. Titles, short phrases, and format, for example, are not copyrightable.

See Wiki on GPL compatibility and mutli-licensing


The particular question or re-licensing MIT library to GPL has been discussed few years ago relating libXML2. Conclusions there are:

in the MIT license that there is the permission to sublicense. Does this mean that I can take the library and then license it under the GPL?

Sublicence is not relicencing. You cannot do this, well I don't think so, and I would call this a fork considered hostile in my view. Do not do this this is foolish, I see no reason for this, this brings nothing to this project, I would take it quite personally as an attack, you're warned !

Sublicence is not relicencing. You cannot do this, well I don't think so,

I can confirm this. Only the copyright holder(s) can change the license.

share|improve this answer
    
The repository I would use requires only code licensed under GPL 2 or higher license, but it has exceptions for not anymore maintained code. –  kiamlaluno Sep 5 '11 at 12:04
    
Commenters: comments are for getting clarification to a post, not for extended discussion. If you think this answer is not useful, consider down-voting it. If you have a better solution, leave your own answer. If you'd like to discuss the topic of this post with others, please use chat. –  user8 Sep 5 '11 at 16:49
add comment

Yes. But the effect may not be what you think it is.

The MIT license includes all the rights the GPL gives and more. And while people who receive your distribution only receive a GPL license to elements you added, they still receive an MIT license (from the original authors, not from you) to any elements contained in the work that the authors offered under that license.

They may not know this, and so far as I know, no law obligates you to tell them. But if they "violate" the GPL license with respect to protectable expression contained in the work that you did not author (or that wasn't contributed by others to the GPL-only release), they have not violated your license or your copyright. (Actually, that should be rather obvious -- you only hold copyright to expression you authored.)

So you haven't converted any copyrightable elements from the MIT license to the GPL license. You've simply added new ones which are only offered under the GPL license and released the elements in a mixed/combined work.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.