I need help understanding GPL.

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
Post Reply
dwmitch
Gnoblar
Posts: 23
Joined: Sat Jul 17, 2010 6:33 pm

I need help understanding GPL.

Post by dwmitch »

I apologize if this has been asked elsewhere, but a search for GPL on the forums turned up nothing. I'm aware of the fact that Ogre is released under the MIT license, but for the sake of argument let's assume that it was GPL.

From the FAQ:
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, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins 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.
How can I tell which is the case? Are fork and exec keywords that must be included in the code? In other words, when you create a root object in Ogre does it use fork and exec or would I be required to release anything made with it under GPL?

If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL or a GPL-compatible license?

Yes, because the program as it is actually run includes the library.
Does this mean since Ogre applications won't compile without the libraries (either setting the library in the Linker settings of VC++ or using #pragma comment(lib, "OgreMain.lib")) anything created with it would have to be released under GPL?

Again, I'm aware of the license Ogre is distributed under, but I can't think of any GPL libraries to use for an example.

So far Blender and The Gimp are the only programs I use that are GPL, and from what I understand once a model leaves Blender or an image leaves The Gimp it's not covered by the license.

Everything else I use is zlib/libpng (Bullet, OIS (I could be wrong on those, as I couldn't find the licensing on the sites but wikipedia said they're zlib/libpng)), MIT (Ogre, CEGUI), and I'm still trying to find the license on OpenAL. I've read that it's GPL, the licensing agreement when you install the SDK seems like a standard proprietary license (restrictions on reverse engineering, may only be installed on one computer, may not be redistributed, etc.), and wikipedia says it's LGPL.

In short I don't want to release the source code and I definitely don't want someone to be able to buy a copy then legally distribute it for free or for his own profit. Should I steer clear of GPL altogether? And is LGPL safe?
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: I need help understanding GPL.

Post by jacmoe »

This looks like it was copied from somewhere else.
And since you have been using your first post as off-topic, I need to deactivate you.
A rule is a rule.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
conallmmcg
Kobold
Posts: 29
Joined: Fri Jan 02, 2009 1:50 am

Re: I need help understanding GPL.

Post by conallmmcg »

i think that was rather unfair, i mean yes the rule is a good rule, but to me he doesn't seem like the rest of the spammers, his post seemed fairly valid imho.
the whole point of the rule is to catch out spammers, but sometimes common sense needs to prevail?
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4308
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 137
Contact:

Re: I need help understanding GPL.

Post by spacegaier »

Yes, I also can't push away the impression that this post could(!) actually be an allowed one. In case for the topic opener in my opinion.

Another point: Get rid of this strange yellow color for the deactivated users!!! They don't deserve that kind of promotion. If you need a color take gray to let them appear disabled or something like that. These yellow names only attract attention that is not needed here!

EDIT: Poll opened about the color thingy... Vote!
Last edited by spacegaier on Wed Jul 21, 2010 10:05 pm, edited 1 time in total.
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: I need help understanding GPL.

Post by jacmoe »

That's exactly why we deactivate instead of delete.
If Mitch feels that it was an error, he can just contact us.
No big deal.

A rule is a rule, folks.
So beware of the moderators hammer. :twisted:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: I need help understanding GPL.

Post by jacmoe »

I've re-activated Dwmitch.

You can't be too careful.
That's an unfortunate side effect of the increased spammer activity.

So, on to the original topic. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Re: I need help understanding GPL.

Post by stoneCold »

Regarding GPL and plugins, the most important sentence might be ...
... if they make function calls to each other and share data structures, we believe they form a single program ...... This means the plug-ins 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.
To my understanding that means that plugins only meet a borderline case if they are dynamically loaded during runtime via LoadLibrary/dlopen and only simple function calls are dispatched to the loaded DLL. As soon as program specific data structures are being shared between the plugin and the host application, you leave the gray area and the plugin/application has to be released under the terms of the GPL.

As you figured the GPL is a very "viral" license and it is mainly used for standalone applications, since that's the use case that makes the most sense for it. Releasing open source software APIs under the terms of the GPL is kind of pointless imo, unless you want to force the potential users of the API to also release their code as open source.
(but forcing people to do something that they don't want to do, has actually never worked very well afaik :D)

my 0.02$
my tweets | www.fuse-software.com | home of vektrix (Flash GUI for Ogre3D) and caspin (ActionScript 3 Virtual Machine Wrapper)
Post Reply