> Following up on our earlier communications, I'd like to ask a fundamental > question: why FreeDOS? I'll confess I don't "get" this project. Please don't > interpret this as criticism (it isn't). I only want to understand what > you're about. Isn't MS-DOS ancient history? If so, why bother creating a > free replacement for it? If FreeDOS won't run on anything above a creaky > 386, what's the point? Who would use FreeDOS, and why? I'm hoping you can > bring this into focus for me so I'm better able to contemplate writing an > article. > > I'm also wondering if you can point me to companies that have actually > committed to using (or already use) FreeDOS. Thanks. > -- > Julio Ojeda-Zapata, technology reporter/columnist > ojeda@pioneerplanet.infi.net You've asked several questions, so I'll answer them all: 1. Why FreeDOS? You have to understand a little bit of DOS history to answer this one. Remember that the FreeDOS Project was started in 1994, when DOS was still a strong operating system. Sure, Microsoft had Windows 3.11, and a lot of people used that. But a lot of people still used DOS. DOS was a stable operating system. There were lots of programs written for it. I think that WordPerfect, Lotus 1-2-3 (or the shareware AsEasyAs) and DOOM were probably the most popular DOS programs around. Especially with a lot of students that I knew. There had been announcements from within Microsoft that soon they would do away with MS-DOS, and replace it completely with Windows. (This was, of course, the promise of Windows 95. But we also know that Windows 95 _still_ has DOS at its core.) When Microsoft said they were going to drop MS-DOS in favor of Windows, it seemed to strike a chord with a lot of DOS users. We didn't want to have to give up DOS to go use the mouse. So that was one reason that people supported the idea of FreeDOS - it meant they could go on using a supported DOS long after Microsoft stopped selling it. But I suppose another, maybe even stronger, reason was the growing popularity of free software, particularly with Linux. Linus Torvalds had started this Linux thing in 1991, and by 1994 there were a sizeable number of Linux users in universities across the Internet. Probably at that point, the average Linux user was a computer geek who was in it for the hack value. And the first people who used FreeDOS were computer geeks in universities across the Internet who thought FreeDOS was a good hack. Sometime in 1994, people started asking on the DOS newsgroups if anyone had started a free DOS project, something similar to the Linux project. People really thought that free software was cool, and that a free DOS would be a great thing to have. For probably a few months I watched the same question come up on the newsgroups: "is there a free DOS I can download?" No one was answering the question, which pretty much implied to me that there was no such thing as a free DOS. So I got together with a few other programmers, and we wrote FreeDOS. Initially, I guess, I was just doing it to see what I could do with it. Most free software projects probably start out this way. Then I found that by modifying my assumptions a little (for example, read lines of text one character at a time, not as whole strings) I found that I could not just replicate MS-DOS programs, I could _improve_ them. That was what hooked me, and a lot of others. Hey, we weren't just writing another version of DOS. We were writing a better DOS that we found more productive than MS-DOS. And the FreeDOS Project was officially born. 2. Is MS-DOS (or any DOS) ancient history (i.e. dead)? Oh no. DOS is definitely not a dead operating system. It's just not where you are looking for it. You'll find DOS today mostly in three areas: (1) as someone's primary operating system (not very common these days, since true hackers are probably running Linux, and most everyone else is running Windows) (2) running as the DOS in an _emulated_ PC environment. Look at Linux DOSEmu (http://www.dosemu.org) for one example. This allows people to run DOS programs from inside Linux. It was a great way to run your favorite DOS programs before a clone was available under Linux (for example, a lot of people ran WordPerfect under Linux before a good office suite became available for Linux.) (3) in an embedded system (probably the most common) Embedded systems are very interesting for me, but I didn't get into them until I got more involved with FreeDOS. An embedded system is basically taking a cheap PC, running DOS or some other operating system on it, and writing some control program to manage something else. One example of an embedded system might be a box to control a laser cutting tool. Or a box to control a train switching system. Or a cash register. I've seen a lot of cash registers around that are running DOS. You'll probably ask: "why use an embedded system?" The short answer is that it can reduce development costs, and it can reduce the cost to maintain a product over its life cycle. If I wanted to make an ATM cash machine as an embedded system, all I'd need to do is write a program that takes numbers as its input, writes to the screen, prints to a little printer, and spits out cash. To do all of this "from scratch", and building your own circuits to do everything in hardware would be expensive. But heck, if I had a cheap PC running a version of DOS inside my ATM, then I can let DOS worry about how to print to the printer, display stuff on the video screen, and read numbers from the keypad. That's what DOS does. All I need to do now is figure out a way to get my ATM program to spit out cash, and that's not such a big problem for a sharp programmer. As long as I'm on the topic of embedded systems - there's a whole embedded systems market out there. Manufacturers are now able to put a '486 CPU, with memory, video, keyboard, disk controller, network, etc. on a single chip. Add to that a disk drive and a copy of DOS, and you have everything you need to build an embedded system. And it's small. And it's (fairly) cheap. But I digress.... 3. Why bother creating a free version of DOS? Because it was there... Seriously, I started FreeDOS because it was a fun thing to do. I continue to work on FreeDOS because people find it useful and interesting. And I suppose as long as there are people out there who continue to use and enjoy FreeDOS, I'll always be involved with FreeDOS. 4. If FreeDOS won't run on anything above a '386, why do it? You're the second person to think that FreeDOS won't run on a '386 or better. I think I need to update my web page. FreeDOS runs on all PC's. That includes anything above a '386. We started the FreeDOS Project with the goal of providing a free version of DOS. A lot of people at that time didn't have the latest-and-greatest PC, and anyway DOS has never been a multitasking operating system. So there was no compelling need to make DOS a 32-bit operating system. We wrote in the FreeDOS Manifesto (which has now grown into the FreeDOS Spec) that the FreeDOS kernel and our programs would run on any PC system, including a PC as low as the XT and just 640k. However, saying that we run on the XT does not mean that FreeDOS won't run on anything above a '386. Intel has done a good job at providing backwards compatibility with their chips. A Pentium computer will still run programs that were designed for the XT or for a '286. However, because FreeDOS must run on the XT (which is not 32-bit) we can't require a 32-bit CPU. Which means you won't get the cool features of the newer CPU's such as multitasking. 5. Who would use FreeDOS? And why? The obvious answer is that a lot of hackers use FreeDOS. It's just something fun to work on, and you get a lot out of it. And as I mentioned before, lots of people are using FreeDOS inside Linux DOSEmu, so they can continue to run DOS programs when they run Linux. "Hacker" in this sense is someone who enjoys writing new code, not someone who breaks into others' computer systems. But some others are using FreeDOS in ways I did not imagine when I started the FreeDOS Project. For example, I've received email from a lot of companies who are using FreeDOS as "update" boot floppies. They take a copy of FreeDOS and load it onto a floppy, along with their update software. The customer receives this floppy and boots from it to update the BIOS in a video card or drive controller card. You don't need to use an update boot floppy if you run Windows 95/98, but you definitely need to do this if you run Windows NT. The Windows NT architecture will not allow programs to directly access the hardware, so you need to boot into DOS to update the BIOS. These card manufacturers can't guarantee that everyone has a copy of DOS lying around, so they "bundle" a copy of FreeDOS on the floppy so that anyone can boot to DOS to run the BIOS update utility. 6. Do any companies use FreeDOS? I'm sure there are more companies using FreeDOS than I know about. There's an engineer from AMD who is looking into using FreeDOS as an update boot floppy, just like I described. Don't know if they are actually using it, though. There's another company out there who makes 3D video cards (I've forgotten the name) that is also using FreeDOS in an update boot floppy. Caldera uses FreeDOS, or I suppose you could put it that way. Their DR-MOUSE program is actually the FreeDOS CuteMouse program (CuteMouse was not well protected by its license - most other programs use the GNU General Public License, which is a lot better.) And I don't know if Caldera still does this, but one of their past Linux distributions included a FreeDOS boot image for Linux DOSEmu. This was ironic because Caldera owns and distributes DR-DOS, but they were using our DOS instead! I should check to see if the latest Caldera Linux distribution still includes a copy of FreeDOS. Red Hat Software includes a copy of FreeDOS on one of its "archive" CD-ROM's, and of course its copy of Linux DOSEmu uses FreeDOS. There's a company in Japan that is using FreeDOS in an embedded system. I have no idea what the product is, though. People are sometimes surprised that I don't track every company that uses FreeDOS. I suppose I should be doing that, but I just never had the time to start a list. I hope that answered your questions. If you have any other questions, please let me know. -Jim Hall