Fast InvSqrt()? Only if you GPL!

|

I just read Quake 3 source code. This story is not exactly new, but it just got posted on Slashdot, and it's a facinating read. However, one particular comment irked me:

To all those wondering why John bothers to push out the source to id's game engines after the fact, the snippet of code at the very top of this article is a poster child for why. Not only do you get well-programmed and well-optimised 3D engines to modify and learn from, you get gems like the fast invsqrt function [...]

The source was released unde the GNU General Public License (GPL). This technically means that if you use this code, your code must also be released as GPL. So yeah, I can learn from this code, and I can even modify and use it an in another "free" application, but I cannot use it in a commercial-only application. To quote Bill Bumgarner:

Let me be utterly simplistic and blunt: The GPL is not a free license very much because it limits your freedom to do what you want with whatever it is that is under the GPL. Period.

Granted, this snippet of code has been traced back to pre-id origins over 15 years ago, and is probably considered in the public domain by now. And I'm sure id chose the GPL preciesly so that a competitor cannot snap up the code and use it as their own. As Sun just did with Java. I hate to be the license police, but it's important to understand the difference between all the open source licenses.

blog comments powered by Disqus

About this Entry

This page contains a single entry by Dave published on December 1, 2006 6:06 PM.

Hashes to OpenStruct was the previous entry in this blog.

Porting Windows Assembly Code to OS X is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Links

Powered by Movable Type 4.1