Developer interview: DOS is (long) dead, long live FreeDOS

MS-DOS may be dead, but FreeDOS, an open source MS-DOS replacement, is still under active development

It is a terrifying thought that many people under 30 will never see a "C:\>" prompt, let alone an "A:\>". But although as far as Microsoft is concerned DOS has been dead pretty much since Windows 95 went gold, it wasn't quite the end of the road for the operating system.

MS-DOS itself has had a long life-after-death, finding use in embedded devices, such as some industrial control systems, and it is still downloadable from Microsoft's MSDN site. But Microsoft's decision to effectively euthanise DOS also fuelled the rise of alternatives, one of the most prominent of which is FreeDOS: An open source MS-DOS-compatible system licensed under the GPL, which has managed to survive, and even thrive, in the wake of Microsoft's release of Windows 95 and other post-DOS OSes.

And for an open source project that many might consider niche, its creator, Jim Hall says there is still substantial interest in FreeDOS, at least judging by download numbers. There were more than 379,000 downloads of FreeDOS since the release of 1.1 in January last year, and there were more than 39,000 downloads of FreeDOS 1.1 in January this year alone.

Whonix: An OS for the era of Anonymous and Wikileaks
Linux distro spotlight: Mageia
Linux distro spotlight: OS4 OpenDesktop
OpenStack: Building a more open Cloud
UNSW project spotlights text mining, language analysis
Hadoop: How open source can whittle Big Data down to size

These numbers are solely for downloads from the project's site, so the real number of people who have had contact with the system is likely higher. A number of vendors — including ASUS, Dell, HP, Intel and Seagate — have either distributed versions of FreeDOS or released FreeDOS-based products (such as Seagate's hard drive diagnostic package SeaTools).

These days Hall is the director of IT for the University of Minnesota Morris and a contributor to open source projects such as GTKpod and the venerable Emacs text editor (he's also the creator of GNU Robots).

But when FreeDOS project began in 1994, Hall was undergraduate physics student at the University of Wisconsin-River Falls. In June of that year, Hall posted "PD-DOS project *announcement*" to the comp.os.msdos.apps Usenet group. "A few months ago, I posted articles relating to starting a public domain version of DOS," Hall wrote.

"The general support for this at the time was strong, and many people agreed with the statement, 'start writing!' So, I have..."

Hall's posted noted he had written a manifesto for the project; or actually, as he explains, a "manifest". "When I first wrote that, I simply didn't know what a 'manifesto' meant," he says "I remember downloading a copy of the GNU Manifesto to my computer and reading it, and realising that I needed a simple document that described FreeDOS so others could see it as I saw it.

"But in downloading GNU's 'manifesto.txt' file and saving it to my DOS computer, the name got munged to DOS's '8.3' limits (eight characters for the name, then three characters for the extension) and it was simplified to 'manifest.txt'. Since I didn't really understand the definition of 'manifesto', I referred to the document by its 8.3 name, which is why I called it a 'manifest' in the original Usenet posting."

"I'd read news articles saying that Microsoft was going to get rid of DOS with the next release of Windows, and everything would be Windows-only after that," Hall explains. Microsoft was preparing for its first 'post-DOS' OS — Windows 95.

Join the newsletter!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags open sourceoperating systemsFreeDOS

More about ASUSASUSASUSBillDellHPid SoftwareIntelLinuxMicrosoftNormanNormanSeagateUNSW

Show Comments
<img height="1" width="1" style="border-style:none;" alt="" src="//"/>