views:

495

answers:

2

This is a hypothetical scenario (ie: I just thought it up and I do not intend to do it!)

What stops a company from preventing the effective use of a derivative GPL work by doing the following

  1. Fork the GPL project
  2. Make a derivative work
  3. Sell the derivative work and publish the source code in obfuscated form

So technicly they have released the source code back in to the community. but it is practicly useless.

I know that would be a pretty low thing to do and it would be against the spirit the GPL but does the GPL prevent against this type of abuse? If so how

+25  A: 

From the GPL:

The “source code” for a work means the preferred form of the work for making modifications to it.

I guess it would be pretty hard to make a case that the (in whatever way) obfuscated form is the preferred form for modifying.

balpha
They obviously thought this through carefully, thanks for the answer + 1
hhafez
Well, technically true. But this would imply that every source code should be adequately commented and written in a highly maintenable way - with nice naming and fine structure which we all know is not always the case and doesn't prevent from releasing under GPL.
sharptooth
but not documenting code is a far cry from obfuscation
hhafez
@sharptooth There's obviously a grey area here. But intentionally obfuscated code for the purpose of preventing reuse and/or modification should usually be distinguishable from badly documented or otherwise hardly readable code. If you use GPL code and make additions to it in a horrible way, but you *can* make a point that this code is exactly how *you* use it... there you go! After all, you can release Brainfuck code under the GPL ;-)
balpha
sharptooth: I think "preferred form of the work for making modifications" means "the way you were working on it" (as in, don't obfuscate the code as a release build-step - but if you primarily worked on the obfuscated code, it should be okay)
dbr
@sharptooth .. but it's still the source that the programmers use. If another group forks it, comments and structures it properly, and develops from _that_, they'd have to release that under the GPL, if it's what they develop with.
Jeremy Smyth
What if for your internal team there is a secret deobfuscator? In the future each programmer could have a personal code assistan which is capabale of obfuscating and deobfuscating.
zproxy
@zproxy: Good thing that you mention this. How could the GPL creators not think of that? Oh, wait, the programmer still makes their modifications to unobfuscated code...
balpha
This provision was specifically included to prevent people working around the provisions of GPL by redistributing source in obfuscated form. It also applies to build files. At one point there was an outfit called Smoothwall that made a product that violated the GPL. They tried releasing source code but no make files and got more or less lynched in the process. Also, public attempts to work around the GPL have a history of garnering negative press, c.f. Novell's 'credits'.
ConcernedOfTunbridgeWells
A: 

One other reason: Even if the source code is useless and the program for all practical purposes can't be modified, anyone who wants to could still redistribute the binaries free as in beer, without paying the company a dime.

dsimcha