PDA

View Full Version : Quake III source GPL'ed within a week


Jim Buck
08-13-2005, 01:18 AM
For those who care:

http://www.shacknews.com/onearticle.x/38187

soniCron
08-13-2005, 02:01 AM
That's excellent! I've always thought the Quake 3 engine was to 3D what SNES was to 2D. They both finally reached a high enough quality that it wasn't necessary to fight to make decent looking graphics. While neither is ideal for all situations, especailly super-realism, they're both excellent platforms (visually) for artistic thought to be conveyed without much hinderance. I remember thinking when the SNES came out that as cool as the graphics look, they'd never look bad in the future. I felt the same way when I saw Quake 3. It's great to see such a powerful engine available to the masses! I've been awaiting this day for a long time. :)

Jack Norton
08-13-2005, 02:26 AM
It may be a stupid question, but if I use the Q3 engine in a game, I should release all my code publicly too or not? (never understood well that GPL license)
Also Q3 engine isn't cross-platform I think, or am I wrong?

Bad Sector
08-13-2005, 02:33 AM
If you modify GPLd code or use it with your own, then the result must be licensed under the terms of the GPL which states that the source code must be available for anyone.

This doesn't mean that you have to publish the source code with the game or have it for download, but it's by far the easiest and more "secure" way to comply with the GPL.

Robert Cummings
08-13-2005, 03:20 AM
Of course you still need to pay to sell anything with it... so whats the point?

Bad Sector
08-13-2005, 05:40 AM
no you don't

revve
08-13-2005, 05:53 AM
The GPL license specifically says that you are allowed to do anything you want to with the software/code under the GPL, except for claiming it's your own (ie - give ID some credit). You must also make your source code changes available to anybody that asks for it. This means you can sell a compiled binary, without having to give a free version away. All you have to do is create some sort of auto-reply e-mail account (or website) where people can get the changes you made to the code.

In theory, you don't have to even publish the original GPL code, you can just say that your program/game is based on the Quake3 source, and then publish a unified diff file with the changes you made. You must give this file out to anybody that asks, even though they might not be a customer. AFAIK, your game data (maps, etc) does not fall under the GPL, so there is no obligation to make this available to anybody.

AlexN
08-13-2005, 05:54 AM
Of course you still need to pay to sell anything with it... so whats the point?

You don't need to pay anything to idsoftware, as long as you comply the GPL. (which means you need to release the modified source as well)

Linusson
08-13-2005, 07:22 AM
I hope that they'll release all the tools under the GPL too, if I remember correct they usually don't (until later). Maybe they'll GPL the Quake 2 tools now, but personally I think that's way to late.

Dominique Biesmans
08-13-2005, 08:31 AM
Also Q3 engine isn't cross-platform I think, or am I wrong?

Yes! you're wrong. Id has always been a great proponent of cross platform development. Their engines are all C & OpenGL based. Quake 3 has binaries for win32, macosx & linux.

ggambett
08-13-2005, 09:22 AM
Of course you still need to pay to sell anything with it... so whats the point?Please do a tiny bit of basic research before posting such statements... your post is so wrong but written with such confidence (may I say arrogance?) that it would be very bad if someone believed it.
Also Q3 engine isn't cross-platform I think, or am I wrong?Yes it is... Enemy Territory runs just fine in my Linux box :)

Jim Buck
08-13-2005, 11:29 AM
If they released this like they released Quake1 and Quake2, then you *can* pay for Quake3 in order to have the right to *not* release your source code. With Quake1 and Quake2, it was $10,000.

Also, I believe you can release a game without releasing your source code if you only write the game logic .DLL (from scratch) in order to make your game and no other code changes to the engine itself.

Having said all that, I think I would still use Quake2 since it ran really really really really well on older hardware (even Win95), even in software-rendering mode. On Bluesnews, they posted a link to a Quake1-based space shooter game that looks pretty amazing knowing that it's using that engine.

soniCron
08-13-2005, 11:48 AM
In addition, who cares if you release the game code? With the exception of copy protection code and similarly private algorithms, what could you (public "you") have created that you want to keep from the rest of the world? I suppose it's somewhat embarrassing to show the world your (public "your") icky coding style and poor commenting, but who cares? I think this is a great opportunity for folks, and I fully intend to integrate my current engine with the Q3 source. Viva Quake 3 Engine!

Ricardo C
08-13-2005, 06:54 PM
This is great news indeed. Not that I'm in any shape to tackle the engine (as my recent thread on 3d world positioning readily shows), but it's very exciting to know it's out there.

I've been out of the loop for years when it comes to modding. Does QuakeC still exist? How is Quake III modding handled?

Badman
08-13-2005, 11:01 PM
In addition, who cares if you release the game code? With the exception of copy protection code and similarly private algorithms, what could you (public "you") have created that you want to keep from the rest of the world? I suppose it's somewhat embarrassing to show the world your (public "your") icky coding style and poor commenting, but who cares? I think this is a great opportunity for folks, and I fully intend to integrate my current engine with the Q3 source. Viva Quake 3 Engine!

Id will almost certainly release the Quake 3 source under the same license as the Quake 1 and 2 sources. If you read those licenses, you will discover that the code is released under the GPL only if your project is free - if you intend to make money off your project, you will need to buy a license from Id for $10,000.

Another reason to not make your game GPL if you wish to sell it is because the GPL deliberately allows anyone who obtains your game to make as many copies for as many people as he or she wishes - or simply post it on the internet. There is no such thing as "pirating" a GPL program; anyone who wants a copy can download one from anyone else who already has one free of charge. If you don't believe me, see: http://www.gnu.org/licenses/gpl-faq.html#TOCDoesTheGPLAllowRequireFee

I've seen a couple people get burned because they GPL'd something they intended to eventually make money off of. Don't make their mistake. Making something GPL means you give up all right to make money off it, forever.

Ricardo C
08-13-2005, 11:19 PM
Id will almost certainly release the Quake 3 source under the same license as the Quake 1 and 2 sources. If you read those licenses, you will discover that the code is released under the GPL only if your project is free - if you intend to make money off your project, you will need to buy a license from Id for $10,000.

Another reason to not make your game GPL if you wish to sell it is because the GPL deliberately allows anyone who obtains your game to make as many copies for as many people as he or she wishes - or simply post it on the internet. There is no such thing as "pirating" a GPL program; anyone who wants a copy can download one from anyone else who already has one free of charge. If you don't believe me, see: http://www.gnu.org/licenses/gpl-faq.html#TOCDoesTheGPLAllowRequireFee

I've seen a couple people get burned because they GPL'd something they intended to eventually make money off of. Don't make their mistake. Making something GPL means you give up all right to make money off it, forever.

From http://www.idsoftware.com/business/technology/techlicense.php

Many people are aware that the original QUAKE source code was publicly released by id in 1999 under the GNU General Public License ("GPL") [2]. However, many people don’t realize exactly what releasing the source under the GPL means, and don't understand how to exploit the opportunity to use the code. Thus, the GPL'd QUAKE engine is perhaps one of the most under utilized game technologies available. If, for example, you have an amateur team that is long on talent but short on cash and needs a proven engine to develop a game that can be distributed commercially, it doesn’t get much better than “Free.” If you abide by the GPL terms, then the QUAKE technology is truly just a gift from id. And, unlike some “bargain” licensors, we don’t impose ANY restrictions on your distribution channel: retail, Internet, shareware, magazine coverdisk – whatever YOU choose. This is really the perfect way to get noticed as a company or design team because you can do something cool and get paid, too.

For teams that don’t want to operate under the GPL, we’re now offering a "non-GPL" QUAKE engine license for a flat fee of $10,000 per title [3] with no backend royalty whatsoever. This means that you can grab the source and tools from our FTP site and sign a separate agreement with us, allowing you to keep your source modifications confidential (if you like).

iD never states that the code is only free if the products using it will also be free. They specifically mention commercial exploitation of the code in their tech licensing page.

As for the GPL, it is my undestanding that it only covers assets explicitly placed under it, and any derivative works thereof. Art assets that are part of a game made with GPL code are not automatically under the GPL, as only the altered GPL code counts as a derivative work. The artwork to iD's games is still closed to outsiders anbd under full copyright. The CODE is under the GPL, the games resulting from said code, are not. Same goes for anyone who uses it.

If you don't modify the engine code, your only obligation is to provide the source code to the engine to anyone who asks, but nothing else. If you modify it, you're obligated to release the modified code to the community. Your game logic, assuming it doesn't use iD code, is yours to protect as you please.

Badman
08-14-2005, 12:27 AM
From http://www.idsoftware.com/business/technology/techlicense.php

iD never states that the code is only free if the products using it will also be free. They specifically mention commercial exploitation of the code in their tech licensing page.

I'm not sure how you'd do this, as the GPL FAQ is very clear:

http://www.gnu.org/licenses/gpl-faq.html#TOCModifiedJustBinary

Can I release a modified version of a GPL-covered program in binary form only?

No. The whole point of the GPL is that all modified versions must be free software--which means, in particular, that the source code of the modified version is available to the users.

Even if you could, the fact that anyone who gets a copy can legally give out copies for free means that you cannot control the distrubution of your work, and if you cannot control the distribution, you cannot make money off it.

As for the GPL, it is my undestanding that it only covers assets explicitly placed under it, and any derivative works thereof. Art assets that are part of a game made with GPL code are not automatically under the GPL, as only the altered GPL code counts as a derivative work. The artwork to iD's games is still closed to outsiders anbd under full copyright. The CODE is under the GPL, the games resulting from said code, are not. Same goes for anyone who uses it.

This is a very gray area, one gray enough to cause me to steer clear of the GPL altogether. And I notice that now the GPL FAQ has removed their interpretation of this from their website! There used to be a question about a case where external files are necessary for a GPL'd program to run, and the answer was that if the files were required, they must be provided under the same license as the source (ie, the GPL). Thus, under this interpretation, it would not be possible to GPL the source and then charge for the art, models, levels, sounds, music, etc. (I despise this tactic anyway, since it suggests that designers, artists, modellers, and musicians deserve to get paid, but not programmers).

If you don't modify the engine code, your only obligation is to provide the source code to the engine to anyone who asks, but nothing else. If you modify it, you're obligated to release the modified code to the community. Your game logic, assuming it doesn't use iD code, is yours to protect as you please.

Not true. The GPL doesn't just mean "you must provide the source", it also means "you cannot prevent anyone from giving anyone else a copy of your program". Again:

http://www.gnu.org/licenses/gpl-faq.html#TOCDoesTheGPLRequireAvailabilityToPublic
If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?

No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.

I reiterate - do NOT use the GPL for anything you think you might want to make money off of in the future. It was specifically designed to prevent people from making money off of software, because the people who came up with it believe that making money off of software is immoral. (This is obvious just by reading the FAQ, which contains phrases like "To release a non-free program is always ethically tainted" and "More concretely, the versions of the programs linked with the Money Guzzler libraries would not really be free software as we understand the term".)

hanford_lemoore
08-14-2005, 12:48 AM
Your game logic, assuming it doesn't use iD code, is yours to protect as you please.

I've spoken with lawyers who have read the GPL and disagree with this. There is a fear among many software lawyers that ANY code that interacts with GPL'd code in a programmatic way might be considered a derivative work and therefore must be GPL'd too.

Ricardo C
08-14-2005, 01:07 AM
It's 3:42am here, so I'm gonna be quick about this, apologies if I'm not as thorough as I should.

Disclaimer: I'm not a lawyer, I'm related to one but he has jack squat to do with software. So take this for what its worth:

I'm not sure how you'd do this, as the GPL FAQ is very clear:

http://www.gnu.org/licenses/gpl-faq...ifiedJustBinary

Can I release a modified version of a GPL-covered program in binary form only?

No. The whole point of the GPL is that all modified versions must be free software--which means, in particular, that the source code of the modified version is available to the users.

Even if you could, the fact that anyone who gets a copy can legally give out copies for free means that you cannot control the distrubution of your work, and if you cannot control the distribution, you cannot make money off it.

"All modified versions". Modified versions of what? The GPL'd software. Which in this case, is the Quake 1/2/3 engine. The games powered by the engine are not under the GPL, only the engine is. The developers are obligated to provide the code to the GPL'd code they used, nothing more. Code that calls on an engine but that does not change the functionality of said engine, is not part of the it.

This is a very gray area, one gray enough to cause me to steer clear of the GPL altogether. And I notice that now the GPL FAQ has removed their interpretation of this from their website! There used to be a question about a case where external files are necessary for a GPL'd program to run, and the answer was that if the files were required, they must be provided under the same license as the source (ie, the GPL). Thus, under this interpretation, it would not be possible to GPL the source and then charge for the art, models, levels, sounds, music, etc. (I despise this tactic anyway, since it suggests that designers, artists, modellers, and musicians deserve to get paid, but not programmers).

The way I'm applying it to this particular situation, this means that any files needed by the engine must be GPL'd as well. The engine is a group of functions that cannot run by itself, and doesn't need visual/aural assets. The game powered by the engine, does. But as I explained before, the game is not under the GPL, so neither are the visual assets.

http://www.gnu.org/licenses/gpl-faq...abilityToPublic
If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?

No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.

Again, my interpretation is that the game that makes use of the engine is outside of the GPL's jurisdiction, and so the license cannot govern any re-distribution rights not established by the author.

I reiterate - do NOT use the GPL for anything you think you might want to make money off of in the future. It was specifically designed to prevent people from making money off of software, because the people who came up with it believe that making money off of software is immoral. (This is obvious just by reading the FAQ, which contains phrases like "To release a non-free program is always ethically tainted" and "More concretely, the versions of the programs linked with the Money Guzzler libraries would not really be free software as we understand the term".)

I know how Stallman and some of his followers feel about charging for software. But it is my opinion that their license fails to prevent commercial exploitation of GPL'd code, at least in certain circumstances.

Either that, or John Carmack himself is also terribly misunderstanding the license, since he's called for users of his GPL'd engines to make their software open source, which indicates he doesn't see the sharing of ALL code in a Quake-powered game as a mandatory condition of the GPL.

I've spoken with lawyers who have read the GPL and disagree with this. There is a fear among many software lawyers that ANY code that interacts with GPL'd code in a programmatic way might be considered a derivative work and therefore must be GPL'd too.

Are there any precedents?

The shooter Silver Wing, which uses the Quake 1 engine, is distributed as two installers: One for the game, and one for the engine. I'm assuming this is their way of covering their asses ¡n case someone tries to claim their entire game is under the GPL.

Jim Buck
08-14-2005, 01:47 AM
I've been out of the loop for years when it comes to modding. Does QuakeC still exist? How is Quake III modding handled?

Quake2 moved from QuakeC to a pure .DLL system for all the game logic. In id's case, they implemented their .DLL in compiled C. I *think* Quake3 uses a fully-functional C interpreter, but it's a vague memory.

soniCron
08-14-2005, 01:58 AM
Thus, under this interpretation, it would not be possible to GPL the source and then charge for the art, models, levels, sounds, music, etc. (I despise this tactic anyway, since it suggests that designers, artists, modellers, and musicians deserve to get paid, but not programmers). What sense does this make? It suggests that the original copyright holders have the right to release the portions of their software, in this case a game, as they please. John wants to open the engine source, but not the art assets. It's his prerogative and ironically, he's the programmer. (Ok. In reality, I'm not so sure he has the say what happens to the media, but the point remains.) I think the statement he's trying to make is that technology is just technology, but the art behind the technology is what makes the technology come alive.


I reiterate - do NOT use the GPL for anything you think you might want to make money off of in the future. It was specifically designed to prevent people from making money off of software, because the people who came up with it believe that making money off of software is immoral. (This is obvious just by reading the FAQ, which contains phrases like "To release a non-free program is always ethically tainted" and "More concretely, the versions of the programs linked with the Money Guzzler libraries would not really be free software as we understand the term".) You may want to read this (http://www.gnu.org/philosophy/selling.html). Quoted:

Many people believe that the spirit of the GNU project is that you should not charge money for distributing copies of software, or that you should charge as little as possible -- just enough to cover the cost.

Actually we encourage people who redistribute free software to charge as much as they wish or can.

gcarlton
08-14-2005, 02:02 AM
The way I'm applying it to this particular situation, this means that any files needed by the engine must be GPL'd as well. The engine is a group of functions that cannot run by itself, and doesn't need visual/aural assets. The game powered by the engine, does. But as I explained before, the game is not under the GPL, so neither are the visual assets.


I believe this is incorrect - in fact it is the main reason for the existance of LGPL. ODE is LGPL, which means you can link to it and keep your source under wraps. But for GPL, as soon as you dynamically link to the engine, your game must be GPL as well. Consider the wording in these cluster of answers:
http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

Also the wording of this indicates the "weakness" of LGPL compared to GPL:
http://www.gnu.org/philosophy/why-not-lgpl.html

It appears you can still sell your game, but effectively give away your source (oddly, you can charge for it but anybody who buys it can give then make it freely available).
http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLRequireAvailabilityToPublic

However, if you aren't concerned about giving away all your source code, you can make money off the product by selling it, and having the game content copyright (in a similar way to Q3 will be GPL but with copyright art).

Ricardo C
08-14-2005, 02:04 AM
Quake2 moved from QuakeC to a pure .DLL system for all the game logic. In id's case, they implemented their .DLL in compiled C. I *think* Quake3 uses a fully-functional C interpreter, but it's a vague memory.

Thanks for the info :)

Savant
08-14-2005, 02:18 AM
I love the GPL license. Nobody has any idea how it works or what it means, but they're quick to endorse it's wonders anyway. :)

Ricardo C
08-14-2005, 02:25 AM
I love the GPL license. Nobody has any idea how it works or what it means, but they're quick to endorse it's wonders anyway. :)

Or prop it up as the ultimate evil in the universe.

Robert Cummings
08-14-2005, 02:45 AM
So I can release my game, then charge 1 million for the source? no problem.

Larry Hastings
08-14-2005, 03:59 AM
Quake2 moved from QuakeC to a pure .DLL system for all the game logic. In id's case, they implemented their .DLL in compiled C. I *think* Quake3 uses a fully-functional C interpreter, but it's a vague memory.
It's much wilder than that. Carmack wrote a simple artificial VM engine that supported a basic assembly language. He then took lcc (http://www.cs.princeton.edu/software/lcc/), a simple open-source C compiler, and hacked in a back-end that produced programs for his virtual machine. Behold, game logic could now be written in C, but still run in a "sandbox".

Then, and I'm not sure if this happened before or after shipping Q3, he made a simple JIT for his VM for x86. Behold, it was like 3x faster.

After Q3 came out, people took the C code written for the VM and compiled it into DLLs; having the game code in DLLs was something intended just for development, but it worked fine on user's machines too. Behold, it was even faster.

You can read about the progression of the Q3A VM in the archives of Carmack's blog--er, plan (http://doom-ed.com/blog/category/doom-ed/john-carmack/). The 11/3/1998 entry announces the VM; I can't find an entry regarding the JIT, though it's mentioned in several Q3A FAQs.

Carmack's undying love for C is a curious thing. There are many, many new languages under the sun, and many of them would be a better match for game logic than clumsy, error-prone C. I've never used UnrealScript, but I suspect it is a far superior solution. It was tough sticking with it back in the days of 200MHz PCs, but these days I suspect the UnrealScript interpreter accounts for a miniscule amount of (say) UT2k4's CPU consumption on a modern PC.

Laser Lou
08-14-2005, 08:03 AM
So I can release my game, then charge 1 million for the source? no problem.

Not exactly. You can only charge the amount it costs you to make the copy. From the GPL:


3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

Jack Norton
08-14-2005, 08:12 AM
Well I have read enough, I don't want to hire a lawyer just to use a game engine, even if is Quake :)

(also , to make a 3d game with quake engine I would probably need a full team of artist!)

..off to writing the next 2d game...

Reactor
08-14-2005, 08:40 AM
Use Blitz3D. You could match Quake 3's engine with it.

Badman
08-14-2005, 10:16 AM
What sense does this make? It suggests that the original copyright holders have the right to release the portions of their software, in this case a game, as they please. John wants to open the engine source, but not the art assets. It's his prerogative and ironically, he's the programmer. (Ok. In reality, I'm not so sure he has the say what happens to the media, but the point remains.) I think the statement he's trying to make is that technology is just technology, but the art behind the technology is what makes the technology come alive.

This interpretation of the GPL came about when game developers started looking at the GPL and raised the objection that if Stallman, et al, got their way and all software was GPL'd, there would no longer be a commercial game industry. At which point all the GPL advocates went, "Uh...uh...uh...you can sell the assets! Yeah, you can make the PROGRAM free and sell the assets!" Which suggested to me that everybody on a game development team deserves to get paid except the programmers.

You may want to read this (http://www.gnu.org/philosophy/selling.html). Quoted:

Many people believe that the spirit of the GNU project is that you should not charge money for distributing copies of software, or that you should charge as little as possible -- just enough to cover the cost.

Actually we encourage people who redistribute free software to charge as much as they wish or can. If this seems surprising to you, please read on.


Smokescreen. The FSF started added language like this when it started becoming clear to people how anti-business and anti-capitalist the GPL is (this is the root of the whole FSF/OSS split). In the end, it doesn't matter that the license allows you to charge for copies. Since the license also makes it impossible for you to control distribution of your program, you simply cannot make money by selling a GPL'd program - which is why Linux distribution vendors make their money selling manuals and service contracts, not the software itself. That's not really a model that will work for game development.

ggambett
08-14-2005, 10:40 AM
Gabriel's Short Course on Making Money with the Quake 3 Engine
1) Download Quake3 Engine
2) Modify it as much as you want
3) Buy/make original assets
4) Sell your game, stating somewhere that the code is GPL
5) If one of your customers asks for the code, send him a diff between your source tree and the Quake3 source tree
6) Profit!!!

FAQ
Q: So someone can buy one copy of my game and then sell it?
A: No, they can't, for the same reason they can't do that with a closed source game. In particular, all the content is yours. They can make a game based on your code and sell it, but since you made a game based on FRIGGIN' QUAKE 3 you don't have too much to complain about, right?

soniCron
08-14-2005, 11:09 AM
Since the license also makes it impossible for you to control distribution of your program, you simply cannot make money by selling a GPL'd program - which is why Linux distribution vendors make their money selling manuals and service contracts, not the software itself. That's not really a model that will work for game development. Because? There are still art assets which can be sold but not redistributed.


Gabriel's Short Course on Making Money with the Quake 3 Engine
1) Download Quake3 Engine
2) Modify it as much as you want
3) Buy/make original assets
4) Sell your game, stating somewhere that the code is GPL
5) If one of your customers asks for the code, send him a diff between your source tree and the Quake3 source tree
6) Profit!!! For the record, only sending diffs is not allowed (http://www.gnu.org/licenses/gpl-faq.html#DistributingSourceIsInconvenient).

Ricardo C
08-14-2005, 11:17 AM
Smokescreen. The FSF started added language like this when it started becoming clear to people how anti-business and anti-capitalist the GPL is (this is the root of the whole FSF/OSS split). In the end, it doesn't matter that the license allows you to charge for copies. Since the license also makes it impossible for you to control distribution of your program, you simply cannot make money by selling a GPL'd program - which is why Linux distribution vendors make their money selling manuals and service contracts, not the software itself. That's not really a model that will work for game development.

You forget to mention that not all Linux distributions are free, of course.

Frankly, you're starting to sound more like a partisan interest than an independent observer.

Q: So someone can buy one copy of my game and then sell it?
A: No, they can't, for the same reason they can't do that with a closed source game. In particular, all the content is yours. They can make a game based on your code and sell it, but since you made a game based on FRIGGIN' QUAKE 3 you don't have too much to complain about, right?

Exactly what I've been saying all along.

Badman
08-14-2005, 03:38 PM
You forget to mention that not all Linux distributions are free, of course.

Frankly, you're starting to sound more like a partisan interest than an independent observer.

I just don't want to see indies waste what few resources they have making something only to realize that they can't make any money off of it because they released it under the wrong license.

Exactly what I've been saying all along.

This requires the whole "you can distrubute a GPL'd program and then sell the resources separately" thing. Carmack obviously believes that you can, but his belief means nothing, really - it's all up to the license, which currently says NOTHING about this situation, nor does the FAQ. And what it USED to say was not favorable.

Please note that in all three cases, Id software did not release GPL'd versions of their code until they were sure they'd made all the money they could off of the non-free versions. I have no problems with developers doing that. I do have a problem with developers getting seduced into using a license up front that may make it impossible for them to profit from what they are doing.

The point I am making is this. If you wish to be sure that you can make money off of something, your best bet is to NOT release it under the GPL. Do what Id did - release as commercial first, then re-release under the GPL once you've made all the money you can from the software.

Jim Buck
08-14-2005, 04:24 PM
id software will most certainly come down on anyone who tries to pirate the data from retail versions of Quake1/2/3 - it is most definitely not GPL'ed.

I think there is confusion with regards to the word "free". There is the concept of "free as in freedom" and "free as in beer". The GPL is meant to give someone the "freedom" to update the binary for fixing bugs, adding features, relinking in updated versions of libs (which in turns have bug fixes, added features, etc), etc. The graphics/level/sound/etc data doesn't fall under this classification.

Ricardo C
08-14-2005, 05:07 PM
I just don't want to see indies waste what few resources they have making something only to realize that they can't make any money off of it because they released it under the wrong license.

According to the GPL FAQ, the only party with the power to enforce the license is the person/company that placed the code under it to begin with. In this case, iD is the enforcer. And their interpretation of the license seems to be that while the engine is GPL'd, any subsequent games are only under the license if the developers so choose. They encourage it, but don't demand it. So I'd say it's pretty safe to use their technology to develop new games.

This requires the whole "you can distrubute a GPL'd program and then sell the resources separately" thing. Carmack obviously believes that you can, but his belief means nothing, really - it's all up to the license, which currently says NOTHING about this situation, nor does the FAQ. And what it USED to say was not favorable.

But as I just mentioned, the license can only be enforced by the entity that placed the code under it. Not by GNU, FSF, Stallman, or anyone else. And the enforcers where the Quake code is concerned, seem to be ok with my interpretation of the license.

Please note that in all three cases, Id software did not release GPL'd versions of their code until they were sure they'd made all the money they could off of the non-free versions. I have no problems with developers doing that. I do have a problem with developers getting seduced into using a license up front that may make it impossible for them to profit from what they are doing.

Which is a moot argument in light of a) Carmack's stance, and b)( Carmack's role as license enforcer.

The point I am making is this. If you wish to be sure that you can make money off of something, your best bet is to NOT release it under the GPL. Do what Id did - release as commercial first, then re-release under the GPL once you've made all the money you can from the software.

Which is actually allowed ;)

Gary Preston
08-15-2005, 03:55 AM
Not exactly. You can only charge the amount it costs you to make the copy. From the GPL:


3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

As Laser Lou says, You can sell GPL'd programs for as much money as you want. If I wanted I could take all the Quake3 source (assuming it is released under the GPL) compile it and stick the binary on my website for download for £50,000.

The catch is the moment you distribute anything that was based on the GPL you have to provide the full source and modifications for for a charge no more than your cost of physically performing source distribution

So although for you to buy the binary off me you'd have to pay £50,000, you do not need to pay anything to get at the source code. Thus there would be nothing stopping you or anyone else ignoring the binary and just downloading the source, compiling your own version and distributing both your own binary and source.

The GPL is there to protect the end users right to get access to the full source code, not to stop anyone making money from products. You just have to provide free access (or a reasonable cost if via mailing) to the source code.



Can I release a modified version of a GPL-covered program in binary form only?

No. The whole point of the GPL is that all modified versions must be free software--which means, in particular, that the source code of the modified version is available to the users.


That is true, however that clause again is there to protect the rights of access to the source code, not to stop you profiting from sales of the binary. You can still sell the binary if you wish, but you CANNOT sell or even give away just the binary. You must always accompany it with the source code (or provide access to the source code on demand for up to x years).

ID cannot stop you selling anything you make with the GPL'd version of the source, so long as you abide by the GPL that is.

They can however through dual licensing (since they own the original copyright) offer you the ability to license the source under another license than the GPL for £xx,xxx amount and thus by doing so allow you to distribute a binary only version.

GBGames
08-15-2005, 11:04 AM
I'm glad that so many people here understand the GPL. It saved me from having to type. Well, maybe.

For the record, you don't have to give the source away to anyone. Just to those who got the binary. You can charge as much as you want for the binary. The GPL only limits the amount you can charge for the source so that you can't charge $1,000,000 for the source and claim it free software.

It isn't "like copyright". It IS copyright. When you own the copyright to a work, no one can redistribute, copy, publish, or use it without your permission. The GPL, like any EULA, simply outlines what rights you do and don't have. It doesn't talk about your use of the software at all. It does talk about your rights with regards to editing, copying, distribution, etc. It is a violation of copyright law to edit or copy the work unless you abide by those terms.

Badman's concerns are valid. People shouldn't accidentally place a license on their work. I haven't heard of any cases where the GPL or any other license was applied accidentally, though. For the most part, people who want to make money from their work should be smart enough to read what right they have to do so. An artist won't release his/her work under the Creative Commons if he/she doesn't want other people to copy it, right? I don't see people up in arms about the Creative Commons stealing the livelihoods of artists and authors. Why is the GPL different?

The GPL doesn't make it impossible to make money. Free software doesn't mean that you need to give away your work at no cost. It refers to freedom. Unfortunately "free" has dual meanings and so a lot of people say "there's no such thing as a free lunch" as if it is an argument against the GPL. The statement may be true, but anyone who cares about freedom knows that freedom has a cost. Why should it be different with the GPL?

Also, the GPL in its current form was created before the Internet. Distribution is a lot easier now. GPL 3 is being modernized and should be ready next year. Businesses are being consulted over the wording. Businesses that have a profit motive.

The GPL isn't any more complex than most EULAs. It just requires the author to understand that he/she has a specific, contractual responsibility to the customer involving when, how, and how much.

Why is this license so hard to understand? Because even with all of the "IANAL" that usually goes with similar comments, you still have FUD from certain circles. The GPL, which levels the playing ground for all developers as opposed to giving legal monopolies for one company, is somehow communist, for instance. You still have fans of the GPL who don't fully understand it and think that it is about making software available at no cost. The people who think that just because it is under the GPL the source must be given to everyone, regardless if they got access to the binary, are an example. You have people who hear "free" and assume it means "no cost" and so therefore must mean "shoddy workmanship". You have plenty of software under the GPL that ARE free as in cost, which leads many people to believe that they MUST be that way. And you have people who are dead-set against it saying whatever they say as if it was fact, whether they know it or not.

No wonder it sounds confusing. B-)

soniCron
08-15-2005, 11:15 AM
I've got a question. Since you obviously have to release the source, how would one protect their game? Since we're in the habit of allowing users to try our games before they purchase them, this could be a real challenge. What's to stop someone from removing the "if (IS_UNREGISTERED)" code and sharing the new executable? Nothing, obviously. How would you limit the player with an open sourced engine?

ggambett
08-15-2005, 11:20 AM
Make separate downloads for demo/full and don't include all the assets with the demo.

Badman
08-15-2005, 11:36 AM
As Laser Lou says, You can sell GPL'd programs for as much money as you want. If I wanted I could take all the Quake3 source (assuming it is released under the GPL) compile it and stick the binary on my website for download for £50,000.

The catch is the moment you distribute anything that was based on the GPL you have to provide the full source and modifications for for a charge no more than your cost of physically performing source distribution

So although for you to buy the binary off me you'd have to pay £50,000, you do not need to pay anything to get at the source code. Thus there would be nothing stopping you or anyone else ignoring the binary and just downloading the source, compiling your own version and distributing both your own binary and source.

The GPL is there to protect the end users right to get access to the full source code, not to stop anyone making money from products. You just have to provide free access (or a reasonable cost if via mailing) to the source code.

Lordamighty, how many times do I have to say this? Since the GPL expressly forbids you from controlling how your software is distributed, it doesn't matter that you can charge for the program. No one will pay it; they will simply get a legal, free copy from someone who already has one. Thus, you cannot make money off of GPL'd software.

soniCron
08-15-2005, 12:01 PM
Make separate downloads for demo/full and don't include all the assets with the demo. Heh. :) I had a line in that last post that said, "Requiring a full download is obviously an option, but that isn't a solution," but I removed it. Perhaps I should have left it? ;) What I'm looking for is a method of distributing the entire game with all art assets included but inaccessable to anyone using a reprogrammed executable. Or is it even an issue?

See, what I was thinking was some sort of encryption. Perhaps the art assets could be encrypted using the compiled executable as the "key". This way, the original unmodified executable would have to be used to play the game and as such, the limitation code could be included without the risk of someone modifying the source to simply eliminate any registration checks. Modifying or removing the registration checks would cause the executable to have a different structure and fail to decrypt the media, thus making the game inoperable.

Of course, this could be circumvented simply by recompiling the program to use another file (the original executable) as the key and effectively allowing you to do whatever you want in the modified executable (remove registration checks, et al). However, by doing this, does this fall under violation of the DMCA? :D

Any better ideas?

HairyTroll
08-15-2005, 12:30 PM
the GPL expressly forbids you from controlling how your software is distributed, it doesn't matter that you can charge for the program.

You can however still limit how your software is distributed and therefore by extension also limit how the source is distributed.

Example #1: You add functionality to an existing GPL'd share trading application. You then sell this application to a large Wall Street trading firm. Because of the GPL you are forced to provide to your customer all the source including your modifications. They keep all this source under lock and key. That is all fine.

Now say the maintainer of the share trading application learns about your modifications and demands that you provide the source code to him because of the GPL. You can rightly deny to provide your updates to him as you did not provide the binary to him - he is not your customer.

Example #2: You add a bunch of stuff to the GPL'd flight sim Flight Gear (http://www.flightgear.org/introduction.html). You make it so damn good that you manage to sell it to a major airline as a flight trainer for millions. It makes headlines and the maintainers of Flight Gear demand that you release to them all your modifications to their GPL'd software. You refuse unless they pay you X millions. You are perfectly within your rights to do this. They are not your customer, the airline is. And as per the GPL, you provided the airline with all the code, including your modifications.

[EDIT: Added example #2]

Laser Lou
08-15-2005, 12:34 PM
No one will pay it; they will simply get a legal, free copy from someone who already has one. Thus, you cannot make money off of GPL'd software.
From what I see, there are a number of people and companies who make money from GPL'd software. An easy example is with Linux; many people make money off of it. It seems to require a savvy and creative approach, but it sure seems possible.

ggambett
08-15-2005, 12:46 PM
Requiring a full download is obviously an option, but that isn't a solution
Why not? (message too short, bla bla bla)

Diragor
08-15-2005, 12:48 PM
Lordamighty, how many times do I have to say this? Since the GPL expressly forbids you from controlling how your software is distributed, it doesn't matter that you can charge for the program. No one will pay it; they will simply get a legal, free copy from someone who already has one. Thus, you cannot make money off of GPL'd software.

The GPL does not, however, allow anyone to distribute your game content. Even now that Quake III's source code has been released under the GPL, even if that means you can compile and distribute the exe all you want, you still can't play the game without having a copy of all the models, maps, textures, scripts, etc, etc. You still can't legally play the game without buying it. Same goes for a derivative work.

(IANAL or an expert on software licenses)

soniCron
08-15-2005, 12:49 PM
Why not? (message too short, bla bla bla) Because then the only limitation available would be content limitation. You can't limit time, features, etc.

Gary Preston
08-15-2005, 04:51 PM
For the record, you don't have to give the source away to anyone. Just to those who got the binary. You can charge as much as you want for the binary. The GPL only limits the amount you can charge for the source so that you can't charge $1,000,000 for the source and claim it free software.


Exactly, and that is something many do not understand.

Although there is a case afaik where you may have to give the source to people who have the binary but may not have "bought" the binary from you.

This can arise when the person who has bought the binary from you proceeds to distribute it for free. If you havn't provided the source code with the binary, then you are required to extend a written offer granting access to the source code. The license extends this offer to all third parties that may receive the binary. So if those people request the source from you, you have to provide it even though they have not bought the binary from you.

This is covered in the GPL faq @ http://www.gnu.org/licenses/gpl-faq.html#WhatDoesWrittenOfferValid

That said, this does not deminish the possibility of making money through GPL software. A few Companies make money through a service based scheme where the software binaries may or may not be free, but the tech support is only available to paying customers.

Also as others have pointed out, just because someone can distribute your binary, it does not mean they can distribute all your graphics and sounds.

I think the reason there is so much confusion over the GPL is that the majority of people have spent very little time reading it and understanding the implications. That said, even those that have spent time reading it can still make mistakes, but that is not different to any other license. Anyone who has followed the D20 license over recent years will have seen a similar amount of confusion. This is going to happen because both the D20 and GPL are licenses that don't follow the norm.

GBGames
08-15-2005, 08:28 PM
I've got a question. Since you obviously have to release the source, how would one protect their game? Since we're in the habit of allowing users to try our games before they purchase them, this could be a real challenge. What's to stop someone from removing the "if (IS_UNREGISTERED)" code and sharing the new executable? Nothing, obviously. How would you limit the player with an open sourced engine?

Protecting your game in the usual way relies on the inability of most people to edit the code. When you release the source, you can't expect that doing the same thing will still offer you the same protection. Contrived example: it's like requiring a key to press a red button. If you remove the lock, no one needs the key anymore. Anyone can open the box that the red button sits in.

What you bring up is a valid concern. How do you provide copyright protection when the source code that would normally handle it can't?

There are many ways to deal with this issue, but I personally believe that copy protection is just a way of saying, "I don't trust you" to the customer. I have seen some games that simply say in varying degrees of niceness, "Do not distribute copies of the full version of this program", but I can't pretend to know how effective it can be.

A lot of arguments against the GPL are made that seem to assume that you should be able to use the GPL in the same way you would with your own proprietary code. You can't. It's a different animal entirely. My cat doesn't use silverware when he eats, but I don't think any less of him for it. He eats without silverware because he's a cat. He's different.

The GPL is meant to provide freedom, so expecting it to enforce copy protection which by definition restricts freedom is a gross misunderstanding of the word "free".

Diragor
08-15-2005, 10:17 PM
Protecting your game in the usual way relies on the inability of most people to edit the code. When you release the source, you can't expect that doing the same thing will still offer you the same protection. Contrived example: it's like requiring a key to press a red button. If you remove the lock, no one needs the key anymore. Anyone can open the box that the red button sits in.

If you'll allow me to play devil's advocate for a moment; assuming a reasonably mainstream-ish, casual game, how many potential customers do you think would have the ability or desire to compile their own version of your game executable to defeat a demo time limit (for example)? In your contrived example it's more like replacing your keyed lock with a combination lock and giving away a page of highly advanced calculus equations from which you could calculate the numbers necessary to open the lock. Source code is absolutely useless to most people.

soniCron
08-15-2005, 11:05 PM
In your contrived example it's more like replacing your keyed lock with a combination lock and giving away a page of highly advanced calculus equations from which you could calculate the numbers necessary to open the lock. Source code is absolutely useless to most people. Of course. But there's nothing legally stoping someone who can compile the source from distributing an "Absolutely FREE Version!" of the game. And once it gets around... well, wouldn't you like to have a free version of Chuzzle for your visitors? ;)

Aldacron
08-15-2005, 11:47 PM
Of course. But there's nothing legally stoping someone who can compile the source from distributing an "Absolutely FREE Version!" of the game. And once it gets around... well, wouldn't you like to have a free version of Chuzzle for your visitors? ;)

But without the content, there is no game. GPLed source does not give the user the right to distribute your content. Nothing's going to stop them from doing so, of course, unless you take action against them. But nothing stops the pirating of closed source games anyway. Really, there's no difference.

My gut feeling is that if someone gets out there and releases a GPLed game or two, they'll find it's still possible to make money. In fact, since no one is doing it yet, they will be hitting a niche market and that could be a boon. This is all conjecture, as is everything else in this thread. No one has followed this business model yet in the indie (or any other) game market, so until someone does we don't know what the result will be.

GBGames
08-16-2005, 07:09 AM
My gut feeling is that if someone gets out there and releases a GPLed game or two, they'll find it's still possible to make money. In fact, since no one is doing it yet, they will be hitting a niche market and that could be a boon. This is all conjecture, as is everything else in this thread. No one has followed this business model yet in the indie (or any other) game market, so until someone does we don't know what the result will be.

*cough* http://www.caravelgames.com/Articles/Games.html *cough* Not all conjecture, and I'm sure this is not the only example. I've asked Erik Hermansen awhile ago what challenges they had to face making open source shareware, and he basically said that it took some time before they were able to make money doing it. One of the challenges is the confusion about what open source shareware is. As I've said, people think that open source not only means at no cost but EVERYTHING should be at no cost. People think that they can redistribute the content, which they can't. Most of the concerns involve misunderstandings about what's open source and what's proprietary, but the only concern that they don't have a defense against is someone taking the source code and putting their own content in. When that happens, they have perfectly legal competition, but of course they went into it knowing it was a possibility. Like I said, no one accidentally uses the GPL and later says, "Whoops!" Besides, they already have a game. To make all your own content requires a time commitment. By the time any decent competition, with or without cost, arrives, they will already have multiple games so they'll always have a leg up. I won't pretend to list out the benefits, but obviously Caravel Games had a compelling reason or three to release their code open source.

And has been pointed out, most people don't care about the source code. I imagine that if you wanted to provide simple copy protection (if (!full_version) etc; ), it would still thwart most casual copying. Those who wish to pirate your game will do so whether your code is available or not.

Aldacron
08-16-2005, 07:21 AM
I just read an announcement at planetquake about a new game, from an indie Romanian team, called Silver Wings (http://www.bampusht.ro/screens.html). It's built on Telejano Quake (http://telejano.berlios.de/wiki3/) and is set to sell at $19.99.

Pyabo
08-16-2005, 02:40 PM
It's amazing how many people just absolutely refuse to understand how the GPL works.

That being said, this whole discussion is moot. Whether or not you base your game on GPL'd code is not going to make one bit of difference in your sales, or the number of people who pirate your game. Get over it.

soniCron
08-16-2005, 02:42 PM
That being said, this whole discussion is moot. Whether or not you base your game on GPL'd code is not going to make one bit of difference in your sales, or the number of people who pirate your game. Get over it. Have you any experience releasing commercial games using GPL'd code?

Pyabo
08-17-2005, 04:19 PM
Have you any experience releasing commercial games using GPL'd code?

Oooooh, you got me there. I must not know anything about it! :P

My statements are based primarily on two tools I try to make use of on a daily basis: logic and common sense.

soniCron
08-17-2005, 04:26 PM
My statements are based primarily on two tools I try to make use of on a daily basis: logic and common sense. Well, that's absolutely fantastic, and you should certainly be proud of yourself. But you're not sharing any of these bits of wisdom. You've got logic, so share it with us. And if you could please explain what portion of common sense takes place in the matter, then also, do share instead of responding with rude and unhelpful opinions.

gcarlton
08-17-2005, 05:38 PM
If you don't have any special algorithms in the new code, the GPL is pretty good, because:

1.) But what about piracy?
Popular games are always hacked, so no change there. Average gamers aren't going to create a makefile and compile the code. Developer gamers might, but the barrier is still high: They have to illegally obtain the art, find and download the source, create a makefile, compile, and run it. And although your source code will be free, it doesn't mean it will be widely distributed and thus easy to find. Its always going to be easier to download a hacked binary, and this isn't going to change.

2.) But what about free copies?
Its still illegal to distribute your content. People may "leak" the art, but they can do that with our games anyway, if they crack open the pak files or whatever.

The worst case is where the developer games (who probably wouldn't have bought it anyway), get an illegal copy and then can keep compiling and updating all subsequent code patches for free. Probably not going to affect sales that much though.

Having said all this, I wouldn't do it because I've developed a fair lot of specific code bits and pieces which I will reuse in the future and I don't want to give them away. :)

Pyabo
08-18-2005, 03:13 PM
Well, I was going to explain my reasoning soniCron, but gcarlton beat me to the punch.

As for whether or not it's possible to make money with GPL'd code... this seems painfully obvious. Carmack himself, in his Quakecon keynote, said he looked forward to seeing someone ship a commercial product using the GPL'd code. (http://techreport.com/etc/2005q3/carmack-quakecon/index.x?pg=1) If that doesn't say, "Yes it's OK to sell games with this engine" then I don't know what does.

It seems to me that those two things were the key items being discussed here.

soniCron
08-18-2005, 03:35 PM
As for whether or not it's possible to make money with GPL'd code... this seems painfully obvious. Carmack himself, in his Quakecon keynote, said he looked forward to seeing someone ship a commercial product using the GPL'd code. (http://techreport.com/etc/2005q3/carmack-quakecon/index.x?pg=1) If that doesn't say, "Yes it's OK to sell games with this engine" then I don't know what does. I'm not quite sure how, "Yes it's OK to sell games with this engine" equates to "Yes, you will sell games with this engine." There wasn't an issue about Carmack's permission. We're talking about potential problems with copy protection by using GPL'd code. I'll say that again: We're talking about potential problems with copy protection by using GPL'd code.


Developer gamers might [create a makefile and compile the code], but the barrier is still high: They have to illegally obtain the art...There is nothing illegal involved in obtaining the art. How is downloading the game off the developer's site anywhere near illegal?


And although your source code will be free, it doesn't mean it will be widely distributed and thus easy to find. Well, considering one of the obligations outlined in the GPL is that you must provide the source code at minimal cost, I fail to see how it would be even remotely difficult to find.


Its always going to be easier to download a hacked binary, and this isn't going to change. Sure, it'll be easier. But once you've got that legally recompiled binary floating around the Internet, there is no legal restriction for providing that along side the also legal shareware download, in effect creating a completely legal "hacked binary". I'll word it simply:

Cracks and hacked binaries are illegal. Thus they cannot be distributed via normal channels without fear of legal intervention.
Recompiled GPL'd source is legal. Thus they can be distributed via normal channels without fear of legal intervention.

Jim Buck
08-18-2005, 03:42 PM
Unless you are selling to the hardcore crowd, your buying public won't know what any of the following means, much less have the capability of using them: GPL, Visual Studio .NET, edit code, recompile, http://www.google.com/search?q=hacked+[game name here], etc..

soniCron
08-18-2005, 03:52 PM
Unless you are selling to the hardcore crowd, your buying public won't know what any of the following means, much less have the capability of using them: GPL, Visual Studio .NET, edit code, recompile, http://www.google.com/search?q=hacked+[game name here], etc.. Of course not, but they do know what "Get Bejeweled Deluxe FREE!" means, and is entirely legal to distribute provided all the media is distributed in the downloadable version.

tentons
08-18-2005, 04:39 PM
Wouldn't it be illegal to offer someone else's art and content alongside the legal recompiled engine? It would still be piracy even if the engine that uses the proprietary (illegal) game data is not illegal. Unless the art, sound, and other assets are also GPL.

Edit: Ah, missed the part about having the downloadable version for the data. I see your point, but I still am not totally convinced you couldn't take legal action.

milieu
08-18-2005, 04:55 PM
There is nothing illegal involved in obtaining the art. How is downloading the game off the developer's site anywhere near illegal?

You have the right to install that game and play it on your computer. You do not have the right to distribute it, or the copyrighted assets contained within it.

soniCron
08-18-2005, 05:02 PM
You have the right to install that game and play it on your computer. You do not have the right to distribute it, or the copyrighted assets contained within it. That depends entirely on the EULA. (And if you follow the traditional shareware model, that complicates matters further.) Either way, there's nothing to stop the site from hotlinking to another legal distrobution of the game.

Diragor
08-18-2005, 05:07 PM
Doesn't sound much different than acquiring a crack for a closed-source, protected game to me. The user would have to download the demo and assuming all the assets are there and it's just time-locked or something they'd have to go find the recompiled/modified version, download it, install the demo, install the new exe, and there you go. How is that any worse than having a closed/protected game that somebody cracked (which is inevitable)?

gcarlton
08-18-2005, 05:10 PM
Of course not, but they do know what "Get Bejeweled Deluxe FREE!" means, and is entirely legal to distribute provided all the media is distributed in the downloadable version.

Ok, I didn't consider selling by that shareware method. Good one! :)

When selling that way, its impossible to do anything about it. All the content is free to obtain, its just "locked" by the source code.

The full version would need to be an extra download with the non-shareware content. For a game based on Q3 you may expect this to be the case anyway, as there is usually more content than in a typical 2d puzzle game. Still, its a bit of a gotcha..

soniCron
08-18-2005, 05:10 PM
How is that any worse than having a closed/protected game that somebody cracked (which is inevitable)? Distrobution would be legal.

Aldacron
08-18-2005, 06:36 PM
That depends entirely on the EULA. (And if you follow the traditional shareware model, that complicates matters further.)

No, it doesn't depend upon the EULA. No one is authorized to distribute copyrightred material without the copyright owner's consent. Even if it's available from your site for free download, no one else can legally distribute it unless you authorize them to. As the copyright owner, you can do whatever you want with it, but putting it up for free download implies nothing to the rights of other people. I'm not a lawyer, of course, but I'm fairly certain on this. Assuming I'm right, then the real question is - do you have the means to go after anyone illegally distributing your content? But I still don't see it as a detterent to selling a GPLed game, because it's no different from normal piracy.


Either way, there's nothing to stop the site from hotlinking to another legal distrobution of the game.

Anyone with a binary could come directly to your site and download the content from you anyway. That's why with the GPL model it might not be a good idea to offer unlockable full version for download. At the minimum you'd need to offer a demo and upgrade to the full version upon registration.

soniCron
08-18-2005, 06:46 PM
Anyone with a binary could come directly to your site and download the content from you anyway. That's why with the GPL model it might not be a good idea to offer unlockable full version for download. At the minimum you'd need to offer a demo and upgrade to the full version upon registration. And for a game like Bejeweled? There's no additional content beyond the demo. What now then? My goal was to discuss various methods of protecting a game covered by the GPL. Comparing the distribution of a legally compiled binary to illegal hacks and cracks is not conducive to the conversation and I fail to see how it even applies beyond a general association.

Diragor
08-18-2005, 07:33 PM
Ok, a user downloads and installs your time-limited game demo from your site, then they go to Google and search for the name of your game. One of the first results takes them to a website where they download a modified executable that is said to remove the time limit. They download it, unzip it to your game demo directory and the time limit no longer exists. Now tell me, did I just describe the process of getting a legally modified version of a GPL licensed game or a crack for a closed-source commercial game? How hard do you think it is to get cracked exes?

It's more than a general association, it's practically the same thing to the end-users unless they understand such distinctions, read all the fine print and are morally and legally upstanding citizens. There are people who will play your demo as-is and possibly buy the game, and there are people who will seek out and obtain a modified version (legal or otherwise) that will allow them to play forever. What I fail to see is how the GPL license and source code availability makes a significant difference to either of those two groups of people.

soniCron
08-18-2005, 07:47 PM
Ok, a user downloads and installs your time-limited game demo from your site, then they go to Google and search for the name of your game. One of the first results takes them to a website where they download a modified executable that is said to remove the time limit. They download it, unzip it to your game demo directory and the time limit no longer exists. Try this one on for size:

User searches for "Bejeweled"
Result pops up with: "Bejeweled FREE Unlimited Play!"
User clicks on said result.
The webpage has the following:

A link to a non-protective affiliate's legal install file
A link to the "Official Upgrade for FREE Unlimited Play!"
Instructions to install link #1 and then install link #2 for "Security and Stability"

User clicks on link #1, installs game.
User clicks on link #2, installs patch conveniently placed in a handy self-installing executable.


Now tell me, did I just describe the process of getting a legally modified version of a GPL licensed game or a crack for a closed-source commercial game? How hard do you think it is to get cracked exes? Apparently it can be far easier than you'd think. But the funny thing is, it can now be done in a completely legal manner! Nobody's going to get shut down for illegally distributing a crack! There is zero protection! Consider the following promotion:

"Buy any game and get BEJEWELED absolutely FREE!"

This would a completely legal operation and can easily, and legally, be offered by any one of the half-million affiliate "portals" out there.

illume
08-18-2005, 08:07 PM
1) make the full version have different levels/models.
2) make it multiplayer so that that it requires a key to connect.

You do *not* have to make your master server software changes available. This is under the terms of the GPL. Because you have not distributed it. You do not have to provide the source.

This way if someone distributes your shareware with the full version executable:
1) they need to provide other levels/artwork or yours illegally.
2) they need to modify it to use a different master server.

Basically, just use the same tactics that ID uses to distribute their software.

I reckon some of the better mods will be sold comercially at some point. What could they lose from where they are now? They already give the game away.

soniCron
08-18-2005, 08:13 PM
1) make the full version have different levels/models. This won't work with all games.


2) make it multiplayer so that that it requires a key to connect. Again, this won't work with all games.


I reckon some of the better mods will be sold comercially at some point. What could they lose from where they are now? They already give the game away. I don't care. I'm not talking about mod authors. I'm talking about full commercial software.

Diragor
08-18-2005, 08:15 PM
Consider the following promotion:

"Buy any game and get BEJEWELED absolutely FREE!"

This would a completely legal operation and can easily, and legally, be offered by any one of the half-million affiliate "portals" out there.

Ok, point taken, I wasn't thinking about many of the ways it would be exploited.

What if you included your media in encrypted form in a closed-source dll that is dynamically linked by the GPL code, which I believe is allowed, and the dll would be written to only decrypt and return the media to the "official" exe? For a modified exe to work they would also have to provide a cracked dll, which would be illegal. Doable?

soniCron
08-18-2005, 08:26 PM
Ok, point taken, I wasn't thinking about many of the ways it would be exploited.

What if you included your media in encrypted form in a closed-source dll that is dynamically linked by the GPL code, which I believe is allowed, and the dll would be written to only decrypt and return the media to the "official" exe? For a modified exe to work they would also have to provide a cracked dll, which would be illegal. Doable? You've made me a happy man! I'm very greatful someone understands. :) Unfortunately, it is my understanding that DLLs must be GPL'd as well, unless they're a part of the operating system. (Which is why the LGPL was created.) In addition, the DLL wouldn't have to be illegally distributed if the game was installed via a legal download. And even if the communication between the calling EXE and the asset DLL implimented any sort of encryption, it would still have to be released in the GPL'd source, so accessing the data from the DLL is negligable.

However, I think you're on to something. The GPL FAQ states that if the process is created using fork or exec (reference (http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins)), then it's considered a separate process and doesn't need to be released under the GPL. So if there was a way to have the called process verify the calling executable is the original, unmodified file, then we may have something that would work.

gcarlton
08-18-2005, 08:46 PM
Here's another gotcha for this hypothetical GPL puzzle game:

A website compiles the game code, replaces the minimal art and sound assets with their own ones, and hey presto, "Buy one game, get a free bejeweled clone!" (or something a bit more catchy than that). I wonder if that would be legal.

There again, it cuts both ways. The sneaky portal site would probably find itself outdone with "Buy 0 games and get bejeweled free!" sites.

Aldacron
08-18-2005, 09:26 PM
And for a game like Bejeweled? There's no additional content beyond the demo. What now then?

If you're worried about people pirating your content then you either don't release under the GPL or think of a way of limiting the content in the demo. Otherwise, just let things be and see where they take you.


My goal was to discuss various methods of protecting a game covered by the GPL. Comparing the distribution of a legally compiled binary to illegal hacks and cracks is not conducive to the conversation and I fail to see how it even applies beyond a general association.

Not so. The only difference is that GPL makes it legal for someone else to distribute the binary. Beyond that it's still piracy. See below.


"Buy any game and get BEJEWELED absolutely FREE!"

This would a completely legal operation and can easily, and legally, be offered by any one of the half-million affiliate "portals" out there.

No, no, no. This would not be legal. Yes, it would be legal to distribute the binary as the GPL allows that. But the art, sound effects, music, etc... are copyrighted material and cannot be legally distributed without the copyright owner's consent. So you would have legal grounds to go after anyone who did such a thing.

Ricardo C
08-18-2005, 09:30 PM
A website compiles the game code, replaces the minimal art and sound assets with their own ones, and hey presto, "Buy one game, get a free bejeweled clone!" (or something a bit more catchy than that). I wonder if that would be legal.

That would be legal, I believe. Just as it would be legal for someone to insert their own artwork into the GPL'd Quake code and resell it. As far as I know, it hasn't happened, and Quake I and II have been under the GPL for six years now.

soniCron
08-18-2005, 10:06 PM
No, no, no. This would not be legal. Yes, it would be legal to distribute the binary as the GPL allows that. But the art, sound effects, music, etc... are copyrighted material and cannot be legally distributed without the copyright owner's consent. So you would have legal grounds to go after anyone who did such a thing. It would be legal if the link goes to someone's legally available URL. What part about this is difficult to understand?

illume
08-18-2005, 11:55 PM
This won't work with all games.

Again, this won't work with all games.

I don't care. I'm not talking about mod authors. I'm talking about full commercial software.

Great. So you finally agree that it will work with not all games.

Mod authors are very relevant to a discussion about the quake3 engine, as those are the people who have had most experience with it, and who could(with idsoftwares blessing) start selling their games within hours of the release of the source code.

Imagine how much press a game coming out within hours or even days of the release would get :)

gcarlton
08-19-2005, 12:41 AM
However, I think you're on to something. The GPL FAQ states that if the process is created using fork or exec (reference (http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins)), then it's considered a separate process and doesn't need to be released under the GPL. So if there was a way to have the called process verify the calling executable is the original, unmodified file, then we may have something that would work.

Yep, thats possible. Ok, so you have all assets in a pak file, strong encrypted. If the user key is valid it decrypts the data. It has a timing functions such that if it receives a null user key, it decrypts the content itself automatically for a period of time after install (or per use). The output might have to be a temporary file that it then deletes after the calling program slurps it up.

Of course, its not really strong encryption since the key is embedded the exe, so it can be cracked. Also you can just grab the art assets after decryption, so its not stopping convential piracy at all. It may suffice to stop this rare possibility of legal cracking though.

However its "shutoff" mechanism could theoretically be subverted in this legal crack, if its a registry key or whatever it legal copy could just find and kill it. If its the clock the crack version could change the clock before invokation. Hmm.. back to square one? :)

Actually: This would be a good solution for the case of a single download, key unlock, with some extra unused content in the full version. Its weaker if there is strictly no new content in the full version.

Note: I think we'd all agree that its much easier to just not release all the game content in the shareware version. :)

Jim Buck
08-19-2005, 02:04 AM
Of course not, but they do know what "Get Bejeweled Deluxe FREE!" means, and is entirely legal to distribute provided all the media is distributed in the downloadable version.

Yeah, but where would the typical casual user find that quote? Not on Real. Not on BigFish. It would have to be somewhere quite prominent, and I can't think of any prominent websites that a casual user would come across that would do this.

And even if one of the main portals *did* have the cajones to do this, they would have to link to a legal hosted version of the original demo, have the user install that, and then link to the new binary hosted on the portal, and have a 2nd install for that. All of that is a lot of hoops for a casual user to jump through.

Again, if we're talking about a more hardcore game, I can see more of a concern, but then again, the hardcore guys would know how to pirate your game if they really wanted to anyway.

I think there's a lot of FUD going on here.

Aldacron
08-19-2005, 03:05 AM
It would be legal if the link goes to someone's legally available URL. What part about this is difficult to understand?

And if that is something that concerns the developer then they shouldn't make all of their game's content available with the demo. What part of that is difficult to understand?

Gary Preston
08-19-2005, 03:33 AM
If you're going to be basing your next project off of GPL'd code and take advantage of the developement time saving it should bring, I think people just have to accept that you need to either change the way you plan to make money, or change the way you distribute/limit your demos.

Saying that Quake2 source has been out x amount of time and nobody has released a copycat version with there own content is very different to most casual games. How long would it take to model/rig/animate all the models required for quake2, build the 3d levels, model the weapons, texture everything, get sound effects and music? How much would it cost if you're aiming for a commercial grade game?

Contrast that to how long it might take to replace the graphics/sound/music in a colour/pattern matching game.

But that said, would anyone really want to base their next super colour matching game off of GPL'd code? Would you really be saving that much time compared to developing your own either from scratch or by licensing some of the 2d game engines out there?

If you plan on making a complete first person shooter based off of the new quake 3 code that is going to take you X amount of time just getting the content made. Then I don't see the GPL as standing in your way of making money.

Even if someone wanted to replicate your released game 100% they'd be X months behind on the content development time alone. Plus if your using any non-standard model formats then they'll need to either build their own tools to convert their models to that format (based only on what they can understand from your released source code as you don't have to release tools). There might be nothing legally stopping someone modifying it back to load a standard format, but that again will take time and effort all the while your game is already made and hopefully selling.

You just have to accept that by getting a head start on the code, you have to change your methods of distribution and not provide the full content as a legal download. Provide only a small amount as part of a cut down demo with the full available only on purchase. It won't stop pirates, but you can at least keep the piracy illegal.

I don't think the GPL is useful for everyone nor every project. But there may be some who can leverage it to their own gains whilst providing the community with any source code modifications.

luggage
08-19-2005, 03:50 AM
I still think there's a big problem with making the source available not so much in regards to making money off the original project but others making money off it too.

Consider this...

You release the next Zuma and it's clearly a big hit and being pushed by all the portals. Some enterprising developer notices it's GPL so purchases the full version with ALL of the art assets and gets his hands on the source code.

Now all he has to do to come up with the next Zuma clone is get a couple of artists to reskin the entire game and make a couple of changes to the source. Wouldn't even have to be that much to change, maybe a tweaked game mode here, or a slightly different frontend there.

Before you know it your original game has got a bunch of clones and in a much much shorter space of time than you would normally expect.

As I said, you'll still make some money off your original idea - but your time in the market without competition for that particular game is cut right down.

--Edit. After reading the above post... --
I've worked on projects where a racing game was reskinned in less than 3 weeks for the PS2 by 2 artists. And most of the artists I know prefer to work with an existing set of artwork that they can just replace. It makes their jobs much easier.

And besides all that... who here is really going to use the Quake III engine to make a casual game?

Gary Preston
08-19-2005, 05:03 AM
I still think there's a big problem with making the source available not so much in regards to making money off the original project but others making money off it too.


True, but you will have done the same thing by basing your code off of GPL'd code as well. If you're gaining a head start by using GPL code then worrying that others will use your changes to also gain a head start is hypocritical imo.

If you think you're going to lose sales due to GPL, then don't base the project on GPL code. Start it from scratch or use a licensed engine, then you can retain full control.


--Edit. After reading the above post... --
I've worked on projects where a racing game was reskinned in less than 3 weeks for the PS2 by 2 artists. And most of the artists I know prefer to work with an existing set of artwork that they can just replace. It makes their jobs much easier.

They wouldn't be able to just reskin the game if you kept your content closed off. They'd have to rebuild the entire artwork from scratch including models and levels. Of course this depends upon the complexity of the game.

My point above was regarding the work load involved in just recreating 2d artwork and repackaging it with gpl'd code for sale compared to that of a game with much more content.

What I was trying to get across is that I don't feel using GPL code as a basis for a small project such as a colour matching game is worthwhile. However, if you're considering a project that would have taken 2 years to develop the base tech but by using GPL'd material you can cut this down to a few months, then maybe its worth it.

(You/You're are ment in the general sense to anyone considering GPL, not specifically aimed at the poster I'm replying to, just so you don't get the impression I'm trying to cause an arguement :)

luggage
08-19-2005, 06:46 AM
True, but you will have done the same thing by basing your code off of GPL'd code as well. If you're gaining a head start by using GPL code then worrying that others will use your changes to also gain a head start is hypocritical imo.Getting a head start with a code base is one thing - but getting a head start with a full game is another.

I think we pretty much agree though, writing a casual game using GPL code in an area where straight clones are very common isn't the brightest idea.

I just don't see why it's worth all the grief to use Quake III code. It's not like it's magical - and once you have your game you have to work around the GPL license.

If I was going to write a FPS then I'd look at it - but for the casual market. Just not worth the world of pain.

soniCron
08-19-2005, 12:06 PM
Great. So you finally agree that it will work with not all games. I never disagreed. I hoped we could explore something that just may work with most/all games.


Mod authors are very relevant to a discussion about the quake3 engine, as those are the people who have had most experience with it, and who could(with idsoftwares blessing) start selling their games within hours of the release of the source code. Not if they fall under the, "They gave it away for free, what have they got to lose?" argument. So, no. They're not. Again, let's explore methods of protecting the data for the developers who care that the full game can be shared in a legal manner.


Yeah, but where would the typical casual user find that quote? Not on Real. Not on BigFish. It would have to be somewhere quite prominent, and I can't think of any prominent websites that a casual user would come across that would do this. I'm referring to the 17.1 million results that pop up when searching for "free game downloads" (http://www.google.com/search?q=free+game+downloads)


And if that is something that concerns the developer then they shouldn't make all of their game's content available with the demo. What part of that is difficult to understand? Or, we could explore ways to make GPL'd distrobution available for many authors that may recognize the very real threat of legal full-version distribution and not just dismiss it because we don't want to put on our thinking caps today.


I think we pretty much agree though, writing a casual game using GPL code in an area where straight clones are very common isn't the brightest idea. Perhaps, but only because we haven't identified a way of protecting the data. If we explore ideas like gcarlton's, we can possibly open that door for everyone.


I haven't any experience with it, but would MoleBox (http://www.molebox.com/) protect the data under these circumstances? Anyone have experience with it that can share some insight?

Aldacron
08-19-2005, 02:17 PM
Getting back on topic, the code is now available at ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip and http://www.planetgargoyle.com/quake3-1.32b-source.zip.