If I make a game with the Quake source code, can I sell the source code?

Started by
5 comments, last by frob 5 years, 9 months ago

The Quake 1/2 source code is under the gnu license... Does the license say that I can sell the source code as well as the game (the game could be separate)?

Advertisement

IIRC, no. You can sell your game, but you have to give away your source code for free to anyone who you give the game to. 

If someone who you've sold the game to asks for the source code, you have to provide it at a price that covers reasonable expenses (free download,  the cost of a CD + envelope if shipped physically, etc). The easiest way to comply with this requirement is to just bundle the code alongside the game itself. 

Your customers can legally republish the code for free / give the code to all their friends / etc, but they can't legally share the actual game with all their friends. 

The GNU GPL only applies to the program. It doesn't stop you from adding proprietary data; that's generally considered to be part of an aggregate, which is beyond the scope of the program's license. Lots of games have done that. In fact Quake's data is still all proprietary, as is Doom's. It's this data that defines your game the most, not the source code of the engine.

You can sell any GNU GPL program. RMS himself sold copies of GNU Emacs (the first program ever under the GNU GPL) back in the 1980s. The only condition there is that you need to sell the source code and object code together as a package, or otherwise offer a way for anyone who buys the object code from you to get a copy of the source code under the GNU GPL from you "at no further charge" (note: the "for a price no more than your reasonable cost of physically performing this conveying of source" part applies to distributing binaries on physical media, not over a network). The easiest way to comply with the GNU GPL is to just bundle the source code together with the object code.

As for other people having the right to also copy and distribute the game, that only applies to the GPL components. So the engine, not the game. Even if you do choose to make the game data libre (which I definitely encourage), chances are that no one will redistribute the game unless they really love it, and even when they do, most people will still get copies from you. Remember, it does take effort to upload a program to a server and keep it up-to-date.

Case in point: Jason Rohrer's games, which are all in the public domain with full source code available (meaning anyone can do literally anything with them, at least in the United States where the right to dedicate to the public domain is recognized). I once looked for copies of Sleep Is Death and Inside a Star-Filled Sky, and I barely found any for Sleep Is Death (which got quite a bit of media attention), and none for Inside a Star-Filled Sky. Try finding a download for Star-Filled Sky; all I found was a torrent with no seeders (i.e. completely useless) and buying a copy from the author. It's slightly easier with Sleep Is Death (understandable because it got a lot of media coverage when it was released); I was able to find a torrent with one seeder.

So, two points you should take from this:

1. You can sell proprietary data alongside the Quake Engine without it being subject to the GNU GPL, as long as it's not directly connected to the engine.

2. Even if you make the entire game libre (which would be fantastic), chances are no one is going to redistribute unless they are absolutely fanatical about the game, i.e. about the point when the game is a huge success already.

Note: I'm not a lawyer and this is not legal advice, just my personal understanding of copyright law and the GNU GPL's licensing terms.

Do I have to publicly announce the source code, or can I put it safely in a folder and not tell anyone about it?

No, no announcements of any kind are necessary; the only requirement is that the source code needs to be from the same place as the binary. Just include it in a subdirectory with the binary and you'll be good. Or if you want to separate it (maybe because the source code is too large), just put a "source code" link next to the binary download (exact details will depend on how your customers pay for the game).

Of course, I'm still not a lawyer, and this is still not legal advice, just my understanding of the license.

Read the GPL, it is pretty clear and the FAQ includes examples.

You must include a prominent notice in a convenient location, plus it must be included with other legal notices when those are included in your program. Usually that's the only user-visible location.

The GPL has five different methods to offer source code, the easiest is to distribute it along side your program either on the same disk or the same web site.

This topic is closed to new replies.

Advertisement