A community education resource
December 6, 2025
7 min read
Why FreeDOS is a modern DOS
DOScember spotlight: The open source DOS alternative that's been actively developed for 30 years.
My family bought our first IBM PC in late 1981 or early 1982, when “PC” or “personal computer” was still a generic term that also included the Apple II and TRS-80. IBM’s PC came with a new command-line operating system called DOS. Running in memory up to 640 kilobytes, DOS really couldn’t do much more than manage the hardware and allow the user to launch applications. As a result, the PC DOS 1.0 command line was pretty anemic, only including a few commands to set the date and time, manage files, control the terminal, format floppy disks, and run the BASIC language interpreter.
The DOS years: 1981-1994
But it was enough to capture my attention. Over time, DOS became more interesting, adding new commands to the command line, and including other useful tools. And for me, it wasn’t until MS-DOS 5.0 in 1991 that DOS began to feel “modern.” Microsoft completely updated DOS in this release, improving many of the commands and replacing the venerable Edlin editor with a new full-screen editor that was more user-friendly. DOS 5 included other features that I liked, as well, such as a new BASIC interpreter based on Microsoft QuickBASIC Compiler, simply called QBASIC. If you’ve ever played the Gorillas game on DOS, it was probably in MS-DOS 5.0.
DOS never strayed far from the original design, which was sometimes limiting. Microsoft assumed the user would spend most of their time in a few key applications, such as a word processor or spreadsheet. DOS provided a few tools so you could work from the command line, but overall the DOS command line was just a way to launch applications.
When I learned a bit of C programming, I started writing my own utilities that extended or replaced the DOS command line. And despite the rather limited underpinnings of MS-DOS, I found that creating my own tools gave me a more powerful DOS command line.
Read more: How to write your first FreeDOS program
Creating an open source DOS alternative
By 1994, Microsoft had also released Windows 3.11. And while it was an improvement over Windows 3.1, I still found it to be slow and klunky. If you worked with computers at that time, you may have had the same experiences. Windows was just “okay” but not for me. I preferred to do my work by typing at a keyboard, not clicking around with a mouse.
In early 1994, I started seeing a lot of interviews with Microsoft executives in tech magazines saying the next version of Windows would totally do away with DOS. I decided if Windows 3.2 or Windows 4.0 will be anything like Windows 3.1, I want nothing to do with it. But what were my options? I’d already experimented with Linux at this point, and loved it. But Linux didn’t have any applications; my word processor, spreadsheet, and other programs were on DOS. I still needed DOS.
I asked around on several message boards if anyone had made an open source version of DOS. If developers could write a complete open source Unix like Linux, surely someone would have already done the same thing with DOS. After all, DOS was a fairly straightforward operating system compared to Unix. DOS ran one task at a time (single-tasking) and had a simpler memory model. It shouldn’t be that hard to write our own DOS.
The answer was “that’s an interesting idea, and you should do it.” So on June 29, 1994, I posted an announcement to comp.os.msdos.apps, on a message board network called Usenet:
ANNOUNCEMENT OF PD-DOS PROJECT:
A few months ago, I posted articles relating to starting a public domain version of DOS. The general support for this at the time was strong, and many people agreed with the statement, “start writing!” So, I have…
Announcing the first effort to produce a PD-DOS. I have written up a “manifest” describing the goals of such a project and an outline of the work, as well as a “task list” that shows exactly what needs to be written. I’ll post those here, and let discussion follow.
I wanted this new DOS to be something that everyone could use, and I naively assumed that was “public domain.” I quickly realized we were actually making free software, and within a week or two, renamed “PD-DOS” to “Free-DOS.” We later dropped the hyphen to become “FreeDOS.”
A few developers reached out to share utilities they had created to replace or enhance the DOS command line in other ways. We pooled our utilities and created a useful system that we released as “Alpha 1” in September 1994, just a few months after announcing the project. Development was pretty swift in those days, and we followed up with “Alpha 2” in December 1994, “Alpha 3” in January 1995, and “Alpha 4” in June 1995.
Read more: Explore the five steps of the FreeDOS boot sequence
FreeDOS today: Core principles and ongoing development
Since then, we’ve always focused on making FreeDOS a “modern” DOS. And much of that modernization is centered on creating a rich command-line environment. Yes, DOS still needs to support applications, but we believe FreeDOS needs a strong command-line environment, as well. That’s why FreeDOS includes dozens of useful tools, including commands to navigate directories, manage files, play music, and connect to networks. We also include several Unix-workalike commands to make FreeDOS an “easy landing” for Linux users.
Over time, FreeDOS development has slowed, as folks retire or otherwise drift away. But development has not stopped. Developers continue to write new programs for FreeDOS, and add new features to FreeDOS. I’m particularly excited about several great additions to FreeDOS 1.4, including:
- SBEMU and VSBHDA to emulate classic SoundBlaster audio, so you can play original DOS games (with sound!) on more modem PC systems
- Updated FreeCOM (command shell) with new features and bug fixes
- Latest system documentation, including an updated HTML Help viewer
- New translations, so you can use FreeDOS in your preferred language
- Lots of updates to other programs and tools
Despite all of the new development on FreeDOS, we remain true to our DOS roots. For example, FreeDOS maintains several core assumptions, including:
- Compatibility is key: FreeDOS isn’t really “DOS” if it can’t run classic DOS applications. While we provide many great open source tools, applications, and games, you can run your legacy DOS applications, too.
- Continue to run on old PCs (XT, ‘286, ‘386, etc): FreeDOS 1.3 will remain 16-bit Intel but will support new hardware with expanded driver support, where possible. For this reason, we continue to focus on a single-user command-line environment.
- FreeDOS is open source software: I’ve always said that FreeDOS isn’t a “free DOS” if people can’t access, study, and modify the source code. FreeDOS 1.3 will include software that uses recognized open source licenses as much as possible. But DOS actually pre-dates the GNU General Public License (1989) and the Open Source Definition (1998) so some DOS software might use its own “free with source code” license that isn’t a standard “open source” license. As we consider packages to include in FreeDOS, we continue to evaluate any licenses to ensure they are suitably “open source,” even if they are not officially recognized.
And the developer community continues to make new versions, which we share in a monthly test distribution that collects all of the latest changes. If you’re interested in testing the most recent updates, and don’t mind seeing a “work in progress,” download the monthly test release.
We welcome your help in making FreeDOS great! Here’s how to get involved and learn more.
Get started
- Please join us on our email list. The list is fairly low volume so is unlikely to fill up your Inbox.
- Visit the FreeDOS website at www.freedos.org.
More from We Love Open Source
- Building As-Easy-As: A spreadsheet born out of scientific need
- Command line magic: Extracting links with awk, grep, and tr
- Explore the five steps of the FreeDOS boot sequence
- How to write your first FreeDOS program
About the Author
Jim Hall is an open source software advocate and developer, best known for usability testing in GNOME and as the founder + project coordinator of FreeDOS. At work, Jim is CEO of Hallmentum, an IT executive consulting company that provides hands-on IT Leadership training, workshops, and coaching.
The opinions expressed on this website are those of each author, not of the author's employer or All Things Open/We Love Open Source.
Want to contribute your open source content?