I need help understanding GPL.
Posted: Mon Jul 19, 2010 7:06 am
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:
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?
From the FAQ:
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 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.
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?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.
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?