views:

51

answers:

2

I'm looking to port the code of a GPL-licensed library from C to Java. I don't hold the copyright of the original code. Will I own the copyright on the new code? Will I be able to license it as I choose?

+2  A: 

IANAL

From wikipedia

The GPL is the first and foremost copyleft license, which means that derived works can only be distributed under the same license terms. Under this philosophy, the GPL grants the recipients of a computer program the rights of the free software definition and uses copyleft to ensure the freedoms are preserved, even when the work is changed or added to. This is in distinction to permissive free software licenses, of which the BSD licenses are the standard examples

And more from wiki

This requirement is known as copyleft. It earns its legal power from the use of copyright on software programs. Because a GPL work is copyrighted, a licensee has no right to redistribute it, not even in modified form (barring fair use), except under the terms of the license. One is only required to adhere to the terms of the GPL if one wishes to exercise rights normally restricted by copyright law, such as redistribution. Conversely, if one distributes copies of the work without abiding by the terms of the GPL (for instance, by keeping the source code secret), he or she can be sued by the original author under copyright law

Your port would be a derived work of the original project

phsr
@phsr Thanks, seems fairly explicit. Only query is: is there a way to create a derivative work which is a complete rewrite, rather than a "changed or added to" version of the original?
Alison
@Alison: Don't use any of the source or algorithm concept from the original in your rewrite. The original project should be a black box. The Mono Project is a good example. They wrote their own .Net compiler, and are able to license it as they see fit
phsr
+3  A: 

IANAL, but at least in the US such a porting would be a derivative work. What that means is that you don't get undisputed rights, but you do have the copyright on the port. It can be copied only with permission from the original copyright holder(s) and you.

Of course, since the original is GPLed, anything that a court would rule is a derivative work is also GPLed. You don't hold all the copyrights on the ported program, so you can't license it on less restrictive terms than the GPL (without prior permission). You made a derivative work from a GPLed program, so you have to license it under the GPL if you distribute. Your copyright on the ported code is really not all that important, but you do get attribution for your porting.

You could write an entirely new program, not a port, and then you'd have the copyright all by yourself, and could license as you pleased. This is of course much more work, but your copyright would be more useful.

"Derivative work" is a legal term here, based in copyright law. If what you make isn't a derivative work, then the copyright is yours, and you can do as you please with it. If it is, then multiple copyrights apply.

To find out what "derivative work" really means, consult references on copyright law as it applies to software. If you want to explore the edges, see a lawyer who has some expertise in copyright as it applies to software. It will be a lot cheaper to get some up-front legal advice than to get sued later.

As always, I'm not a lawyer, and this isn't legal advice.

David Thornley
@David thanks for the detailed response! Would be great to get a European perspective on this as well. I suspect it would be similar, but I understand there are some fairly important differences with IP law in different countries.
Alison