views:

68

answers:

3

As I understand it GPL says you only have to distribute derivative code for works you distribute, i.e. if you develop internal software you can keep your code private.

What happens if you develop a server application, say like Facebook or StackOverflow? The server app is not 'distributed' so what's the situation with your code in this case?

Clarification Imagine I make my own VCS based on CVS and I sell access as a service, but don't let other people run their own servers... like Codesion's business model. I'm making money from something heavily based on GPL code but I never release the server itself - does this mean I am not obligated to release the source under GPL?

BTW, discussion on the moral as well as legal side is welcome.

+1  A: 

IANAL

It isn't entirely clear from your question whether you are asking about your obligations as someone who uses (a modified version of) some software licenced under the GPL, or as someone who has written software that is currently licenced under the GPL and you are concerned about what people who use your software are allowed to do. They're two complementary issues.

Under the simple GPL, you are not obliged to distribute modified versions of the source code when you do not distribute the modified program - and simply running the program, or allowing others to run it via a web service, does not constitute distributing the program. Similarly, those who obtain software from you that you have licenced under the GPL and who use it to supply information to their own customers (whether they've modified it or not) are not obliged to distribute the source code.

There is a variant of the GPL, recognized by the FSF, called the Affero GPL (AGPL), which may be appropriate for products which can be used to provide a web service. It requires that if you provide a service over the Internet using a product licensed with the AGPL, then you are obliged to distribute the (possibly modified) code after all. See the Open Source Initiative for more information.

Jonathan Leffler
I mean if I _develop_ something and use GPL code on the server, and then charge for a login to my hosted service. Say I make my own VCS based on SVN and I sell access as a service, but don't let other people run their own servers.
John
@John: AFAICT, [Subversion](http://subversion.apache.org/) is licenced under the Apache Licence Version 2.0, not under GPL. That makes things quite a bit easier for you. If the software you are using is licenced under GPL, the first sentence of para 2 in my answer applies, I think - but IANAL.
Jonathan Leffler
Oh, bad example... Changed to CVS
John
@John: As I said - the first sentence of the second paragraph applies; the loophole you would be using is closed by the AGPL, but CVS (using the revised example) is not licenced under the AGPL, so you have the loophole left to you.
Jonathan Leffler
A: 

Here's the long and the short of GPL distribution: With the GPL, you only have to distribute the code if someone asks for it (including any modifications that have been made to it).

If you're asking more with your question, then please comment, and I can try and fill in the blanks.

jer
You don't have to distribute code used in internal projects at all, is my point... only if you release an app which uses or links to GPL code. With a server-hosted app, it seems you're somewhere between the intent of GPL and the letter of the rules.
John
GPLv3 "fixes" that issue. But even at that, you still only have to distribute the sources when and if someone asks for it.
jer
+2  A: 

The GPL FAQ answers this question:

A company is running a modified version of a GPL'ed program on a web site. Does the GPL say they must release their modified sources?

The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources. [...]

In contrast, the GNU Affero GPL closes this "ASP loophole" and requires release of the modified source even in that circumstance.

Heinzi