Articles Archive
Articles Search
Director Wiki

Free Xtras for everyone!

October 29, 1998
by Brian Gray

Approximately once every blue moon, even a diehard pragmatist can have an epiphany. Before this week, my most recent significant revelation came in June 1997, is personal, and quite frankly is none of y'all's business. But to support a previously stated theory, my calculations indicate a statistical average of 1.045 blue moons in any given year, yielding an expected wait of roughly 11.5 months between epiphanies. Ok, so this one came a little late.

I've been working with free software since before I knew what it was. My first major coding project, and in fact the vehicle I used to learn C, was an internet game based on a codebase entitled "CircleMUD" by Jeremy Elson (which was itself based on DikuMUD). Now CircleMUD itself is not free software, but the extension and development of it exposed me to quite a number of free development tools. Most of these are part of the GNU project, an activity of the Free Software Foundation.

If I may take a moment to jump back about 15 years, I remember being in a supermarket with my mom and seeing a bottle of "Pepsi Free." I argued that we should get it, seeing as it won't cost us anything. My mother politely informed me that it was not "free" as in "no cost," but rather "free" like in "free software." At least that's how I remember it.

Just as the bottle of Pepsi was free of the presence of caffeine, so is free software liberated from the presence of restrictive licensing that limits the flow of knowledge and information. The Free Software Foundation appears to be quite fond of the phrase "free speech, not free beer." Here I'm using a beverage to illustrate the other side of the equation, so try not to get too confused.

In a nutshell, free software is software that can be studied, debugged, extended, or otherwise improved or modified by anyone. It is either shipped with its source code or else the source is available somewhere (usually via FTP) for download and use. And just like the bottle of Pepsi, there's nothing wrong with charging money for free software. It has nothing to do with money. The key is that even though you're charging for the distribution, it still must be free from restrictive licensing. Any piece of free software that is modified and sold must still maintain the same free software license.

So now that we've touched on the definition of free software, I need you to do two things for me. First, keep reading this article. It's not done yet, so if I have to keep typing you have to keep reading. Second, when you reach the end of the article go visit the Free Software Foundation's site at They've got tons of info on why all software should be free and a couple sample licenses to use to make sure people cannot proprietorize your free project. They do tend to get carried away at times. In the course of reading the philosophical arguments, I occasionally found myself wondering if these people might be wise to lay off the heavy stuff. But the structure appears to be appropriate for what I have in mind, even if I won't exactly be heading up a grass roots effort to make Microsoft release the source code to Windows.

So where was I? Oh yeah, the epiphany. Right.

By now you probably have some idea where I'm headed. Somehow or another I'll be getting around to the idea of free Xtras. Well, you're right. The idea I had, and yes as a matter of fact it DID make me get up in the middle of the night and go pace around for an hour, is to try to organize a free Xtra community along the lines of GNU or Linux. I've already got some code to seed the project, and a couple other people have also expressed interest. So let's have a go.

Here's how it works: Anyone can propose a project and hack out a build. Do a decent amount of debugging and submit it to the Free Xtras web site. We don't actually have one of these yet, but we'll get one eventually. Anyway, after submission any interested developers can download the code, make improvements, and either upload the changes for updating of the original project or submit the modified code as a brand new Xtra. The decision is largely subjective and will depend on just how much is changed. I'll do the code integration and merging until someone volunteers for the job.

To encourage people to participate, I will be releasing a suite of tools I have developed over the years to facilitate the creation of Xtras. These consist of templates, projects, headers, Xtras, and BBEdit extensions that help to flatten the learning curve and decrease the time overhead for an experienced developer to get started on a new project. This toolbox will be licensed as free software, under the stipulation that it may be used only to develop other free Xtras.

As far as money is concerned, well there really are no restrictions. Sure, anyone can download the source and build any of the Xtras without charge, but maybe you want to charge a little for the convenience of sending a pre-built Xtra to customers by email. Or maybe you'd like to write some docs or provide support for any of the Xtras in the project. It's all good, so long as you keep the license and distribute the source (or point customers to the web site).

I expect participation from hobbyists mainly. Those who already write Xtras for a living probably will not wish to make their source code free, or may be prevented from doing so by their clients. Still, for those of you wanting to learn how to write Xtras and get started developing, the Free Xtras project will provide you with a unique opportunity. You can examine other people's real world code (as opposed to the XDK samples), write your own starter projects with the templates, and have other developers give suggestions as to how to make your Xtra better.

Maybe we'll even have a listserv!

All interested parties please contact me at briangray / at / Ideally I'd like to set up a non-profit organization and a web site to host the project. But I see no reason we could not ramp up immediately by assembling a code base and solidifying the license wording.

That's all for now. Stay tuned for my next epiphany, due in October 5th, 1999.

Copyright 1997-2019, Director Online. Article content copyright by respective authors.