Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

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.

share|improve this question
3  
You answered your own question with the quote you provided. Also, Source (HL2) was not based upon Quake. You're thinking of GoldSrc (HL1). –  Justin Skiles Aug 19 '12 at 13:47
    
It's a shame this has been voted down because the question is clearly answerable and has several accurate responses. –  Kylotan Aug 19 '12 at 18:49
1  
Ask your lawyer, and for that matter ask the company who makes the engine, but as I understand it for game engines, the GPL may only apply to the code and any modifications you made to it, and not your other assets [such as maps, sounds, art, and so on]. Why isn't that acceptable to you? –  Random832 Aug 20 '12 at 4:36
1  
You might as well ask how you can steal source code from Microsoft and get away with it. You have two options and two options only: play by the rules the owner of the code stipulates with his license(s) and/or fees, or go use something else. –  Sean Middleditch Aug 20 '12 at 20:56
1  
"However I feel that open source has it's place, but that is not in the bushiness world." But you think just using someone's code and neither paying for the commercial license nor accepting the terms of the alternative one has its place in the business world? This is not so much business as theft. Not that this hasn't happenened in the business world often enough... — It seems like you really do want open source (understandably) from the programmer's point of view, but have a rather dogmatic aversion against it from the monetary point of view. Well, these views aren't compatible. –  leftaroundabout Aug 21 '12 at 9:24

10 Answers 10

up vote 22 down vote accepted

(I am not a lawyer, but..)

  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 licensed it before it was released under GPL.

  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 GPL license and must make sure you abide by its terms.*
    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) (if you only provided binaries you'd get away with it even without modifying it since no one would know!) but just because you'd get away with it doesn't mean you still 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 which your application utilises (whether dynamic linking satisfies this is up for debate - but generally its 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 RPCs and therefore can remain free of the GPL.

Nowadays though most open source developers understand the reality of the ecosystem and adopt LGPL, which allows linking in most of its forms without the GPL infecting the destination project. (If you modify the library itself however, you must still provide the code of the library.)

This is not the place to address your last point; I can't see a reason to include it, but I will say that I there may be confusion over the definition of 'open source'. Open Source Is Not Equivalent to GPL/GNU. The GPL license and the personalities and principles which created it are highly contentious even within the open source world. (At this I would link to fuckgpl.com but it appears to have gone away...)

In any case, there are many, many licenses used by open source developers available most much more palatable, and much more popular, than GPL and I feel safe in saying that the 'business world' of which I am a member would not be anywhere near as advanced and prosperous as it is now without open source software in one form or another.

(*Edited as per TRiG and Evan's corrections)

share|improve this answer
8  
If you use even a line of GPL code in your project, your project is now under the GPL license. No. If you use a line of GPL code, your project falls foul of the GPL license, and whoever wrote that line can sue you. One possible remedy is to release your project under the GPL, but that does not automatically happen. –  TRiG Aug 19 '12 at 23:38
3  
(This still does not stop you from selling it or releasing under a less restrictive license in addition to the GPL...) Yes, it does. If I release code under GPL, someone else can't come along and just put that same code into (say) the public domain. I still own that code; I only made it available to others on the conditions of the GPL. –  Evan Harper Aug 20 '12 at 4:44
4  
Despite some minor inaccurances, +1 because it mentions the most obvious, easiest, quickest and most widely approachable solution: To use 'GPL'd code' without GPL you have to get it under another license. Contact the copyright holders, negotiate a different licence. This obviously works for any other licence too. –  Martin Sojka Aug 20 '12 at 5:02
9  
This answer, and all comments miss one important condition: GPL conditions apply to distribution, not use. If you use a thousand lines of GPL code in your internal tooling (which you don't distribute), then still you are not bound by the GPL terms. –  MSalters Aug 20 '12 at 10:02
1  
"you will probably get away with it". Hmmm I just love that warm and fuzzy feeling I get from this answer. –  Trevor Boyd Smith Aug 20 '12 at 12:52

You escape the GPL by paying the developers for a commercial license.

share|improve this answer
25  
+1, I think Captain Obvious is somehow not registered on stackexchange :) –  teodron Aug 19 '12 at 13:46
1  
+1, although to be more accurate you secure permission to use the code without the GPL. It doesn't necessarily mean you have to pay (although it often will). –  Kylotan Aug 19 '12 at 18:48
    
not really, you are saying this like there always will be a commercial alternative for each GPL license on earth; it depends on what is the strategy of the owner of that code. –  user827992 Aug 19 '12 at 18:52
4  
I would say "You escape the GPL by paying the developers for a commercial license, thus giving them an adequate share of the money you hope to make as a reward for the many person-years of effort that they put in writing it". –  DJClayworth Aug 20 '12 at 1:25
1  
Nearly, "You escape the GPL by paying the developers for a copy of the code that does not have GPL encumberance (something like MIT)." –  Jonathan Dickinson Aug 20 '12 at 7:18

You're basically asking "How do I steal someone else's code?" If you want to use someone's copyrighted code, you have to get a license from them. If the only license you have from them to use their code is the GPL then you must abide by it or you are violating their copyright. If you can get them to give you a different license for their code then that is fine, but you don't escape the GPL.

share|improve this answer
2  
-1. You do escape the GPL: because they give you a completely different license. You are not stealing their code either - if you go through the steps that they ask you to (e.g. paying money). –  Jonathan Dickinson Aug 20 '12 at 7:19
5  
No, in that case your use of their code has absolutely nothing to do with the GPL. Escape implies being trapped by something. –  Jason Goemaat Aug 20 '12 at 16:22
    
@JonathanDickinson I think his point here is that the OP doesn't seem to want to pay for a license. He wants to get it for free, but without the GPL restrictions. –  Paul Aug 20 '12 at 16:47
    
This made me gravitate toward the encumbrance (instead of stealing) "However, the fact that it even involves the GPL scares me." It sounds more like (well founded) fear of the GPL banner hanging over the code. –  Jonathan Dickinson Aug 20 '12 at 20:54
1  
@Jonathan. The OP says that zie knows nothing about licenses, so I suspect hir fear of the GPL is not "well founded". –  TRiG Sep 3 '12 at 15:32

Do you actually need to escape the GPL? All the GPL requires you to do is release your own source code under the GPL. It does not apply to game levels, art assets etc. You can still sell your game and make the code available via the GPL to people who buy it if they want it, or make it available online to everyone.

The only issue is if you want to use third-party non-GPL libraries, as then you won't be able to distribute them along with your GPL engine.

If you do need to escape the GPL, look at their licensing page they sound flexible enough that you should be able to come to an agreement.

share|improve this answer
    
I agree with this answer, especially since most people don't really add that much additional value when using an engine. It's the other assets that is really where the value is. –  Paul Aug 20 '12 at 16:50

There are a lot of misunderstandings about what the GPL actually is and actually means, and I'm detecting one in your question:

everything you make with the engine is forced under GPL

That's actually not the case at all. The engine source remains under the GPL for sure, but it pays to have a read of the GPL FAQ, particularly the parts of it that relate to the output of a GPL program, which I believe are relevant here: http://www.gnu.org/licenses/gpl-faq.html#GPLOutput

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free?

In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert his own data, the copyright on the output belongs to him, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program. For instance, part of the output of Bison (see above) would be covered by the GNU GPL, if we had not made an exception in this specific case.

You could artificially make a program copy certain text into its output even if there is no technical reason to do so. But if that copied text serves no practical purpose, the user could simply delete that text from the output and use only the rest. Then he would not have to obey the conditions on redistribution of the copied text.

This changes your situation quite a bit. You're not actually in a position where any content you develop for or with this engine also falls under the GPL; that content is yours, you own the copyright for it, and you can license it as you wish.

IANAL, etc

share|improve this answer
2  
I don't know anything about the specific engine, but the above is only true if the engine takes your game designs and produces a standalone game as a result. If the engine itself, or part of it gets distributed with the game, or linked into the code of the game, the GPL applies to the whole thing. –  rjmunro Aug 20 '12 at 21:40
    
I believe that it's quite possible for an engine to be GPL but game content to not be. Game content is not code and does not get "linked to" the engine in the same way as code does; maps, textures, models, etc don't get linked to the engine in this way. Unfortunately the GPL FAQ is unclear on this (which is a valid reason to want to avoid using the GPL). –  Darth Satan Aug 21 '12 at 8:13
    
This answer describes more what happens with content produced with some GPL tool. Like a document written in a GPL text editor will not be forced to be GPL. But this cannot be translated to a game engine. A game engine doesn't take code and produce some stand alone game with no relation to the engine - you will include all the engine in your game. –  Matsemann Aug 21 '12 at 11:09

Only the person, the group of people, or the activity that owns the code can change its own license.

If that code is yours you can change license every time you want, decide to be payed or not, you can do what you want, but if the code it's not yours you stick with the license if you want to avoid troubles; big troubles.

The owner can also refuse to accept to be payed, it's a situation like the one that you have with the patents, if you can prove that you own the code doesn't mean that you are putting it on the market for money, many many times the patent or the license is supposed to force the market or the user to stay in a confined space.

The answer is no and the only way to change the license is hoping that the owner will do that.

share|improve this answer
    
Quite good as a general answer - however in this case it's apparant that they do accept payment for copies of the code with a different license. +1 (I also give more general answers :) ). –  Jonathan Dickinson Aug 20 '12 at 7:20

The idea is simple - if company wrote the code, it thus owns all the rights, and thus it can give it to some parties under GPL license, to others under commercial license, and to someone else they can give it as a gift, or rent, or whatever they want.

The fact that they provided the code to some party under GPL, places GPL restrictions on that party, but it can place no restrictions on code owner.

Only, if code owner used in their software some 3-rd party GPL code, written and owned by someone else, then their whole project is locked into GPL forever (or until they remove this 3-rd party GPL code or obtain a non-GPL license for it). Please note that that the same is equally true for no-GPL, 100% commercial engine - if they happen to include some GPL code, they violate GPL, have no right to sell commercial licenses and you have no right to buy such license.

Thus, if all the code in the "Cafu Engine" is written by Cafu staff, you have no problem with the GPL. If you get a commercial license from Cafu, then the GPL license does not apply to you at all.

share|improve this answer
    
This answer is all good, except it seems to assume that the original poster is part of the Cafu staff and owns the code, which does not appear to be the case. –  Kylotan Aug 20 '12 at 10:21
    
I did not assume that. I wonder what made you think so. –  Sandman4 Aug 20 '12 at 13:54
    
Your last paragraph pretty much says that, because it equates "Cafu staff" to "You". –  Kylotan Aug 20 '12 at 13:59
    
@Kylotan Edited the last paragraph to make it a bit more clear. Can't word it properly though, everybody is welcome to phrase it better. –  Sandman4 Aug 20 '12 at 14:05
    
This is the best answer by a long way. I've edited the last paragraph, but don't have edit privs on this site, so it will have to wait for approval. –  rjmunro Aug 20 '12 at 22:19

There's one way to "escape" GPL or (practically) any other license. Make a clean-room implementation.

Hire two groups of people. The task of the first group is to study the original material in minute detail and describe it. The second group, who never, ever get to see the original material, will write a new implementation based on the description.

This is how BIOS on original PC clones was created; the BIOS was the only bit IBM didn't let other people copy.

This doesn't mean that you're safe from lawsuits.. patents and "look and feel" crap is still out there, and at least in the US, anyone can sue anyone for no particular reason (or at least it seems so..)

share|improve this answer

Regarding the question about the Quake engine: code can be released under GPL and also under other licenses. Valve licensed Quake by paying money to iD. Later, everyone in the world was granted a GPL License (sic) to use the Quake source code. When iD GPLed the engine, they didn't retroactively convert other licenses to GPL; that would be impossible. In fact, iD can still license the Quake engine under a different license if they wish, as they own the original copyright.

share|improve this answer

I'm not a lawyer but I've seen the film.

  1. Break up some of the slats in your bunk to form tunnel supports
  2. Dig tunnel.
  3. Hide soil under trousers and sprinkle in exercise yard. (Being careful to blend in the different coloured dirt.
  4. Make fake ID and outside clothing from sundry prison items.
  5. Choose right night to break out from tunnel.

:-)

share|improve this answer
    
I don't know if a LOL deserves a +1 or not... –  Code-Guru Aug 20 '12 at 21:54
    
I didn't like the question, but try not to give angry answers on the 'net so tried humour instead. –  Paddy3118 Aug 21 '12 at 7:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.