Use of GPL'd engines question.
by Carl Kidwell · in General Discussion · 03/23/2003 (3:00 pm) · 15 replies
Greetings folks,
I had some questions about use of GPL'd game engines in a for-profit model. The engine(s) in question right now are the Quake 1 and Quake 2 engines as well as some splinter projects like qbism or tenebrae.
The main question I run into that doesn't seem to be addressed through reading the GNU GPL FAQ and other GPL FAQ's is; while its clear any code changes I make if I use one of these engines is obviously covered under GPL - but what about my art assets?
In other words - if I create 350MB of textures, models, sounds, and maps - then sell the game to someone, can the person now redistribute not only the source code, but my art assets for free under the GPL?
On the surface the answer seems to be no - only the source code is GPL'd. However upon further analyzation this seems to violate the spirit of the GPL. However of course - in all the GPL FAQ's it only references source code.
I am not an open source programmer, just a 2d/3d artist thinking about making an entire game or proof of concept demo on my own using one of these engines, but don't want to spend a lot of time and resources to eventually find that I will be giving away all of my artwork for free.
Its possible in the end I may decide that this is OK even if it does cause my art to be free, how many people have made their own games by themselves? :) But its the biggest unanswered question I have as of yet and i wanted to run it by the community here as there are many programmers and perhaps you've run into this issue before and have some insight to share?
thanks in advance!
I had some questions about use of GPL'd game engines in a for-profit model. The engine(s) in question right now are the Quake 1 and Quake 2 engines as well as some splinter projects like qbism or tenebrae.
The main question I run into that doesn't seem to be addressed through reading the GNU GPL FAQ and other GPL FAQ's is; while its clear any code changes I make if I use one of these engines is obviously covered under GPL - but what about my art assets?
In other words - if I create 350MB of textures, models, sounds, and maps - then sell the game to someone, can the person now redistribute not only the source code, but my art assets for free under the GPL?
On the surface the answer seems to be no - only the source code is GPL'd. However upon further analyzation this seems to violate the spirit of the GPL. However of course - in all the GPL FAQ's it only references source code.
I am not an open source programmer, just a 2d/3d artist thinking about making an entire game or proof of concept demo on my own using one of these engines, but don't want to spend a lot of time and resources to eventually find that I will be giving away all of my artwork for free.
Its possible in the end I may decide that this is OK even if it does cause my art to be free, how many people have made their own games by themselves? :) But its the biggest unanswered question I have as of yet and i wanted to run it by the community here as there are many programmers and perhaps you've run into this issue before and have some insight to share?
thanks in advance!
#2
A very important concept of the GPL is that it isn't a commercial license... What do I mean by this? I mean it has nothing to do with commercial licensing...
Many many many people are confused by the GPL ... it's really very simple... if you release a binary that contains GPL source code ... you must release all of the source code in that binary... that's pretty much it... and what people mean by copy left...
The GPL allows you to charge whatever you can get for the work... and games are in a special place, because content, especially in the indie market... can be the true worth :)
In my own little cosmos... I use Open Source code a lot... for retail games even... Open Source does not equal GPL... there are a ton of license options... http://www.opensource.org/licenses
For my indie efforts, I'll use GPL code: but only if there is a closed source option. ie. a dual license... Quake I and Quake II fall into this category...
-J
03/23/2003 (3:23 pm)
Tim is right...A very important concept of the GPL is that it isn't a commercial license... What do I mean by this? I mean it has nothing to do with commercial licensing...
Many many many people are confused by the GPL ... it's really very simple... if you release a binary that contains GPL source code ... you must release all of the source code in that binary... that's pretty much it... and what people mean by copy left...
The GPL allows you to charge whatever you can get for the work... and games are in a special place, because content, especially in the indie market... can be the true worth :)
In my own little cosmos... I use Open Source code a lot... for retail games even... Open Source does not equal GPL... there are a ton of license options... http://www.opensource.org/licenses
For my indie efforts, I'll use GPL code: but only if there is a closed source option. ie. a dual license... Quake I and Quake II fall into this category...
-J
#3
As for art - when the FSF Europe chairman talked at the Blender Conference in October (2002) he explicitely said that the GPL does not cover content or art, but the code only. In FSF's opinion art falls into an entirely different category than code does, so even if you wanted to make "opensource" art, GPL is not the right licence for it. This was part of the discussion about what can and can not be done with Blender and GameBlender and people voiced concerns that making a game with the GPL GameBlender would put their game/interactive animation/rendered art at risk.
GPL itself is pretty strict and not really useable for projects that depend on commercial libraries or on making money from a technically superior product (enhancements to parts of the code), since GPL spreads over all code that has been linked with other GPL code into an executeable/library.
03/23/2003 (10:14 pm)
From what I know you are not allowed to use the GPL Quake1/2 engines in commercial projects, without paying for a licence. I might be wrong, though. As for art - when the FSF Europe chairman talked at the Blender Conference in October (2002) he explicitely said that the GPL does not cover content or art, but the code only. In FSF's opinion art falls into an entirely different category than code does, so even if you wanted to make "opensource" art, GPL is not the right licence for it. This was part of the discussion about what can and can not be done with Blender and GameBlender and people voiced concerns that making a game with the GPL GameBlender would put their game/interactive animation/rendered art at risk.
GPL itself is pretty strict and not really useable for projects that depend on commercial libraries or on making money from a technically superior product (enhancements to parts of the code), since GPL spreads over all code that has been linked with other GPL code into an executeable/library.
#4
Yup... you are wrong. :)
Again, commercial has nothing to do with the GPL... it is about releasing a binary and the need to make all source that makes up that binary available... if you release a binary for free and don't make code available you are still breaking the GPL... see... $$$ has nothing to do with it...
I agree with everything else you say... GPL + closed source is incompatible (again, the point isn't it being commercial)... planning to make money for being technically superior is fleeting at best...
I only use GPL code when there is a dual license situation... I want to have the option to close source if I want to... there are many other licenses out there... I actually don't like the GPL much...
-J
03/23/2003 (10:44 pm)
Quote:From what I know you are not allowed to use the GPL Quake1/2 engines in commercial projects, without paying for a licence. I might be wrong, though.
Yup... you are wrong. :)
Again, commercial has nothing to do with the GPL... it is about releasing a binary and the need to make all source that makes up that binary available... if you release a binary for free and don't make code available you are still breaking the GPL... see... $$$ has nothing to do with it...
I agree with everything else you say... GPL + closed source is incompatible (again, the point isn't it being commercial)... planning to make money for being technically superior is fleeting at best...
I only use GPL code when there is a dual license situation... I want to have the option to close source if I want to... there are many other licenses out there... I actually don't like the GPL much...
-J
#5
So, $$$ has something to do with it - or rather with the licences. The Blender Foundation is, for example, also offering non-GPL licences for the Blender code - simply because a] they want to make money, if possible, and b] some people don't like GPL. So, for example, GG could take Blender and fully integrate it with Torque for a powerful game creation suite, and use the source however they like. This option is more expensive than GPL, though. :o)
And, yeah, GPL is about as "free" as people in a communist regime ("You can do whatever you want with the code!", "Can I keep the changes then?", "No."). The only licence I regard as truly free is the one used by The Nebula Device.
03/24/2003 (12:18 am)
Uhm, I tought the Quake1/2 engines were GPL-ed for private or non-commercial use, but if you want to use the engines in a commercial project you have to go with the non-GPL licence of them (which in turn brings you in the position of not needing to release the code). So, $$$ has something to do with it - or rather with the licences. The Blender Foundation is, for example, also offering non-GPL licences for the Blender code - simply because a] they want to make money, if possible, and b] some people don't like GPL. So, for example, GG could take Blender and fully integrate it with Torque for a powerful game creation suite, and use the source however they like. This option is more expensive than GPL, though. :o)
And, yeah, GPL is about as "free" as people in a communist regime ("You can do whatever you want with the code!", "Can I keep the changes then?", "No."). The only licence I regard as truly free is the one used by The Nebula Device.
#6
I think you are missing the option of doing a commercial project *and* releasing your code... the GPL doesn't have a problem with this... only in keeping the code closed...
The GPL is a software license which you can read:
http://opensource.org/licenses/gpl-license.php
That's all... nothing more... some people chose to make it into a lifestyle though...
Your other comments fall into dual licensing ... You can dual license provided you are the copyright holder...
-J
03/24/2003 (12:28 am)
Samo,I think you are missing the option of doing a commercial project *and* releasing your code... the GPL doesn't have a problem with this... only in keeping the code closed...
The GPL is a software license which you can read:
http://opensource.org/licenses/gpl-license.php
That's all... nothing more... some people chose to make it into a lifestyle though...
Your other comments fall into dual licensing ... You can dual license provided you are the copyright holder...
-J
#7
If Q1/2 has a GPL version, you CAN use those for commercial products. You are not allowed to give out GPL'd material and then say what it can be used for.
The commercial license allows you to keep the source to yourself, for the GPL license you must make the source available. You can still sell something based on GPL for as much as you want. There is NO WAY they can restrict what you can do with your GPL code. They can't make you sign something that says "I agree to use this non-comercially." Furthermore, even if you did sign that it would be trivially easy to get around. Just distribute your source to your friend under GPL, then get it back from them. They didn't sign any agreement with Id, they can use the source however they want, including giving it to you. Then you get that "new" source back and go on your merry way.
03/24/2003 (12:30 am)
"Uhm, I tought the Quake1/2 engines were GPL-ed for private or non-commercial use, but if you want to use the engines in a commercial project you have to go with the non-GPL licence of them (which in turn brings you in the position of not needing to release the code)."If Q1/2 has a GPL version, you CAN use those for commercial products. You are not allowed to give out GPL'd material and then say what it can be used for.
The commercial license allows you to keep the source to yourself, for the GPL license you must make the source available. You can still sell something based on GPL for as much as you want. There is NO WAY they can restrict what you can do with your GPL code. They can't make you sign something that says "I agree to use this non-comercially." Furthermore, even if you did sign that it would be trivially easy to get around. Just distribute your source to your friend under GPL, then get it back from them. They didn't sign any agreement with Id, they can use the source however they want, including giving it to you. Then you get that "new" source back and go on your merry way.
#8
Yup... I think the big stumbling block people have is the term commercial...
It's more like a "closed source license" from id Software in this case :)
-J
03/24/2003 (12:34 am)
James,Yup... I think the big stumbling block people have is the term commercial...
It's more like a "closed source license" from id Software in this case :)
-J
#9
I tought iD decides what licence you are allowed to use the engine under based on the type of the project (non- or commercial). Now I see it was a stupid assumption (I tought of it as of a finished software product that one can have a student/normal licence for), my apologies. :o)
"Furthermore, even if you did sign that it would be trivially easy to get around. Just distribute your source to your friend under GPL, then get it back from them. They didn't sign any agreement with Id, they can use the source however they want, including giving it to you. Then you get that "new" source back and go on your merry way."
Erm, doesn't iD still hold the copyright to their code, even if it wandered from me to my friend and back? Now GPL can not be "un-done", for a specific version of the software, true, so it doesn't matter anyway. But aren't they in a position where they can potentialy restrict it's useage, no matter what licence it's under? After all it's their work. Or are there any guidlines that define to what extent code must be changed to be regarded as "my work already" instead of "still theirs"?
(Might be off topic but I think it's an interesting topic)
03/24/2003 (2:12 am)
Ah, my bad, I misunderstood the terms of iD - I tought that for commercial projects they require you to buy the non-GPL licence. I do understand what GPL allows and what not - and that it allows you to sell the software. I tought iD decides what licence you are allowed to use the engine under based on the type of the project (non- or commercial). Now I see it was a stupid assumption (I tought of it as of a finished software product that one can have a student/normal licence for), my apologies. :o)
"Furthermore, even if you did sign that it would be trivially easy to get around. Just distribute your source to your friend under GPL, then get it back from them. They didn't sign any agreement with Id, they can use the source however they want, including giving it to you. Then you get that "new" source back and go on your merry way."
Erm, doesn't iD still hold the copyright to their code, even if it wandered from me to my friend and back? Now GPL can not be "un-done", for a specific version of the software, true, so it doesn't matter anyway. But aren't they in a position where they can potentialy restrict it's useage, no matter what licence it's under? After all it's their work. Or are there any guidlines that define to what extent code must be changed to be regarded as "my work already" instead of "still theirs"?
(Might be off topic but I think it's an interesting topic)
#10
03/24/2003 (6:33 am)
All of these licensing discussions are really making my head spin. I sometimes wonder if these licenses are really meant to help us or hinder us.
#11
And, if you opt to not release your code, you have to pay the $10,0000 and not worry about it. Of course, if you're also using a splinter groups GPL'd code to add, say per-pixel shading ala Tenenbrae, then you also have to work with the group in question to secure close-source permission from them as I understand it. And I may be wrong on that. I do know that there was quite a row a while back on Quakesrc about a company that was using GPL'd code in the closed engine, but I never saw what happened with it.
Quake 3's SDK license is for non-commercial development. The previous quakes were as well until they were released under the GPL. Unreal and such are under similar licenses which come down to: make stuff for our game, but don't sell it. If you want to, then give us the money we deserve for it.
That's how I understand it, at least.
03/24/2003 (6:49 am)
They do hold the copyright to their code. What they've changed is their licensing procedure. They're not giving up any copyrights or trademarks. They're simply changing the licensing scheme.And, if you opt to not release your code, you have to pay the $10,0000 and not worry about it. Of course, if you're also using a splinter groups GPL'd code to add, say per-pixel shading ala Tenenbrae, then you also have to work with the group in question to secure close-source permission from them as I understand it. And I may be wrong on that. I do know that there was quite a row a while back on Quakesrc about a company that was using GPL'd code in the closed engine, but I never saw what happened with it.
Quake 3's SDK license is for non-commercial development. The previous quakes were as well until they were released under the GPL. Unreal and such are under similar licenses which come down to: make stuff for our game, but don't sell it. If you want to, then give us the money we deserve for it.
That's how I understand it, at least.
#12
The good news for all of us is that, thanks to Disney, intellectual property has a massive lifespan in the US. So start snapping up ideas left and right, kids -- there are only so many unique ideas left. ;)
03/24/2003 (6:49 am)
Well, I think in the Quake source code situation, if you removed all of te art assets and replaced them with placeholders (including levels etc) you could sell the game immediately, as-is. The CODE that they have put out there is GPL'd -- that means all of the code you can download is under GPL. However, the art assets are still the intellectual property of iD software -- for the same reasons that people can't rip off all of YOUR art, you can't download the Quake 1 source and resell Quake 1 (or 2).The good news for all of us is that, thanks to Disney, intellectual property has a massive lifespan in the US. So start snapping up ideas left and right, kids -- there are only so many unique ideas left. ;)
#13
It's very tiny... and very cool... a game engine in the palm of your hand.
Once this is done I am moving the client/server architecture to Nebula and getting D3D and OpenGL rendering hooked up via it's scenegraph...
Nebula has Python, Lua, and TCL scripting support... oh, and it can even be used as a Python extension out of the box... I'll be moving the remaining game code (plats/doors/triggers) over to Python after the rendering is hooked up...
I will release all of this code... BSD for the Nebula stuff... and GPL anything with Quake2 bits...
Now, I am just awaiting official word that those darned tools are GPL :|
-J
03/24/2003 (7:08 am)
I'm in the process of creating a minimal Quake2 ... just the necessary client, server, and rendering code to run around in levels with moving/rotating platforms/doors ... push button triggers and stuff... no Quake2 game specifics at all ... no menus, no client fx, no nothing... just good quality Carmack (and Hook) :)It's very tiny... and very cool... a game engine in the palm of your hand.
Once this is done I am moving the client/server architecture to Nebula and getting D3D and OpenGL rendering hooked up via it's scenegraph...
Nebula has Python, Lua, and TCL scripting support... oh, and it can even be used as a Python extension out of the box... I'll be moving the remaining game code (plats/doors/triggers) over to Python after the rendering is hooked up...
I will release all of this code... BSD for the Nebula stuff... and GPL anything with Quake2 bits...
Now, I am just awaiting official word that those darned tools are GPL :|
-J
#14
http://www.quakesrc.org/forum/viewtopic.php?t=729&highlight=quake2+tools+gpl
Though I do find it interesting that their ftp directory has the q1tools_gpl.tgz file but no q2tools_gpl there.
03/24/2003 (8:15 am)
The compile tools appear to be legal for use. It's the editor itself that is not.http://www.quakesrc.org/forum/viewtopic.php?t=729&highlight=quake2+tools+gpl
Though I do find it interesting that their ftp directory has the q1tools_gpl.tgz file but no q2tools_gpl there.
#15
The engine is GPL'd yes you can charge for it - and as others have noted you simply have to include or make available to source to those you sell the binaries to.
- IF YOU WISH - id will license you a NON GPL Q1 or Q2 code base so you can keep your own additional code private and not have to have a GPL engine.
To the rest of you - thanks so much for the discussion and feedback it was quite helpful!
Carl
04/14/2003 (1:09 pm)
While I see its already been covered I wanted to respond with a quick clarification to Samo:The engine is GPL'd yes you can charge for it - and as others have noted you simply have to include or make available to source to those you sell the binaries to.
- IF YOU WISH - id will license you a NON GPL Q1 or Q2 code base so you can keep your own additional code private and not have to have a GPL engine.
To the rest of you - thanks so much for the discussion and feedback it was quite helpful!
Carl
Associate Tim Newell
Max Gaming Technologies
Your artwork remains your Intellectual property. When creating a GPL app it does not see the art as part of it. So when you make a GPL game your simple packaging the GPL stuff with some art stuff in the same download. Also you do not have to make your source publically available. Only people who have the binaries are you required to provide source too. My first game was GPL so I just put the source code in the package with the game so the people who supported me would get my source code.
-Tim aka Spock