All about Open Source and Free Software

WorldForge is an Open Source project. You've probably heard about Open Source, or its alter ego, Free Software. In a lot of cases, that's why you're here. There is a lot of rivalry between the two camps, and while the differences between the two are small, they are a matter of great controversy. I'm not going to address the correctness of either ideology, but I will endeavor to sum up each as well as is possible.

Three decades ago, and more, the software industry was a vastly different creature. Programmers were poorly paid, the concept of 'engineering' software was only just beginning to emerge, and the thought that keeping source code a secret was never contemplated (source code is the programmer's instructions to the computer, telling it what sort of program to make, and how that program will operate). 'Hackers' like Richard Stallman found solutions to the problems at hand and shared them with anyone who was interested. This model worked well for a long time. At some point, however, the industry changed. 'Proprietary' software began to emerge, for which only the unmodifiable binaries were released. Stallman was violently opposed to this model. In 1984 he created the Free Software Foundation and began work on the GNU is Not Unix project. This was an endevour to produce an entire operating system under a licence that allowed for freedom in modification and distribution of the software. This licence was the General Public Licence, the same licence all WorldForge code is released under.

Fast forward to 1991, when Linus Torvalds created the last piece needed by the GNU project, the linux kernel. Since then, more and more software has been released under various public licences, up to and including Sun Microsystem's™ Java™ technology. Some of these licences fit the FSF's definition of Free Software. Others, like that under which Java was released, were deemed non-free.

By 1998, use of GNU/Linux (often refered to simply as Linux) had grown beyond the hopes of any involved with the project. However, its uptake in the commercial world had been undertaken with stealth, where budgets were slim or non existant. Freedom to redistribute means that is usually possible to obtain a copy of GNU/Linux for the cost of the medium it delivered in (the price of a blank CD, or the bandwith needed to send it to its destination). Thus the popularity of the operating system in these circumstances.

At this point in time, Eric S. Raymond appeared on the scene. A side effect of the FSF's work was that the software produced was actually better than commercial operating systems. His essay, The Cathedral and the Bazaar, was possibly the first discuss how this method of software development worked, and why it worked so well. He set out to create the Open Source Initiative, and defined Open Source. The idea of this organisation was to promote Open Source model of software development as a better alternative to proprietary software like Microsoft(R) Windows™.

The ideology of the Open Source Initiative was the promotion of software that "doesn't suck". Stallman and the Free Software Foundation protested loudly over the shift in focus from freedom to quality of software. The two organisations, and particularly their figureheads, continue to argue over ideology. Humorously enough, almost all Open Source Software is also Free Software. Thankfully we are both, so we won't ask you to take sides.

Free Games

Now, one might argue, as Shawn Hargreaves has, that games are sufficiently different from "normal" software that the open development approaches may not be applicable.

"Counting 'different' as more important than 'better' flatly contradicts the whole point of how bazaar mode software development works, and that's why we haven't yet seen any spectacular games coming from the Internet," Hargreaves asserts.
He points out that the game industry may move too fast for the open source community to keep up.
"This industry is fast paced, and the developers will be hard at work on their next project probably even before the first title hits the shelves."
Finally, he explains that programming - the most evident strength of the Free Software community - is less important in game development than media and level design.
"...nobody seems to have realized quite how important the artists and level designers have become... Free software projects are equally likely to undervalue the importance of having good artists."

However, in spite of these major differences between game development and "normal" software development, there are sufficient similarities that there are benefits to be gained. Due to their freeness, open source games tend to have a much longer "shelf life" than commercial games. Some of the oldest games still in circulation today happen to be open source games - MUDs, NetHack, NetTrek, and the like. Bugs plague games just as much as they do regular software and can benefit from exhaustive review and thorough testing done in the distributed fashion that bazaar mode development is known for.

The solution Hargreaves posits is to leverage the open source community only for the game engine programming. A commercial entity would provide coordination and would fill in with the media, production values, and creativity that, theoretically, lay beyond the abilities of Internet developers.

"Open source ideas might not apply very well to the end product of commercial game development, but they work superbly for reusable infrastructure projects like a game engine, where your artists are the users."
The main reason why this hasn't occurred is simply the lack of a sufficiently flexible game engine. He proposes that commercial game developers should release their game engines openly, with some sample level data, and the Internet community will be able to make use of this code for itself.

But I think this is too simple of a solution, and as evidence would point out that, since Hargreaves' article, other game companies have released their game engine source code (and sometimes even artwork!) yet to date there have been no spectactular successes such as the likes of Linux, Apache, or Perl. For instance, Golgotha was released under the GPL license when the company developing it went belly up, and while an open source project arose to continue work on it, interest waned and is now essentially dead.

I believe that in order for the Free Game vision to be implemented, it is necessary that the entirety of the game system arise from the Internet developer community. There must be no question of sense of ownership in the eyes of potential developers. And there should be no hidden gotcha's of missing or proprietary art, levels, or so forth. If people sense a fox in the henhouse, they'll be extremely wary. If, on the other hand, the game is completely owned by the public, then this issue of ownership will not be a problem.

Hargreaves makes the point that because gamers value variety in their games, that Free Games must also strive to provide unique new games. As evidenced by the large number of popular Free clones of existing games I suspect Hargreaves is wrong on this point. However, clearly if Free Gaming is going to be successful, it is imperitive that some sort of creative uniqueness be nourished and promoted, or else it will never do more than shadow the commercial game industry.