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?
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
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.