Sunday, April 9, 2017

licensing - How does one escape the GPL?



DISCLAIMER I don't pretend to know anything about licensing. In fact, everything I say below may be completely false!


Backstory:



Recently, I've been looking for a decent game engine, and I think I've found one that I really like, Cafu Engine.


However, they have a dual licensing plan, where everything you make with the engine is forced under GPL, unless you pay for a commercial license. I'm not saying that it's a bad engine, they even say that they are very relaxed about the licensing fees. However, the fact that it even involves the GPL scares me.



So my question is basicly, how does one escape the GPL.


Here's an example: The id Tech engine, also known as the Quake engine, or the Doom engine, was the base for the popular Source engine. However, the id Tech engine has been released under the GPL, and the Source engine is proprietary. Did Valve get a different license? Or did they do something to escape the GPL? Is there a way to escape the GPL? Or, if you use GPL'd source code as a base for another project, are you forced to use the GPL, and make your source code available to the world. Could some random person take the id Tech engine, modify it past the point of recognition, then use it as a proprietary engine for commercial products? Or are they required to make it open source.


One last thing, I generally have no problem what-so-ever with open source. However I feel that open source has it's place, but that is not in the bushiness world.



Answer






  1. If you hold copyright on source code, you can release that code however you like. Releasing it under GPL does not preclude a release under another non or even more restrictive license. I am not sure of the particulars of Source/id Tech but would suppose that Valve negotiated their own license.




  2. If you use GPL code in your project, you are required to provide the source code to the users. This does Not mean you are required to run a website or keep a copy of it to provide on demand. This does Not mean that you are required to make all changes public as soon as you make them - it is only when you redistribute the software, that the code and the changes you make go with it. (http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic)




  3. If you use even a line of GPL code in your project, you are now bound by the terms of the GPL. One (though not the only way) is to release your code under GPL as well (or don't release it at all).
    If you modify it past the point of recognition and do not abide by the terms, you will probably get away with it (i.e. you won't be sued) but just because you'd get away with it doesn't mean you aren't in violation of the license, or make it right.





  4. To use 'GPL'd code' without GPL you have to get it under another license, so that its no longer 'GPL'd code' (by paying Cafu). There is no way out of the GPL - it was designed specifically to be a viral license by its inventors and its purpose would be negated if it were possible.




That said, if you want to use GPL code in your program, you could create a standalone entity that your application utilizes (whether dynamic linking satisfies this is debatable - but generally it's accepted that when the result is a single program, the GPL is invoked). So for example, you could create a new project with GPL code and yours, that you release with your (proprietary) application, along with the GPL and source code. Your application communicates with it however via CLI or RPC and therefore can remain free of the GPL.


Nowadays many developers adopt LGPL, which allows linking in most of its forms without GPL transferring to the destination project. (If you modify the library itself however, you must still provide the code of the library.)


Note that further to Point 2, it is considered polite to publish any improvements you make to open source code, regardless of the license.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...