screenshot of FreeDOS 1.3 booting on QEMU

Celebrating 30 years of open source with FreeDOS

1

This year saw a pretty cool milestone: FreeDOS turned 30 years old on June 29. As we wrap up 2024, I’d like to look back at this important anniversary, starting with how FreeDOS started as a student-led project in 1994.

I grew up with DOS since the 1980s. By the early 1990s, I was a university student studying physics. And I considered myself a DOS “power user.” I just liked the DOS command line; it was powerful and flexible, and let me do my work the way I wanted to. And I could extend the DOS command line by writing my own programs; and I did. When I learned C programming, one of the first things I did was write my own versions of the DOS commands, adding new features and extending them so they could do more for me.

I knew about Windows, but I didn’t like it. Windows 3.1 was slow and clumsy. One poorly behaved Windows program could lock up the entire system. I decided never to use Windows for real work.

Leaning towards open source

So you can probably understand why I became concerned in early 1994 when I read computer magazines that hinted the next version of Windows would do away with DOS. DOS would effectively be “dead,” and everyone would run Windows. I didn’t want that, I wanted to keep using DOS.

I knew about Linux by then, having installed it in 1993 after I learned about Unix in our campus computer labs. I ran SLS Linux at home, which advertised itself as a “gentle touchdown for DOS bailouts.” That worked well for me, and I really liked using Linux.

I was impressed that developers from all over the world had come together to make something as cool as Linux, and I wondered if someone had done the same for DOS. Maybe with an open source DOS, I could keep using DOS after Microsoft moved on to Windows. I asked on a discussion board called Usenet if anyone was working on such a project. No one had, but some people thought it was a good idea.

So it was on June 29, 1994 that I announced a new project that would become FreeDOS:

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.

If you are thinking about developing, or have ideas or suggestions for PD-DOS, I would appreciate direct email to me. If you just want to discuss the merits or morals of writing a PD-DOS, I’ll leave that to the net. I’ll check in from time to time to see how the discussion is going, and maybe contribute a little to what promises to be a very polarized debate!

I am excited about PD-DOS, and I am hoping I can get a group started!

I called it “PD-DOS” because I thought “giving away the source code” was the same as “public domain.” I soon realized that what we were trying to create was free software (and in fact, my code used the GNU General Public License) so we changed the name to “Free-DOS” and later dropped the hyphen to become “FreeDOS.”

Celebrating 30 years

FreeDOS is an open source DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or write new DOS programs. Any program that works on DOS should also run on FreeDOS.

And on June 29, 2024, the FreeDOS Project turned 30 years old. That’s a long time for any open source project, especially one that is an open source version of DOS.

As I look back on the last 30 years, it’s amazing how far we’ve come. And that’s really down to all the developers and users who have helped make FreeDOS what it is. Tim Norman wrote our first command shell, called FreeCOM, to replace the command.com shell. Pat Villani contributed a DOS kernel he had already written to help him with his embedded systems development, and that became the FreeDOS kernel. Over time, others added to it and became kernel maintainers, including Bart Oldeman, John Price, Tom Ehlert, and Jeremy Davis. M. “Hannibal” Toal stepped in for a while to keep things organized, and created our first website.

Other developers joined us to write code, fix bugs, and add new features. I’m thankful we’ve had developers like Eric Auer, Aitor Santamaria, Paul Vojta, Joe Cosentino, Tom, Shaun, Till, Martin, Arkady, Bernd, Charles, Eduardo, Rene, Dave, Mike, Imre, Louis, Fritz, Jim Tabor, Jason, Ron, Lucho, ror4, Steffen, Rugxulo, Mateusz Viste, Gregory Pietsch, Ralf Quint, and Jerome Shidel who have contributed to FreeDOS.

And it’s more than just code. Volunteers like Wilhelm have done incredible work in translating messages, writing documentation, and testing new versions of programs. Bas Snabilie drew our FreeDOS fish mascot, Blinky, based on an idea that another user had suggested. It’s the community that keeps things moving forward, and I’m just lucky to be part of it. I haven’t written much code in years; these days, I consider myself to be the “cheerleader” for everyone else. I manage the website, post videos on our YouTube channel, write articles about FreeDOS for websites, and do other things to encourage and support our community of users and developers.

Get started with FreeDOS

We continue to release new versions, although not as frequently in recent years. DOS stopped being a “moving target” in 1995 when Microsoft released Windows95, and FreeDOS reached parity with DOS a long time ago. Since our FreeDOS 1.0 distribution, we have focused on adding more tools to FreeDOS, making FreeDOS a more modern DOS than regular DOS.

Thanks to Jerome, our distribution wrangler, we have a monthly “test release” that developers can use to test the latest versions of programs and make sure it works with everything else. The test release will also become the next FreeDOS distribution, when we are ready for that.

I encourage you to visit the FreeDOS Project website and learn more about FreeDOS. Download the FreeDOS 1.3 distribution which you can install using a PC emulator or virtual machine – or on real hardware, for the true “retrocomputing” experience. We recommend the LiveCD, which works well on most machines. We also have a USB installer for computers without a CD-ROM drive, a Legacy CD for older computers, and a floppy distribution for classic computers like the IBM PC, PC-XT, and PC-AT.

Also feel free to join the freedos-devel and freedos-user email lists where you can ask questions about FreeDOS and contribute to it.

This article is adapted from Celebrating 30 years of Open Source with FreeDOS by Jim Hall, and is republished on Both.org by the author.

Leave a Reply