March 18, 2006

GPL 3 Hole-y Wars, pt 2

[Continued from Part 1]

Interestingly, the original (few) versions of the GPL did not really imagine a web services world - and so there's been a major loophole for the last many years. If any GPL'ed software is being used on servers, the bits are never "shipped" to customers. Therefore, Internet companies are free to take any GPL software, modify and change it - derive SIGNIFICANT benefit from it - and NOT release the source code. Even if the functionality is identical to what you might provide with desktop software bits, you're free to keep the code "closed", so long as you don't ship the actual executable compiled from that code to the end user's desktop.

It sounds simple, but in practice this is somewhat subtle.

You can take the functionality of ANY such software, "remote" the functionality (i.e. have it run on a server instead of the local machine), and completely circumvent the GPL. Doesn't matter how much value that software created for your Internet business, or how much your improvements might help others. Taking an IP and business view, that means you can leverage the benefits of OSS (free labor, community review, improvements, etc.) without paying the capitalism "tax" that it might impose - so long as you don't care about installing desktop software.

No wonder
Microsoft hates it :P

Part of the rationale for the new version is to attempt and rectify this loophole. I'm a little worried about the "... and then some" provisions they're including - very wierd some of the requirements version 3 includes (about source distribution requirements among other things). It'll be interesting to see which major GPL open source projects (Linux, Apache, etc.) switch to
the GPL v3, and what implications this has for the Web and its standards.

If any of the major OSS web infrastructure projects does adopt
it, I predict we'll see some MAJOR fracturing over time, as commercial companies fork from the previous GPL'ed versions. If nothing else, we would get a chance to see who thinks with their wallet - but pretends they don't.

Linus Torvalds, of Linux fame,
does not like GPL 3, at least in the case of the Linux kernel itself (though I suspect this has more to do with the odd requirements than the attempt to close the web services loophole).

[To be concluded in part 3...]


Anonymous said...

My understanding of the GPL when modifications have been made is that you are able to "sell" or make it closed source however you must be willing to provide source for the original OS (Open Sourced Version).

Actually at work we have this conversation on why AOL isn't cashing in on the success of Firefox seeing as it is derivative from Netscape (Which we own) doesn't that mean that we own it...which of course the answer is no. The interesting part however is explaining to people that have never been involved in the OSS community what a fork is.

What is even more confusing is OCP, this is something that even at work is hard to describe to OPEN is it? True we really can't toss out the source code (Can you see auth being open? Pfftt). This is something that could use some public clarification. I think for AOL this would benefit us in an image perspective. Oh well...

Sree Kotay said...

Shawn, the GPL requires that you open source even your modifications (to the GPL code) - the end user should be able to modify, recompile and redistribute the changes.

To your last point, "Open" gets abused about as much as "Free" does. I don't think that we'll ever release the source code to the OCP, but I do think we'll release SDKs and let developers (and members and users) build stuff.