This article is more than 1 year old

Founder of FreeDOS recounts the story so far, and the future

What is dead may never die, and it's all thanks to Jim Hall

Can't watch the video? Here's a transcript

Below is a machine-generated transcript of the video for those who can't watch right now. Blame any typos and whatnot on the AI...

Liam Proven (LP): Hi, I'm Liam Proven. I'm the open source correspondent for The Reg and with me today is Jim Hall, leader of the FreeDOS project. Hi, Jim, thank you very much for joining us.

Jim Hall (JH): Thanks, Liam. I'm glad to be here.

LP: You're doing us a great favor. So could you tell us a little bit about yourself and how you came to start the FreeDOS project?

JH: Yeah, what I do right now is I'm a consultant. I work with IT leaders and I do workshops and training primarily with my business. Before that I was in various levels of IT leadership. I was a chief information officer in higher ed and government and IT director and things like that, but FreeDOS goes way back. Back to 1994, and that's when I was an undergraduate student.

And, you know, back then, I'll just kind of give you a little of how that came about, I taught myself how to program, you know, on the old Apple II and things like that. And then DOS came along and I really got into the DOS operating system. I thought it was really powerful, especially compared to the Apple II. And so I really got into DOS and especially when I went to university because I was really relying on like DOS applications and DOS programs to do all my analysis. I was a physics student so I had a lot of lab analysis for example to do and As-Easy-As became my favorite go-to spreadsheet program. I love that one. You know, Galaxy was a great word processor, and I used that to write my class papers and things like that.

I also used Linux, but I had always been a self-taught programmer, and so in 1994, Microsoft had sort of been talking about the next version of Windows like in trade magazines, and they were talking about how the next version of Windows would do away with DOS, right? There's no more DOS 1995 or whatever was supposed to come out, no more DOS. And so, you know, DOS was dead. And, you know, I've used Windows 3.1, and if anybody ever used Windows 3.1, especially at the time, it was not great, right?

I was not a big fan of Windows. I always thought it was kind of clunky when one app could take down the whole system. And so I'm like, you know, as an undergraduate student, if the next version of Windows – if Windows 3.2 or 4.0 is anything like Windows 3.1 I'd rather keep using DOS and I guess if the only way we're going to have DOS is to actually somebody needs to make it and so I mentioned I've been using you know Linux a little bit and I installed it on my computer dual booting between, you know, MS-DOS and Linux. And I was like, you know, people from around the world came together to write a version of basically a Unix operating system. So DOS is a much simpler operating system than Unix so we should be able to do this. So I asked around if anybody was working on a DOS project.

There was an old board system basically called Usenet that was very popular for discussion. And it's basically a forum, a little different, but I asked around, is anybody working on, like, a free version of DOS like the Linux people did, and people were like no, basically, no one's working on that. But that's a great idea and you should do that. As an impressionable young university student, I was like, yeah, I could do that. And so I did.

It was June 1994 that I made this announcement about, yeah, we're gonna do a free version of DOS. And that's where FreeDOS started. We called it PD-DOS back then. Because it went through a name change. I called it PD because you had MS-DOS. And you had DR-DOS, and you had PC DOS, right? So it was two letters and DOS. And, you know, public domain to me, I didn't understand the difference between public domain and free software at the time. And so I was like, well, this is kind of like a public domain DOS. So we'll call it PD-DOS. And very quickly, I realized what the difference was between free software and public domain. That's like, yeah, we're trying to create a free version of DOS. So I think it was about a week or so later that we changed the name from PD-DOS to FreeDOS. And that's where that's where it got its start. That was, what, 20, coming up on 29 years ago.

LP: Well, it's a great thing that you've done for the world. Really, I think it's a very useful tool. So I know the current official version is 1.3. And it took quite a while to get to 1.0. But that wasn't the first release, was it? There were 0.x releases before that. So roughly how many releases have there been so far?

JH: That's a good question. I'd have to look it up. But we had a bunch of, you know, alpha releases and then beta releases before we had a 1.0. And actually getting to the 1.0, we had alpha 1, 2, 3, 4, I think five different alphas. And then I said, well, we need to have a different – the install process was very basic in the alphas. And so when we did the beta, I wrote a very primitive install program, but you know, it was an install program. And so that's why we went from alpha to beta.

And then we had a bunch of betas. And so beta 1, beta 2, beta 3, and then I think we even had a couple of hot fixes around the beta 7 time. And then beta 9. I think we were just kind of afraid of getting to beta 10, right? Why get to 10 betas if we're not going to do 1, so it's like we were really pushing ahead to 1 but we were being very careful about getting to 1.0 and calling anything "1.0" because there's a lot of baggage that goes with 1.0. We wanted to make it stable.

So we have like a beta 9, service release 1 and service release 2 and a service release to hotfix 1 and we really walked our way slowly up to 1.0. And so yeah, we finally did do a 1.0. Now we had I would say pretty fast releases in those alphas and betas, you know, we were releasing pretty quickly but after 1.0, you know, things slowed down because we had a pretty stable system at that point. So you know, I looked it up that 1.0 was back in 2006. So it took a while to go from 1994 to 2006 to finally get a 1.0. We did a lot of alphas and betas. And then six years later, we did 1.1 and, you know, we did some test stuff between them but in terms of a solid release 1.1 was in 2012. And then, you know, four years after that was 1.2. And that was 2016.

And then 2022 we released 1.3 and so yeah, I think the reason we've kind of had the longer periods between these solid releases is that 1.0 was, things are pretty solid and DOS stopped being a moving target back in like 1995, I think they stopped selling it in 2000. So yeah, it's not like we needed to make a lot of changes to FreeDOS to make it more compatible. I mean, there's always compatibility issues, you'd find corner cases, but it's not like there's a huge gap out there. So you know, it's been a slower release cycle, but it's still going.

LP: Well, yeah, yeah, I mean, I saw a post on the mailing list, it's probably a month or so back, announcing that there was kind of an interim release of some of the tools in 1.3. So I guess that at some point, there'll be a, I don't know, 1.3.1 or something coming maybe relatively soon?

JH: Yeah, so Jerome Shidel is the one who has been creating our distributions lately. He did the 1.3 and 1.2. And I don't think he did 1.1. But, you know, he certainly has done the last two releases. And he had this idea, actually last year, that we would create sort of an interim or a test build and so he started releasing those sometime in the last quarter of 2022. And they're roughly monthly. And the goal is that because we have such a long sort of period between these official releases, you know, 1.2 to 1.3, and you can imagine there's probably been a long gap between 1.3 and 1.4, you know, it'd be nice to have a solid platform where we can test stuff and keep it up to date, as up to date as we can because people are always making changes.

And so he's doing this monthly release, this interim test build. And so the goal is that it contains everything that would be in a new release. And it's meant to be sort of, I guess, an unstable way, you might sort of think about it that way, because the intention is to put it out there and let people test it. And so in that respect, it's really meant for developers, it's not something we're advertising on the website. It's really out there for developers so that way they can say, well, you know, how does my program interact with another program if there's interaction there? Or I want to test everything in terms of translation, or I want to do this and that, you know, how can I test the most recent version without having to download 1.3 plus all the programs that have been released since then?

So this is an attempt to kind of capture everything roughly every month or so. And so the hope is that one day when we do a 1.4 that it won't be as big a production as it was getting to, like, 1.3 because we've got these monthly releases. And so we can say, you know what? I think we're ready, I think we're at the point where we can probably make a 1.4. Let's take this version, this test release that we just released. And let's make this the test candidate, right? The release candidate, and now people can test that out and now we're going to focus on it and then the next month, here's another release candidate. Everything looks good, except one problem. Let's fix that problem. So we got one more release candidate, that one's good. Now, we'll go ahead and just take that monthly release and I'll relabel it basically as 1.4. So hopefully it won't be as big of a production, you know, getting to the next one.

LP: All right. So moving away from the versions and stuff, I mean, do you have any kind of a general impression of who is using FreeDOS in the 21st century? Is there either, I don't know, a core demographic or maybe several of them or something?

JH: Yeah, we did actually a couple of surveys of people on the website. We did one maybe about a year ago. And then we did one, I think it was back in 2012, where we asked people, you know, how are you using FreeDOS and we're using FreeDOS for – you know, things like that. It's actually been interesting.

So back in around the 2012. That's where we solidify that we really have like, three, maybe four core use cases. You know, people are not surprisingly using FreeDOS to play a lot of great classic games. And people are using FreeDOS to run, you know, like legacy software. And actually in 2012 we actually found more people that were doing that, like work-related, people were actually telling us I'm using FreeDOS to run an embedded system, or I'm using it to run whatever thing. Not as much of that today. It's been displaced obviously by Linux and things like that. But you know, back in 2012, we actually did have people that were saying that.

And then, you know, people were using FreeDOS to build embedded systems. We had a couple of people that were doing that and then, you might call it a fourth one, it was basically people saying I'm using FreeDOS but really only to install like a BIOS update. So is that really installing FreeDOS? Probably not, but it's really the fourth use case.

And then like a year or so ago, we did another survey, and a little bit of a shift. And it's an interesting one. Not surprising, we're still getting a lot of people that are using FreeDOS to play games and to run classic applications. But, and probably it's due to the fact that most of the people were signing the survey, a lot of people are using FreeDOS to build more DOS applications, not necessarily embedded systems, but just working on more FreeDOS stuff. That's probably a feature of a lot of people responding to the survey were developers.

But what's interesting is we were also asking, like, what's your experience level in DOS? And I thought the answer would be a lot of people that are, like, let's say moderate to high levels of experience in DOS because it's 2022 and did the survey roughly and so you'd expect, yeah, if you're using FreeDOS in 2022, you probably are pretty knowledgeable about DOS. And actually we found it was bimodal. We had a lot of people that said, yeah, I've got a fair amount of DOS experience, maybe I used DOS back in the day and I know quite a bit about DOS. I'm very comfortable in DOS, maybe haven't used it in a while, but I know my way around a DOS system.

And then a lot of people said I know virtually nothing about DOS, I am completely new to DOS. And I think what that probably means is we're probably getting a lot of people who are learning about DOS more recently. I get a lot of emails from people and we get a lot of emails, you know, questions on the the mailing list or on our Facebook group or Twitter or whatever else, Mastodon now, but they were clearly from people that didn't really know much about DOS. I still get it once in a while, but I used to get a lot of a lot of emails about, you know, I've installed FreeDOS, so how do I use it? Like what commands do I run? And I'm like, I'm not quite sure why you installed FreeDOS.

But I think what's happening, and I'm saying this based purely on when I'm getting the emails because I tend to get the emails at the beginnings of what would be a semester. I suspect we're getting a lot of students that are learning about FreeDOS in a university class. And their instructor says oh, there are other operating systems and you've got DOS and others, there's still a FreeDOS thing around and they go install FreeDOS and they don't really know how to run it.

So it's their first time really running FreeDOS. I think probably also, my last examples, I think I also get a lot of these because I read a lot about FreeDOS and a number of other people also write about FreeDOS. And, you know, it's sort of keeping awareness and so people I think are kind of reading these articles and they're like, I've never heard of FreeDOS, I'll give it a try. And so they'll install it and they're like, all right, now what do I do with it? And I think that's why we're kind of getting some more people now that don't really have a lot of exposure to DOS before. And so they're kind of new to it. So it's kind of been having sort of a resurgence, I guess?

LP: I mean, I think that there might be another element to that because I don't use it an awful lot but I occasionally use the Quora website where you can ask questions and try to crowdsource answers. I like to joke that it's crowdsourcing XKCD 386. Because you know, that's the you're coming to bed. I can't, somebody is wrong on the internet. There are a lot of questions about FreeDOS on there. And I wondered why that was. So I went looking and several companies sell laptops, budget model laptops pre-installed with FreeDOS because I suspect they've got a deal probably with Microsoft that says you can't sell it with no operating system on it. So this is small and quick for them to install and has, by modern standards, extremely low minimum requirements. They can stick it on a laptop and ship it. My impression is a lot of these people are in India. I think that's a big market for DOS laptops, and people buy a laptop and they don't know they're gonna get it and they get FreeDOS and go, what's this? What do I do? Some of them find the mailing list, I think that might be where they're coming from.

So, you know, it is, like you said, 2023. The project is coming up to 20 years old? Sorry, 25?

JH: 29! 29 this year.

LP: Yeah, the years, the decades fly past like a movie cliché calendar in the wind. What do you think might be stuff you'd like to see, you think people might maybe bring into FreeDOS? Because there's some quite large bits of DOS – I called it tooling in an email once but you know, there's tools like the 386 Max memory manager. And as I understand it, the guy who originally wrote it worked out that the company no longer exists and the rights have reverted to him. So he made it GPL. The people behind what used to be GEOS on the Commodore 64, that was later GeoWorks and later I think NeoWorks and then Breadbox of all things. I don't know why. That's GPL as well. It's up on GitHub, and they're going through it. Publishing test builds. I've seen a bunch of them in the last month. They're trying to find any little bits in the code that are licensed and remove them. You know, so what do you think you might incorporate them? I mean, FreeDOS is already quite big. It's got Emacs, it's got Vim, it's got all kinds of things in there.

JH: Yeah, and FreeDOS is quite big. And it's something actually I've been thinking maybe we should, we've had discussions on the list here and there about maybe we should remove some things and I started a discussion last, I think, December that ended up getting into a weird alley.

But I want to bring that conversation back about maybe there's some projects or parts of FreeDOS in there that we don't really need anymore that were probably a good experiment but don't really work out, but it is pretty big. It's two CDs, right? There's a live CD that we have that you can boot from and install from. And then there's packages that won't fit on the live CD because there's just so many and so we have a bonus CD that, you know, non-bootable that you can install packages from. And of course part of the reason it's so big is because we make sure we include some open source code for everything but yeah, it is pretty big.

And so I'm trying to have a conversation about maybe pulling some stuff back, but always looking at adding stuff. I mean, when 386 Max got added, I remember the developer you're talking about, had mentioned on the list about releasing under the GNU GPL. We had this conversation about, well, it's more than just including a GNU GPL license file in there, all your source files, all the source files, say all rights reserved, the company name, whatever it was, like you can't have GPL and all rights reserved, right, you have to put the code in there. And so I checked, getting ready for the interview, and it looks like actually he did update the source files now, it actually did say GNU GPL, so we could probably go back and have that conversation. And so that's one.

You mentioned the PC/GEOS people and that's a pretty big system. I mean, the whole GEOS system is pretty big. But it is kind of a cool GUI. The concern I got or the thought that I've got is kind of going back to what I said at the beginning, right, so why did we make FreeDOS? And certainly my motivation at the time was because I wasn't really a Windows fan. DOS for me is not really a GUI thing. And so you know, we've added some GUIs over time, oZone is one of the GUIs in the distribution, and it's kind of incomplete. It's got actually a fair amount of bugs in it. I think someone's working on it. What's the other one called? We've got OpenGEM of course, OpenGEM is pretty good. And we found some issues why that package is broken, so the future versions will be better. And then there's one more. SEAL has a fair number of bugs in it.

And so I'm kind of looking at those as like, well, do we need to have those GUIs in there. And if we remove those, would that make room for PC/GEOS? But I recall PC/GEOS was pretty big. Although the last time I had a conversation with anybody from PC/GEOS, it was huge and they also weren't really ready to have it be an official release or anything and so they're still working on it so it's been a while since I've actually talked to them. I think some other developers are so it's not like it's just me but you know, that's one that we could look at it's kind of see if that's something we might wanna include.

LP: Well, I mean, I'm really happy to hear that it's got a future as well as a past, that there are still places that this project can go. The mere fact of it being able to handle FAT32 disks is quite a big thing. I hang out in various retro computing forums, whatever, and people are trying to use MS-DOS 6.22 because that was like the last release, and it can't handle a disk formatted with even like Windows 98 or something, and there is this alternative. And furthermore, MS-DOS is not free. So yeah, I'm delighted to see these new releases, I can't tell you how impressed I was when I booted FreeDOS 1.3 in VirtualBox on the very computer I'm talking to you, and see it grab an IP address. It's like, oh, I'm in a VPN so I know what network card this has got, it loaded a network stack, it had an IP address and still had more than 600K of RAM. Absolutely amazing, this is unimaginable.

Right, I think we're coming up against our time limit so thank you very much indeed for taking the time to talk to us today, somewhat short notice, but it's been great. Thank you very much. I am sure I'm gonna be writing about the product again in the near future and am looking forward to any point releases that are coming. Thanks very much once again and goodbye for now.

JH: Thanks very much, glad to be on.

More about

TIP US OFF

Send us news


Other stories you might like