Jump to page content

Why my software is open source

Cynics amongst you might wonder at the rationale of me posting up old REALbasic 3.5.2 code on my site as open source, given that the development environment is even more out of date than the operating system. However, shared development and so forth is not the reason for posting the source; I have a better reason.

This is about another issue entirely – the issue of software development death. A great tragedy that has befallen many programs already and will continue to do so with others, is where the developer becomes unable to continue work on the program – whether through more significant commitments like work or family, or maybe even through death – and development on the program ceases forever. The all-purpose music and sound player, converter and ripper SoundApp is one such program, and the nifty little MOD player The Sound Trecker is another. SoundApp is long overdue a number of changes such as support for multiple concurrent operations, dynamic playlists, streaming audio playback and capture, ID3 tag viewing and editing, MP3 encoding with LAME, and support for serialising MOD music and playing compressed MOD audio and formats such as XM. Likewise, The Sound Trecker needs support for some of the newer MOD formats like ScreamTracker 3 and Impulse Tracker. None of this is ever likely to happen, though.

Of course, binaries of these programs will probably remain available somehow or other for a long time yet – someone will always be around with a copy to share. But the real problem is that, without the source code being available, no-one is able to update the programs, to fix bugs and make them compatible with newer systems (and particularly, newer versions of the operating system). This is of particular significance for Mac, where a lot of nice programs like SoundApp are still for Mac OS 9 and earlier, and rely on the dubious Classic environment to run in Mac OS X. I don’t know about Jaguar or later versions, but Classic audio under Puma (Mac OS X 10.1) was intolerably choppy and drove me nuts.

Had the developers of any of these programs left the source code available, then other devoted programmers would have picked up development where the original author left off, and brought the software up to date with current technology and maybe added a range of long-awaited features. Sadly, this never happened with Sound App and The Sound Trecker, and nor has it or will it happen with a lot of other programs. In the SoundApp Q&A, there is the following entry:

Q: Can I get the source code to SoundApp?
A: No, it is not open source. It is freeware, however. I have no plans to make the source available, as I use some code that others have given me under the condition that I not release it.

Here, it is not the fault of the developer that the source is not available, but an issue with others whose code he used. This sort of resistance to releasing source code can become the death of a program’s development. It is not enough to ask that the code be released once development is declared dead, because the developer may no longer be reachable by then, or, in SoundApp’s case, Norman Franke might not be able to reach the people to whom he made the promise of not releasing the code (though he himself is apparently unreachable now).

Now, I am not trying to claim here that my own software is tremendous and doesn’t deserve to die; that is a decision for others to make, and not me. However, I am mindful of the fact that, should anything happen to me or any adverse conditions arise, my software could wind up dead as a result. And I thus present most of it as open source in order that this may never happen. There are two setbacks here, however. Firstly, there are some programs whose source I have kept secret simply to shield people from its horror or me from ridicule, although I am generally releasing the source to all programs now. Secondly, the source code is generally a separate download (error acgi excepted), so if I went missing and my site eventually got closed, the source code downloads would all vanish with it and there is little chance that anyone anywhere would have a copy, unless the Wayback Machine were to oblige with a back-up copy. I could choose to post the source code in with each copy of the program, although I don’t like doing that, as most Mac users don’t need (and probably don’t want) the worry of trying to work out what it is. On the other hand, this poses a threat to my software if my site and I both vanish from the Net. I could probably get it hosted permanently on SourceForge if I wished, although that would mean me needing to decide on a license for my apps.

I started writing my own license for my apps, but soon realised that I lacked the legal background (or just the ability) to make something without loopholes in, and I concluded that seeing as I am pretty powerless to contest abuse of the license anyhow (I don’t want to enter into an expensive legal battle I can’t afford), it seemed a waste of effort writing a license whose purpose is to restrict what people can do with my source, when my aim in the first people is to permit people to make use of the source. I could just go with the GNU General Public License like most people, but what much I read put me off at the time, and I have no plans to sit and scrutinise it until I finally figure out what I am letting people do.

As a result, all my software is released as unrestricted open source; if anyone can make a commercial product out of something of mine, then props to them for their work (I don’t get enough downloads to make them bring in enough money, although I desire to offer my software for free anyhow). Of course, I would hope for some sort of royalties from it or a part in its development as a courtesy, but I don’t expect that sort of beneficial treatment from this society’s vulture capitalists.

So there you have it – software with a bit of life insurance (though at present, not as much for mine as it needs). Now, if only more people were willing to take this route and offer their own work the same protection, and if only I had the perfect solution for mine too.

Daniel Beardsmore, 11th March 2004
Comments? Send them to the author.