FacebookTwitter
Hatrack River Forum   
my profile login | search | faq | forum home

  next oldest topic   next newest topic
» Hatrack River Forum » Active Forums » Books, Films, Food and Culture » The GPL and Me

   
Author Topic: The GPL and Me
saxon75
Member
Member # 4589

 - posted      Profile for saxon75           Edit/Delete Post 
Here's a question for the people out there who are wiser in the ways of intellectual property and free software than I:

As some of you may know, I run a forum at my web site using the phpBB forum software. phpBB is open source software, released under the GNU Public License (GPL). Now, one problem I've been having is that the forum has its own user system, independent of the user system that I wrote for the rest of the site. I'd like to integrate the two systems into one database. After looking things over, I think the way to do that is to tweak my code to make use of the same database and cookie structure that the forum already uses. The easiest way to do that is to just make use of the session and database functions that phpBB already provides (I'd be making some small modifications, but largely it'd be cut-and-paste). I'm allowed to do that because phpBB is Free Software. The question is whether or not using those functions means that my web site then becomes Free Software. I'm pretty sure the answer is yes. The bigger question, for me, is whether or not that means that I have to make the source available for anyone who wants it, or if I can just put the GPL notices in my code and then not distribute it.

I realize that my operation is small enough that it will probably never attract enough attention for this to be important, and that I could probably circumvent the entire issue by switching to an open source content management system that already integrates with phpBB (Mambo, for example), but I'm interested for academic reasons as well as practical ones.

Any thoughts?

Posts: 4534 | Registered: Jan 2003  |  IP: Logged | Report this post to a Moderator
eslaine
Member
Member # 5433

 - posted      Profile for eslaine           Edit/Delete Post 
Well, my thought is that you are right in considering the worst case. Finding legal solutions is nothing more than covering yourself.

In our litigious society, it's only prudent.

Posts: 2506 | Registered: Jul 2003  |  IP: Logged | Report this post to a Moderator
Dagonee
Member
Member # 5818

 - posted      Profile for Dagonee           Edit/Delete Post 
quote:
The question is whether or not using those functions means that my web site then becomes Free Software. I'm pretty sure the answer is yes. The bigger question, for me, is whether or not that means that I have to make the source available for anyone who wants it, or if I can just put the GPL notices in my code and then not distribute it.
I'm pretty sure the answer is No, as long as you can separate your software which merely calls functions in PHPbb. I'll look for a link later I came across recently.

Dagonee

Posts: 26071 | Registered: Oct 2003  |  IP: Logged | Report this post to a Moderator
mr_porteiro_head
Member
Member # 4644

 - posted      Profile for mr_porteiro_head   Email mr_porteiro_head         Edit/Delete Post 
According to my understanding of the gpl, you only have to distribute the code if you distribute the binaries. But since you won't be doing that, you don't have distribute the code.
Posts: 16551 | Registered: Feb 2003  |  IP: Logged | Report this post to a Moderator
saxon75
Member
Member # 4589

 - posted      Profile for saxon75           Edit/Delete Post 
That's my understanding too, Porter, but the question is what constitutes distributing the binaries. See, with a regular program it's pretty cut and dry. I write some code, compile it, then execute the resulting binary file. As long as I don't give anyone the binary, I'm not distributing it. With a web site, though, how does it work? I mean, I don't compile anything, I just upload the scripts to my web server and they are interpreted on demand by the server. And I'm definitely distributing the output of the interpreter, since that's what the users see when they visit my site. But I'm not sure if that constitutes "distributing the binaries" or not.
Posts: 4534 | Registered: Jan 2003  |  IP: Logged | Report this post to a Moderator
saxon75
Member
Member # 4589

 - posted      Profile for saxon75           Edit/Delete Post 
Dag, here's an example from the GPL FAQ that has me confused. The problem is that the FAQ seems to be oriented toward traditional software, not interpreted server-side web scripts.

Here's another one that seems a little more explicit.

Posts: 4534 | Registered: Jan 2003  |  IP: Logged | Report this post to a Moderator
fugu13
Member
Member # 2859

 - posted      Profile for fugu13   Email fugu13         Edit/Delete Post 
It is generally accepted that one does not have to distribute the source for web applications unless one also distributes the binary.

Re: the more general question, its not clear. However, it is likely one could reasonably consider there to be 3 separate programs: phpbb (with any alterations you have made to it), your programs (including most of the auth system) and a bridging program, which plugs into both. In this case, only the bridging program and the phpbb changes would need to be distributed did you distribute the binary. Also, it is possible that only your modifications to phpbb would be considered covered, if the functionality of your site is entire except for that provided directly by phpbb, absent phpbb (which is likely).

Posts: 15770 | Registered: Dec 2001  |  IP: Logged | Report this post to a Moderator
fugu13
Member
Member # 2859

 - posted      Profile for fugu13   Email fugu13         Edit/Delete Post 
Oh, and since this is a license, if you want to make sure, just email the phpbb people (the copyright holders). If they think its okay not to distribute the source, its definitely okay. Even if the preferred interpretation of the GPL by the FSF is otherwise, if the phpBB people interpret it somewhat differently, that's okay.
Posts: 15770 | Registered: Dec 2001  |  IP: Logged | Report this post to a Moderator
Dagonee
Member
Member # 5818

 - posted      Profile for Dagonee           Edit/Delete Post 
This is a FAQ about the GPL. It's for Mambo, but I believe it uses the same license.

Pertinent parts:

quote:
8. I have modified Mambo for my own web site. Do I have to release these modifications?

The GPL permits anyone to make a modified version for their own use without the requirement to distribute it or pass on those changes to others.

9. I have made a modification (hack) to the Mambo core code. Do I have to release it under the GPL?

If you chose to distribute your modifications to others it must be released under the same terms that you received the original code. So your modifications must be released under the GPL. You may of course in this case modify the headers for the source code to include your own copyright statement. If you do so you must clearly annotate in the source code your amendments, changes or additions.

10. I have written a Component, Module, Template for Mambo. Do I have to release it under the GPL?

No The GPL allows you to write your own extensions for Mambo and to release those extensions under whatever license you chose.

Taken together, I'd say this means if you modify phBB code, you have to release it under the GPL if and only if you distribute it at all. If you write an entirely new piece of software that calls phBB, you could release that under any license you choose or not at all.

However, it appears that the GPL people think that programs which call another program create a new, unified program. Info direct from the GNU's mouth:

quote:
Does the GPL require that source code of modified versions be posted to the public?
The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.
Can I have a GPL-covered program and an unrelated non-free program on the same computer?
Yes. The "mere aggregation" clause in the GPL makes this permission explicit, but that only reinforces what we believe would be true anyway.

If I know someone has a copy of a GPL-covered program, can I demand he give me a copy?
No. The GPL gives him permission to make and redistribute copies of the program if he chooses to do so. He also has the right not to redistribute the program, if that is what he chooses.

...

If I add a module to a GPL-covered program, do I have to use the GPL as the license for my module?
The GPL says that the whole combined program has to be released under the GPL. So your module has to be available for use under the GPL.

But you can give additional permission for the use of your code. You can, if you wish, release your program under a license which is more lax than the GPL but compatible with the GPL. The license list page gives a partial list of GPL-compatible licenses.

If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in.
It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.

If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case.
Can I use the GPL for a plug-in for a non-free program?
If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. So you can use the GPL for a plug-in, and there are no special requirements.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means that linking the GPL-covered plug-in with the main program would violate the GPL. However, you can resolve that legal problem by adding an exception to your program's license which gives permission to link it with the non-free main program.

For more details, see the question above that starts with, "I am writing free software that uses a non-free library."

But again, you DO NOT HAVE TO DISTRIBUTE IT at all, so you may not care.

Incidentally, it's statements like "To release a non-free program is always ethically tainted" that drive me nuts about the OSS movement.

Dagonee

Posts: 26071 | Registered: Oct 2003  |  IP: Logged | Report this post to a Moderator
   

   Close Topic   Feature Topic   Move Topic   Delete Topic next oldest topic   next newest topic
 - Printer-friendly view of this topic
Hop To:


Contact Us | Hatrack River Home Page

Copyright © 2008 Hatrack River Enterprises Inc. All rights reserved.
Reproduction in whole or in part without permission is prohibited.


Powered by Infopop Corporation
UBB.classic™ 6.7.2