Porting a GPL'd app - how to be "legally clean"

Hi all, I'm a first-timer here (although I've been dual-booting FreeBSD and Linux for a while... ).

I have a question as to how developers port a GPL'd app to FreeBSD. By "how", what I want to focus on is the legal side of things.

Let's say there's a GPL app called Fooble. I want to port Fooble to FreeBSD and I want the new port to have a non-GPL license.

The GPL says that any mods to GPL code must also be released as GPL. Given that, I assume that to do such a port, it is not possible to directly look at the Fooble source code - only the documentation. "Black-box" testing may also be needed. Is that correct?

I'm keen to hear from anyone who may have ported a GPLd app. Very keen to know the process that they followed, to ensure that their port could be BSD-licensed, rather than GPL'd.

Many thanks in advance! Bye for now -
- latte
 
First of all, you really shouldn't call it porting. Porting simply means to take the source code for the application and make the needed changes to get the application to compile/run on another operating system. It is still the same application.

What you want to do is basically reimplment an entire program. And franky you should consult a lawyer if you are concerned with the legality of your potential actions :)

Adam
 
This is essentially the same issues the Wine team have - I seem to remember they do a two-team reimplementation (one documents, one reads the documentation and writes new code).

More to the point, though: GPL is usually good enough, except for some aspects of base system use. If you really need it BSD licensed, you might want to try talking to the original author - if they're not overly religious about the license, maybe they can be convinced to create a BSD-licensed copy.

If the end result is to be a closed-source app, you might also have luck buying a license. It's likely to be cheaper than recreating.
 
Hi again -
Thanks for the replies, adamk and djn! That gives a good overview of this area for me.
Bye for now -
- Andy
 
Back
Top