{"id":14240,"date":"2026-06-29T02:00:00","date_gmt":"2026-06-29T06:00:00","guid":{"rendered":"https:\/\/www.both.org\/?p=14240"},"modified":"2026-05-20T19:38:26","modified_gmt":"2026-05-20T23:38:26","slug":"how-freedos-got-started","status":"publish","type":"post","link":"https:\/\/www.both.org\/?p=14240","title":{"rendered":"How FreeDOS got started"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"14240\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div>\n<p class=\"wp-block-paragraph\">I grew up using computers. From the last 1970s, I tapped away on an Apple II computer in the school library, teaching myself about BASIC programming. My parents bought a similar Apple computer for my brother and I to use at home, and we pored through BASIC programming books to learn new ways to write our own programs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the early 1980s, we replaced the Apple with an IBM PC. The BASIC environment on DOS was slightly different from the Apple, but I figured out the differences easily enough. When Microsoft released MS-DOS 5 in 1991, I quickly switched to QBASIC, which was a lot easier to work with. It also felt more \u201cmodern,\u201d because it didn\u2019t require line numbers; you could finally create a structured program using loops and conditions instead of a series of <em>GOTO<\/em> statements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Around the same time, I discovered a new kind of software model: \u201cshareware.\u201d With shareware, you could try a program for free, usually for a limited time. If you liked it, you sent the author a check to register the program; as a bonus, most vendors sent you a manual and free upgrade in return. The shareware model worked very well for me when I entered university. I replaced WordPerfect with a shareware word processor called Galaxy, and switched to a shareware spreadsheet called As-Easy-As.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2024\/05\/dos-galaxy.png\" alt=\"\" class=\"wp-image-5541\"\/><figcaption class=\"wp-element-caption\">Galaxy word processor (shareware) for DOS<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As an undergraduate physics student, I also explored other ways to write programs. In the physics program, we all learned FORTRAN programming on the campus Vax minicomputer. At home, my brother helped me to learn C programming, which I found much more interesting. By writing my own tools and utilities in C, I could enhance the DOS command line and make DOS more useful to me.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A free Unix<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I considered myself a DOS \u201cpower user\u201d at the time, and I used it all the time. With my own tools, DOS had a rich command line, which I liked. But I knew DOS was a bit limited by the segmented memory model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But I hated Windows. The university\u2019s PC lab had Windows machines, running Windows 3.1. The interface was okay, but I thought it was slow, even on the rather beefy lab computers. And worst of all, Windows was buggy. If one app misbehaved, it could take down all of Windows, and my work with it. Windows was not for me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Things changed when I got an account in the campus Unix lab. Unix was great! It had a command line like DOS, but it was much more powerful than anything I\u2019d used until then. While it didn\u2019t have apps like DOS, I learned how to leverage the command line tools to create programs in C, and even write class papers using nroff and LaTeX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I wanted to run Unix at home, but commercial Unix-on-PC systems were too expensive. That\u2019s when I heard about a Unix system that I could run on my computer at home. This \u201cLinux\u201d system seemed just as powerful as the computers in the campus computer lab, but I could run it on my own, and it included source code. I found someone who shared a copy of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Softlanding_Linux_System\">Softlanding Linux System<\/a> (SLS) with me, and I spent an afternoon installing it on my computer, dual-booted with DOS.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-xsetup.png\" alt=\"Setting up X in SLS Linux\" class=\"wp-image-11393\"\/><figcaption class=\"wp-element-caption\">Setting up X Windows on Softlanding Linux System (SLS)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">A free DOS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">While Linux was great, it\u2019s important to realize that Linux didn\u2019t have any applications per se in 1993. As a result, I switched between DOS and Linux fairly frequently: When I needed to write a data analysis program <a href=\"https:\/\/www.both.org\/?p=14140\">in FORTRAN<\/a> or a lab report in LaTeX, I ran Linux. To write a class paper or crunch numbers in a spreadsheet, I booted back to DOS. To me, it was a great mix. I felt very comfortable in both, but really loved using DOS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 MS-DOS. I looked at Windows 3.1 and said, &#8220;If Windows 3.2 or Windows 4.0 will be anything like Windows 3.1, I want nothing to do with it.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Having experience with Linux, I thought, &#8220;If developers can come together over the internet to write a complete Unix operating system, surely we can do the same thing with DOS.&#8221; After all, DOS was a fairly straightforward operating system compared to Unix. DOS ran one task at a time (aka single-tasking) and had a simpler memory model. I&#8217;d already written a number of utilities that expanded the MS-DOS command line, so I had a head start.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I asked around the comp.os.msdos.apps discussion group on Usenet. Although others were interested in a free DOS, no one wanted to start such a project. So, I volunteered to do it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On <strong>June 29, 1994<\/strong>, I posted <a href=\"https:\/\/groups.google.com\/g\/comp.os.msdos.apps\/c\/oQmT4ETcSzU\/m\/O1HR8PE2u-EJ\">this announcement<\/a> to comp.os.msdos.apps:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">ANNOUNCEMENT OF PD-DOS PROJECT:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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, &#8220;start writing!&#8221; So, I have\u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Announcing the first effort to produce a PD-DOS. I have written up a &#8220;manifest&#8221; describing the goals of such a project and an outline of the work, as well as a &#8220;task list&#8221; that shows exactly what needs to be written. I&#8217;ll post those here, and let discussion follow.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><em>I should add that when I started the project, I didn&#8217;t fully understand the difference between &#8220;free software&#8221; and &#8220;public domain.&#8221; I assumed they were the same. And certainly, many of the free tools we found on FTP sites were released into the public domain. I adopted the name PD-DOS for Public Domain DOS. It took only a few weeks before I realized we wanted the protection of the GNU General Public License, which would make our DOS project a &#8220;free software&#8221; project. By late July, we changed the name to Free-DOS. Later, we dropped the hyphen to become FreeDOS.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Developers contacted me almost immediately. We had all written our own MS-DOS extensions, power tools that expanded what you could do on the MS-DOS command line. We pooled our utilities and looked on public FTP sites for public domain source code to other programs that replicated the features of MS-DOS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How FreeDOS is used today<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Over the years, developers have shared with me how they use FreeDOS to run embedded systems. One awesome example was a developer who used FreeDOS to power a pinball machine. FreeDOS ran an application that controlled the board, tallied the score, and updated the back display. I don&#8217;t know exactly how it was built, but one way such a system could work is to have every bumper register a &#8220;key&#8221; on a keyboard bus and the application simply read from that input. I thought it was cool.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find other examples of people running FreeDOS. In 2017, trainspotters found a <a href=\"https:\/\/www.youtube.com\/watch?v=eAate0v8hDE\">railway message system<\/a> running FreeDOS. Perhaps my favorite is from a few years ago, when someone booted an original IBM PC 5150 using FreeDOS <a href=\"https:\/\/www.youtube.com\/watch?v=bqz65_YfcJg\">from a vinyl record<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To share my own example: I used to serve as campus CIO of a small university, and once a faculty member brought in some floppy disks with old research data on them. The data wasn&#8217;t stored in plain text files, rather as DOS application data. None of our modern systems would read the old data files, so we booted a spare PC with FreeDOS, downloaded a shareware DOS program that could read the application data, and exported the data to plain text.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These days, we find most people use FreeDOS to do a few things:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To play classic DOS games:<\/strong> You can play your favorite DOS games on FreeDOS. And there are a lot of great classic games to play: Wolfenstein 3D, Doom, Commander Keen, Rise of the Triad, Jill of the Jungle, Duke Nukem, and many others. We also include a bunch of cool open source DOS games in the FreeDOS distribution, such as Senet, Wings, and Block Drop.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2026\/05\/simple-senet.png\" alt=\"the classic board game Senet: 30 squares arranged in a backwards &quot;S&quot; with 5 pieces for each player\" class=\"wp-image-14245\"\/><figcaption class=\"wp-element-caption\">Simple Senet (open source) on FreeDOS<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To run legacy software:<\/strong> Need to recover data from an old business program? Or maybe you need to run a report from your old finance system? Just install your legacy software under FreeDOS, and you&#8217;ll be good to go. My favorite application is As-Easy-As, which I still run today.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2024\/05\/dos-aseasy.png\" alt=\"\" class=\"wp-image-5542\"\/><figcaption class=\"wp-element-caption\">As-Easy-As spreadsheet (shareware) on FreeDOS<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To write new DOS programs:<\/strong> What\u2019s old is new again, and retrocomputing is a thing. We include lots of open source compilers, assemblers, debuggers, and editors so you can create your own DOS programs. We also share our source code under an open source license, so you can modify FreeDOS itself.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2026\/04\/fed-fold.png\" alt=\"An editor with a blue background, and a function name highlighted in red to show it is folded\" class=\"wp-image-14048\"\/><figcaption class=\"wp-element-caption\">Writing a program in FED (open source) on FreeDOS<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Today, FreeDOS celebrates its 32nd anniversary, from 1994 to 2026. Download the FreeDOS 1.4 distribution from the <a href=\"https:\/\/www.freedos.org\/\">FreeDOS website<\/a> and try it out. If you\u2019d like to help test the latest versions of everything, download the <a href=\"https:\/\/www.freedos.org\/download\/\">monthly test release<\/a> (currently T2606, which is the test release from June 2026) which has a more recent version of the kernel and other tools.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A look at how one of the oldest open source projects grew up.<\/p>\n","protected":false},"author":33,"featured_media":5601,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[340,106],"tags":[267,316],"class_list":["post-14240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-freedos","category-history","tag-freedos","tag-history"],"modified_by":"Jim Hall","_links":{"self":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14240"}],"version-history":[{"count":6,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14240\/revisions"}],"predecessor-version":[{"id":14247,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14240\/revisions\/14247"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/media\/5601"}],"wp:attachment":[{"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}