views:

1050

answers:

12

I've found a unmaintained program I have a need for, but it's not perfect, so I would like to fork it and to continue fixing it. The current version is licensed under the GPL (version 2 and up), but I would prefer to integrate my version with some other code I wrote, licensed under the MIT, and combine them all to a usable library.

The program is written in Perl, which I intend to rewrite in Ruby, so it would not just be a fork of the existing code, but also a translation.

Ideally, I would like to license the entire thing under the MIT license, but I'm not sure if that's allowed. And since I wrote the code I want to merge with, I could easily just relicense that as GPL, even though I prefer the MIT license. So, is there any easy way to do this?

A: 

Personally you might want to elect the assistance of a lawyer, however, I'm guessing that with a modification of language, and re-write you might be ok.

Mitchel Sellers
+6  A: 

I don't think there is an easy legit way to do what you want to do. So long as the code you want to use is GPL you need to keep it GPL and any code that links with it is as well. You could contact the original author they could in theory bless that version as being released under the MIT license and you could in theory just use that code.

Jon
A: 

The result of you work will be GPL. There is no way to unGPL code :) except find the author and all contributors and ask them to change the license. Translating the code to another language will be define as a derived work and must apply to GPL license as well.
GPL is kind of virus license you can't get rid of it :)

Ilya
A: 

@Jon:
I have to agree. Even with a translation of the code, I think your best bet is to either get permission from the original author, or relicense your code under the GPL.

Bernard
A: 

Ask a lawyer who is experienced with OSS licensing. While the answer may sound blunt and/or unhelpful, reality is that OSS software licensing is not something that has a lot of precedents. More over, laws differ in each country - so you also want to check where you will be challenged if there was a dispute.

+1  A: 

That was indeed what I feared. I could try emailing the author, but the page hasn't been updated since early 2006, so might have been abandoned, and the address invalid. Anyways, I'll give it a try, and if not, I'll just go with the GPL.

Thanks for helpful and quick answers :)

+5  A: 

Contrary to some people here, I believe that if you re-implement the application into another language, your are free to use whatever license you want.

The catch being that you must not use any file from the original program, you must rewrite all of the files. And you must perform a genuine reimplementation, not an automatic translation.

Pragmatically, the chances that anyone would challenge you for GPL violation in this situation is vanishingly small, especially considering that the original program is unmaintained.

Although none of us here is a lawyer, so our opinion is worth exactly what you pay for it. That said, I would encourage you to license your work under GPLv2+, so you are free of worry, and not only because it is my license of choice :)

ddaa
"none of us here is a lawyer"? How do you know that?
Mehrdad Afshari
+1  A: 

The catch being that you must not use any file from the original program, you must rewrite all of the files. And you must perform a genuine reimplementation, not an automatic translation

Yep "looking" into GPL code is not a problem, but it's usually not very practical and will force you rewrite and redesign everything.

Pragmatically, the chances that anyone would challenge you for GPL violation in this situation is vanishingly small, especially considering that the original program is unmaintained.

This is true as well :) There is no big chance that somebody will care and in worst case you will be forced to change the license to the GPL.

Ilya
A: 

@Ilya: GPL2 about derivative work: "derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language" so a rewrite isn't a derivative.

http://www.gnu.org/licenses/gpl-2.0.html

In case someone is thinking the "another language" refers to a programming language I guess you're wrong but the only fact I have about it are the unofficial Spanish translations of the license

kmilo
Took me some time to gather reputation. I'm not a lawyer, but i work very closely with one to define what i can use and what i can't. The gpl is never black and white and according to our lawyer this one will be defined as derived work.
Ilya
+1  A: 

Copyright protects the expression of an idea, not the idea itself. There is a continuum between an automatic translation and reimplementation without looking at the code. I would say that the former is clearly a derivative work, whereas the latter isn't. Ultimately, it would be up to a court to decide whether your rewrite is derivative or not, but I would lean towards agreeing with those who say that a rewrite would not be under the GPL.

The direct your translation, the less likely it can be considered derivative.

daf
+4  A: 

Actually, last year our company IP lawyer talked with us about matters like this.

She said that copyright for software is rather dumb, or straight-forward, or what you prefer to call it. It only protects the actual text in the source code, just like if it was a book. If no lines of code are equal (should be true for a Perl->Ruby rewrite?), it's not the same work from a copyright view.

Ideas expressed by the code, e.g. algorithms, may be protected by patents. But that is another story altogether.

kotlinski
Except that more than just the text of a book is protected. You couldn't translate the Harry Potter books into Hindi and claim they were new works, or follow the plot closely while rewriting every actual sentence.
David Thornley
People writing encyclopaedias of Middle-earth have come up against the copyright lawyers of the Tolkien estate.
TRiG