GPL Question
by Patrick Bohnet · in Torque Game Engine · 11/06/2004 (8:57 am) · 12 replies
This is a simple question about the GPL lisence for OpenTNL.
This is what I understand of the GPL.
If i write a program with the GPL code inside of it... and never give out the program (ie totally personal/internal program) I never have to release the source code to the program...
If i write a program with the GPL code inside of it... and give/sell/lease/whatever the program to someone else... i have to make the source code availible to that person under a GPL... either for free... or at a minimum cost (shipping etc)... it does not mean i have to release it publically... just to the "customers"... now they are free to release it publically if they want with no restrictions
If i write a program with the GPL code inside of it... and allow people to download it for free... i have to make the source code availible publically...
I never have to "return changes" back to the original source of the source code... ie if i go in and fix a bug... i am not required to notify the original coder of that bug... it is considered good form... and the proper etique...
now... here is my questions....
OpenTNL is two parts... a client and a server...
If i make an application with OpenTNL... i know i have to give the source code of the client app (full source of client app... not just the OpenTNL code) to the people who use it... but what about the server... technically I never give the server application to anybody... it runs internally on a box I own...
This is what I understand of the GPL.
If i write a program with the GPL code inside of it... and never give out the program (ie totally personal/internal program) I never have to release the source code to the program...
If i write a program with the GPL code inside of it... and give/sell/lease/whatever the program to someone else... i have to make the source code availible to that person under a GPL... either for free... or at a minimum cost (shipping etc)... it does not mean i have to release it publically... just to the "customers"... now they are free to release it publically if they want with no restrictions
If i write a program with the GPL code inside of it... and allow people to download it for free... i have to make the source code availible publically...
I never have to "return changes" back to the original source of the source code... ie if i go in and fix a bug... i am not required to notify the original coder of that bug... it is considered good form... and the proper etique...
now... here is my questions....
OpenTNL is two parts... a client and a server...
If i make an application with OpenTNL... i know i have to give the source code of the client app (full source of client app... not just the OpenTNL code) to the people who use it... but what about the server... technically I never give the server application to anybody... it runs internally on a box I own...
About the author
#2
for $300 I can afford an indie of the TNL no problem... this was actually more theroetical...
I was driving home from work (I hate traffic) and the though hit me... i wondered if I would have had to release the server code...
i guess i am more curious.
11/06/2004 (10:46 am)
O... i know... right now I was looking at options...for $300 I can afford an indie of the TNL no problem... this was actually more theroetical...
I was driving home from work (I hate traffic) and the though hit me... i wondered if I would have had to release the server code...
i guess i am more curious.
#3
my point was that if i never give a project to anybody... i never have to give the source... would i have to release the source for the server... even though nobody except me would be given it?
its somethign to think about I guess.
11/06/2004 (10:47 am)
And actually.... i did say that if I gave the server to someone I would give them the source... so the split is GPLed...my point was that if i never give a project to anybody... i never have to give the source... would i have to release the source for the server... even though nobody except me would be given it?
its somethign to think about I guess.
#4
If you make a product available that's linked to, or agglomerates GPL code, then you have to release your source under a GPL compatible license
All you ever wanted to know about the GPL is easy obtainable by doing your homework and checking out Free Software Foundation as well as the FAQ on the GPL
11/06/2004 (11:58 am)
The GPL is crystal clear on this : if you don't distribute or ship, you don't have to share the source, period. As for example, internal company use.If you make a product available that's linked to, or agglomerates GPL code, then you have to release your source under a GPL compatible license
All you ever wanted to know about the GPL is easy obtainable by doing your homework and checking out Free Software Foundation as well as the FAQ on the GPL
#5
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.
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. We are thinking about doing something like this in GPL version 3, but we don't have precise wording in mind yet.
In the mean time, you might want to use the Affero GPL for programs designed for network server use.
looks like... for right now... as long as nobody was given the binary of the server, its source would never have to be released. Only the source for the client.
11/07/2004 (7:18 am)
Http://www.gnu.org/licenses/gpl-faq.html#TOCUnreleasedModsA 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.
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. We are thinking about doing something like this in GPL version 3, but we don't have precise wording in mind yet.
In the mean time, you might want to use the Affero GPL for programs designed for network server use.
looks like... for right now... as long as nobody was given the binary of the server, its source would never have to be released. Only the source for the client.
#6
If you're making money, you can afford the indie or commercial license of TNL.
Not much GG can do about this loophole in the GPL, but there is no doubt in my mind, that if this is a commercial effort, and you don't want to open your code, get an indie license...
Note that I'm not saying that's what you're trying to do, but it seems to me awfully close to abusing a good thing
11/07/2004 (9:43 am)
Let me be clear : if you're doing this for commercial purposes, to earn money, I'd say you're splitting hairs and abusing the intent of GG's use of the GPL. If you're making money, you can afford the indie or commercial license of TNL.
Not much GG can do about this loophole in the GPL, but there is no doubt in my mind, that if this is a commercial effort, and you don't want to open your code, get an indie license...
Note that I'm not saying that's what you're trying to do, but it seems to me awfully close to abusing a good thing
#7
I am not abusing anything... it was a theoretical questions.... I was looking at various options for a future project... one of them was ogre3d and openTNL... that is where the thought came up...
utimatly it looks like TGE (and maybe later the TSE) will be the choice...
I tend to be a hole finder... its a habbit of mine (good for my day job... since I am responsble for alot of code review when things break).
I was not saying that I would "abuse" the GPL with OpenTNL... i was mainly seeing IF it could be abused...
11/07/2004 (3:57 pm)
:: chuckles ::I am not abusing anything... it was a theoretical questions.... I was looking at various options for a future project... one of them was ogre3d and openTNL... that is where the thought came up...
utimatly it looks like TGE (and maybe later the TSE) will be the choice...
I tend to be a hole finder... its a habbit of mine (good for my day job... since I am responsble for alot of code review when things break).
I was not saying that I would "abuse" the GPL with OpenTNL... i was mainly seeing IF it could be abused...
#8
The problem is that you're trying to separate the client and server when they use shared source, which binds both to the project and the GPL regardless of how you split them up.
11/07/2004 (6:46 pm)
You didn't find a hole, though. The only way you could use it for a project is to completely split and recode everything that is shared between the client and server without using the original source as a template. It's no different than writing a closed-source front-end to connect to an open source server. Simply accessing the server doesn't mean that you have to open source your client.The problem is that you're trying to separate the client and server when they use shared source, which binds both to the project and the GPL regardless of how you split them up.
#9
11/07/2004 (7:13 pm)
No... i was saying in my example that the client source would be released... just not the server... ie only half would be released.
#10
So, no Patrick didn't find the hole as it's documented by the FSF itself.
It does exist 'though
11/08/2004 (3:18 am)
Yeah, and as Patrick quoted (glad it was good for a chuckle ;)), the FSF acknowledge they have a hole right now : you can run a modified GPLed server under the current GPL (v2) and not release the source and still be compliant with the letter of the license (but not its intent, which doesn't matter from a legal standpoint)So, no Patrick didn't find the hole as it's documented by the FSF itself.
It does exist 'though
#11
Now, running a GPL'd server source with a proprietary client would be covered under that clause.
EDIT: Added words that I forgot to type for some reason. I think I changed a sentence and didn't change the whole thing.
11/08/2004 (5:51 am)
The problem is that the with the way TNL is structured, when you create the client (unless you write your own proprietary client), you'll be giving out a chunk of the server source. Since they are a singular source project which you are splitting hairs trying to break apart, then the source should technically be released just as adding in only the zip code in a much larger achival GPL'd project would force your project into the GPL (the reason that many consider it viral). Now, running a GPL'd server source with a proprietary client would be covered under that clause.
EDIT: Added words that I forgot to type for some reason. I think I changed a sentence and didn't change the whole thing.
#12
11/08/2004 (6:15 am)
I'm not even sure it's a "hole" -- if you don't give away the server, there's no reason you should have to give away the code for it. The point of the GPL is to give the user of a program the freedom to understand its workings and modify it. The don't have or run the server; therefore they have no implicit right to see or modify it.
Associate David Montgomery-Blake
David MontgomeryBlake