tags:

views:

68

answers:

2

We've got a dispute with one of my friends. He maintains a commercial public web-service that is written in PHP with closed sources. He claims that he may use any GPL library written in PHP just like any code he had written, without any obligations, attributions or opening code as long as GPL notice in file is intact.

My opinion is that he is wrong and if he does 'include' or 'require_once' GPL library written in PHP - he should open the code.

Who is right?

GPL FAQ adds more confusion to this case. http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods

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 answer is two sided. First it looks like my friend is right.

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.

But the second paragraph then introduces the notion of public and private programs.

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case.

As my friend's service is public, I assume that he is wrong.

+5  A: 

He's not wrong, the GPL does permit that.

There is a licence called the AGPL that is specifically written for that situation and does not allow linking with non-open code. This precise situation is why the AGPL exists.

Andrew McGregor
I believe it also depends on which version of the GPL you're looking at. GPL2 definitely allows him to do that, whereas I *think* that GPL3 has an option that would not allow him to.
Narcissus
The fact that AGPL resolves this clause unambiguously is nice, but it doesn't answer the question about GPL practice.Exact FAQ phrase that leaves me uncertain:"..hardly “private” use, so it would be legitimate to require release of the source code in that special case.."It isn't clear if "would be legitimate" should be read as "will be legitimate" or as "will not be legitimate".
techtonik
@techtonik The quirk in this situation is that he's not actually *distributing* the service itself, which would invoke the GPL, he's simply making it remotely accessible. Suppose you had a program for checking if a number is prime that used GPL sources. Suppose you allow people to mail you a postcard with a number on it, and you will mail them back letting them know if program said that the number they sent was prime. Do you have to GPL your program? No, of course not, you aren't distributing it. Now replace the postal service with the Internet. That's the loophole, and that's why AGPL exists.
Tyler McHenry
The FAQ is misleading... they're trying to shame people into sharing their code anyway, which is the FSF's political and philosophical position. It's not actually what the license says.
Andrew McGregor
Indeed - the after reading FAQ we decided that the correct answer would be "whoever pays lawyers more - wins".
techtonik
I guess the answer explains why they'd like to lure people into AGPL.
techtonik
+1  A: 

The GNU GPL, as it is actually called, does allow usage without accepting the license (clause 5 in GPLv2.1). This usage permission applies to said friend. However, he may not distribute the combined work.

Using it internally (applies to webserver case): yes.

Distributing this mixed code as software package: no.

mario
Although this answer is almost the same as Andrew's one, I choose it as it is more concise and self-sufficient. Also provides a good starting point if somebody disagrees with conclusion.
techtonik
and what about this one: Use it in a project where you u create a commercial used web application for a client (i create the website, the client will put it online and make money with it, i get paid for creating the website, and the whole site is created by me except the GPL library
Michel