Quake 2 Source Code Released Under The GPL
Masem (and many others) writes: "The source code for Quake 2 is now available until the GPL license. The .plan file for John Carmack has the details." The Id Software site is of course slammed with demand for the code. Hopefully other mirrors will be available.
I admit, I'm not a good programmer. I am a code monkey who is working to be a good programmer. One of the ways you become one is looking at good code. I have peaked at both Doom and Quake to just see what goes on in the head of one of the best programmers in the world. In doing so I have picked a few pointers without even realizing it until I did it. So thanks Mr. Carmack, you have given me a Christmas present, the gift of better programming.
Go to my box at linuxhost.ccand you can download the quake2.zip file containing the source.
I got it before the slashdot story hit...
You can find the code in the quakeforge cvs:
:pserver:anonymous@cvs.quakeforge.net:/cvsroot/qua ke login (just hit enter)
:pserver:anonymous@cvs.quakeforge.net:/cvsroot/qua ke co quake2
cvs -d
cvs -d
Ever since the Quake1 source release two years ago, a lot of intresting (and a lot of unintresting mind you) ports of the Quake engine have shown up. www.quakesrc.org reports on these new engines, as well as hosting some projects and a large set of tutorials. If anyone is intrested in coding off a quake-based engine, this is a good place to start. No Quake2 content yet, but give it a few days... www.open-quake.com is also a good site reporting on news in the Quake engine scene. End plug :)
To be fair, if you drop the warning level back down to 3 (the VC default) you get
... I think this is crap, it makes warning level 4 useless. MS - fix your SDK!)
quake2.exe - 0 error(s), 8 warning(s)
lots of level 4 warnings occur in Microsoft's own headers (yes
Mmmmmmm
THIS is how a company makes money producing Free Software. Don't, at least not at the beginning. I'm sure RMS would have my head for this, but it's the truth.
;-)
Consumer-oriented retail software and GPL code are simply incompatble as a business model. If Id released the source for RtCW today, they wouldn't make a penny on their retail sales. Somone would get the source code, edit one line, stick it on an FTP server, and make it available to the world free (as in beer), and most people would get it from there. There would be no legal reason to stop them, and every financial reason for them to do so. That goes for any consumer-targeted application, game, utility, or whatever. You just can't make money with consumers that way. (Consumers aren't interested in "selling support". If they need you to support it, then it was a bad program to start with in their minds.)
Now here comes Id. They develop excellent code, and sell it and license it commercially like any other company. Then, once they've made their money back with a nice comfortable profit and moved on to bigger and better things, they open source the code. They're not doing anything more with it, so why should they prevent others from enjoying it? It's the original idea behind copyright in the first place! Author(s) get limited monopoly for a limited time so that they can make a living producing content, then it goes to the public domain. (OK, that would be more BSD license than GPL, that's a minor issue.)
For the FSF and its supporters, economics aren't the issue, it's all principle and philosophy and idealism. That's all well and good, I agree with their ideals for the most part. But idealism must be tempered by reality to produce pragmatism sometimes. The Id model is the best way I've seen to make money in the consumer space while still supporting Free Software / Open Source (take your pick).
Unless someone else has a better suggestion on how to make money in the consumer space with FS/OS code (remember, after the cash register the consumer doesn't want to ever have to talk to you), we should all bug companies to follow Id's excellent example. If they balk at the "lost revenue", just show them Carmak's twin Lamborginis.
--GrouchoMarx
Card-carrying member of the EFF, FSF, and ACLU. Are you?
Here's a patch to get the source to compile under linux -- Carmack forgot to use cl_newfx.c!
m ak efile.diff
http://members.optushome.com.au/davidsymonds/q2