teamwork Lessons in building open source community

Open source projects are fueled by passionate people creating lasting change

In June 1994, several of us banded together around an innovative idea: Let’s create an open source version of the DOS operating system. On June 29, 1994, we announced what became the FreeDOS Project. And today, June 29, 2026, we celebrate the ongoing anniversary of that open source project.

Where it came from

If you don’t know about FreeDOS, let me briefly set the stage for you. I grew up with DOS since the 1980s. By the early 1990s, I was a university student studying physics. I considered myself a DOS “power user.” I just liked the DOS command line. While simple, DOS was powerful and flexible and let me do my work the way I wanted to.

I could also extend the DOS command line by writing my 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.

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.

Leaning into open source

I knew about Linux by then, having installed it in 1993 after I learned about Unix in our campus computer labs. I was impressed that developers from all over the world had come together to make something like 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. That’s when I made this announcement on June 29, 1994:

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.

We changed the name from “PD-DOS” to “Free-DOS” after just a few weeks, and later dropped the hyphen to become “FreeDOS.”

Lessons learned from an open community

As I look back on over three decades working alongside this open community, it’s amazing how far we’ve come. It’s all down to the many developers and users who have helped make FreeDOS what it is. There are too many people to list them all individually, but a few names come to mind:

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, Victoria, and Jerome Shidel who have contributed to FreeDOS.

As the project coordinator for FreeDOS, I like to think I’ve learned a few things about how to keep an open source community going. Here are a few lessons I’ve learned in maintaining an open source project for so many years:

1. It’s more than just code.

Open source projects must be grounded in community. Without open doors for new ideas and ongoing development, even the most well-intentioned project becomes a stagnant echo chamber.

That means you need to be open to communication; if someone brings forward a new idea that doesn’t fit the initial goals of the project, don’t dismiss it out of hand. Consider if that new idea could open new features or ways of doing things. It could be the spark that brings a cool new feature to the project.

2. Keep people engaged.

As the project coordinator, I try to keep people engaged. This can come in many forms, the most basic of which is recognizing developers who have contributed to the project in some way, such as adding a new feature, fixing a bug, or making a new release.

But engagement is also about finding other ways to recognize people. For example, in the last several years, we’ve celebrated our community by publishing interviews and ebooks with their reflections on FreeDOS. More recently, we’ve also hosted virtual get-togethers, where we can get to know each other as more than just an email address.

3. Share great news.

In addition to the website, consider other ways to raise awareness about your open source software project. In the FreeDOS Project, we’ve found that posting videos to our YouTube channel is an excellent way to help people learn about FreeDOS, what it is, how to use it, and what you can do with it.

As the project coordinator, I also like to write articles about FreeDOS for websites. The more information you can share about your open source project, the more people will find it familiar and want to try it out.

4. Maintain open lines of communication.

Open source projects need to maintain open communication. This can take many forms, including an email list, discussion board, or some other discussion forum. Other forums where people can ask more general “Help me” questions are okay but try to keep all discussions about project development on your official discussion channel.

For example, the FreeDOS Project has two email lists, freedos-devel and freedos-user, where most FreeDOS developers hang out. This is where we discuss topics that affect the project, announce new versions of FreeDOS programs, and gain consensus about new things we might do or changes to make to FreeDOS.

We also have a Facebook group where other users prefer to ask questions along the lines of “How do I run X program on FreeDOS.” Some FreeDOS developers are also on Facebook, but we are clear that the email lists are where we make our decisions.

5. Keep it respectful.

Open source software communities need to set expectations for respectful communication with each other. The best way to make these “ground rules” clear is to publish a code of conduct about what is and is not acceptable behavior. We publish our code of conduct on our website.


We’re excited that FreeDOS is still going! Three decades is a long time for any open source project, especially for a retrocomputing operating system like FreeDOS. But it’s all because of the great developers and users in our community. In celebrating FreeDOS, we are celebrating everyone who has created programs, fixed bugs, added features, translated messages, written documentation, shared articles, or contributed in some other way to the FreeDOS Project.