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

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.

Page Break

"In 1994 we were using MS-DOS and Windows 3.1, and while Windows 3.1 did some nice things, it wasn't all that great. I liked doing my work in MS-DOS, and didn't like the idea of being forced to Windows.

"So I took to the Usenet message boards to see what could be done. I knew about Linux — Linus Torvalds first released that in 1991, and by 1993 I was running an early version of Linux with the GNU utilities on my computer and liked running a free version of Unix.

"I still booted into MS-DOS quite a bit though. But I realised that if a group of developers could replicate something as complex as Unix, just by working together over the Internet, surely we could do something similar for a much simpler operating system like MS-DOS?"

After studying the operating system's user's guide Hall wrote a handful of utilities to replicate some of MS-DOS's basic command line functionality. Other developers were interested in the project and came on board.

"I was the project's founder, and I defaulted to the project's co-ordinator to make sure everyone was working together and had the same ideas about what we were doing," Hall says.

Although his original intention was a public domain version of MS-DOS — PD-DOS — Hall and the other members of the project wanted to make sure that their system would remain free and shifted to using the GNU GPL to license code.

"We renamed our effort 'Free-DOS' after that," Hall says. "The name got changed again to 'FreeDOS', dropping the hyphen, when Pat Villani wrote his book [ FreeDOS Kernel - An MS-DOS Emulator for Platform Independence Embedded System Development - Master OS Development, published in 1996]. Rumour had it that his editor didn't like the hyphen, so didn't use it."

From the start, the project's goal was an operating system that was effectively a drop-in replacement for MS-DOS. "I think we've done a great job and have certainly met that goal!" Hall says.

"You can pretty much drop in FreeDOS in place of MS-DOS and things should "just work" like they did under MS-DOS. That's a big part of DOS," Hall says.

"Since DOS hasn't changed since MS-DOS 6, it's pretty easy to hit that target. For example, you can run DOS programs from the 1980s or 1990s on FreeDOS, and they work just fine. It's great to install a classic DOS game in FreeDOS and have a fun afternoon."

A milestone for the project, from Hall's perspective, was when he was finally able to boot into FreeDOS and play id Software's revolutionary FPS Doom. "I knew we'd done something really awesome!" Hall says

FreeDOS has been used for everything from running old DOS programs and games to running embedded systems such as cash registers or display units, and being used to install firmware updates on PC hardware.

Many people might find it surprising that more than a decade and a half after Microsoft killed MS-DOS, FreeDOS continues to be actively developed.

"Admittedly, we don't have as many developers today that we had 10 years ago," Hall says, "but we do have an engaging community of developers who continue to add new functionality to FreeDOS."

The system hit version 1 in 2006, some 12 years after Hall's initial Usenet post. FreeDOS 1.1 was released in January last year.

"I'm hopeful of a future FreeDOS 1.2 or FreeDOS 2.0, but we will probably see 1.2 before we get to 2.0," Hall says.

"Making an incremental release like 1.2 is basically updating any programs from 1.1 that have changed, and making a new distribution. But when we start work on 2.0, I'd prefer to take another look at FreeDOS and think about what DOS needs to do to take a step forward."

Page Break

Hall has mulled a range of ideas for the future of the system, asking on his blog, "in an alternate reality, what would DOS had looked like if Microsoft hadn't moved to Windows?"

"I envision FreeDOS '2.0' as being a more modern version based on FreeDOS 1.0 (or 1.1, if I can convince someone to package up our current software set into a new release.) But FreeDOS '3.0' or some later version should switch to a multi-tasking FreeDOS model, with expanded driver support. Especially network driver support," Hall wrote.

Hall says that his views on what FreeDOS should be continue to evolve, but he says that the team should still try to envisage what a 'modern FreeDOS' should look like.

"Our challenge is to do that in a way that doesn't change the essentials," he says.

"FreeDOS is and always will be DOS, and DOS software still needs to keep working on FreeDOS. If we break applications, we will have failed. But I think it would be interesting to define the evolution of FreeDOS to something more modern."

Compatibility with legacy applications has always been a big part of FreeDOS's appeal. "You should be able to take any old DOS program out of the box, install it on FreeDOS, and it should 'just work'," Hall says.

However, there have been a number of applications written specifically for FreeDOS. "Developers write new tools and utilities that run on FreeDOS: music players, network tools, a Web browser, editors, boot managers, just to name a few. We include many of these in our FreeDOS distribution."

The development team has about two dozen regular contributors, as well as a number of occasional contributors. Hall says it's easy for interested people to get involved, and adds that "it's important to remember that with free and open source software, you don't need to be a developer or write code in order to contribute.

"Projects like FreeDOS always need people who are interested in writing documentation (wikis, etc.) or answering questions, or testing programs on all kinds of hardware.

"FreeDOS is used by people all over the world, and many years back I wrote a library that allows FreeDOS programs to interact with the user in the user's native language. FreeDOS can work with many different languages — and that's another way people can help out with FreeDOS, by translating these messages and sending them back to the developer."

The project has a set of open mailing lists people can sign up to and all software is released under the GPL or a similar free software licence.

"I'm generally very proud of the great work we have done as a community," Hall says. " When I started FreeDOS, I really didn't think very many people would get involved with it. Just some particularly interested developers, and I was happy to have the few join me at the start."

Among the many people who have worked on the project, he makes special note of Pat Villani, the creator of the FreeDOS kernel who passed away in 2011, Jim Tabor who added network and CD-ROM drive support, and the author of FreeDOS's first command line interpreter FreeCOM, Tim Norman.

Although FreeDOS has been used and distributed by a number of big name IT companies Hall says the project hasn't received any formal support from them. Occasionally an engineer who needs help will drop him a line. And he says he remembers in the early days of the project receiving an email from an @microsoft.com email address.

"It wasn't Bill Gates or anyone with a name I recognised; probably some programmer deep in the company, or maybe an intern," he says.

"This person basically said that DOS was dead and Windows was the new thing, and he didn't expect our FreeDOS to get very far. But it's 2013, and people are still downloading and using FreeDOS, so I guess that's that."

Rohan Pearce is the editor of Techworld Australia and Computerworld Australia. Contact him at rohan_pearce at idg.com.au.

Follow Rohan on Twitter: @rohan_p

Copyright © 2013 IDG Communications, Inc.

8 simple ways to clean data with Excel
  
Shop Tech Products at Amazon