Page 1 of 1

I need help understanding GPL.

Posted: Mon Jul 19, 2010 7:06 am
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?

Re: I need help understanding GPL.

Posted: Wed Jul 21, 2010 5:45 pm
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.

Re: I need help understanding GPL.

Posted: Wed Jul 21, 2010 8:56 pm
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?

Re: I need help understanding GPL.

Posted: Wed Jul 21, 2010 9:02 pm
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!

Re: I need help understanding GPL.

Posted: Wed Jul 21, 2010 10:42 pm
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:

Re: I need help understanding GPL.

Posted: Thu Jul 22, 2010 1:20 am
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:

Re: I need help understanding GPL.

Posted: Thu Jul 22, 2010 3:49 pm
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$