FreeDOS Manifesto

From FreeDOS
Jump to: navigation, search

Annotations are in italics

James Hall

  • That address doesn't work anymore - see

Last updated October 16, 1994

  • Annotated April 21, 1998


An ftp site is now available for downloading Free-DOS at in /pub/micro/pc-stuff/freedos. Contact me at about that.

  • The sunsite ftp area is still there, but now FreeDOS has its own domain name and web page, at The coordinator's email address has also changed.

A discussion forum has opened up on comp.os.msdos.misc. This is where we plan to discuss our projects and our goals. Please feel free to contribute to the discussion.

  • Most FreeDOS discussion these days happens on the FreeDOS mailing list, which you can subscribe to from the web page. but many users on comp.os.msdos.misc and comp.os.msdos.programmer are generally knowledgeable about FreeDOS.


Free-DOS was announced as PD-DOS around the beginning of July, 1994, as another implementation of DOS.

  • The hyphen was later dropped, and is now FreeDOS.


I would like to form a group that will, eventually, create another implementation of MS-DOS. DOS appears to be a popular system, and there is plenty of hardware already available that is ready to support it. Microsoft will not develop DOS forever, and one cannot count on commercial programming firms such as IBM or Digital to continue DOS. I feel it is then up to those on the Internet to develop their own DOS (hereafter, Free-DOS) and I feel there is a lot of support for this type of project.

Free-DOS should, optimally, run on all levels of machines. It should operate on processors as low as the 8088 with as little memory as 640k. Hopefully, the compressed installation should fit under 1.44M.

  • There is so much software written for FreeDOS that the installation is now well over 1MB. However, the Install program can install from disks less than 1MB.

Free-DOS should not be targetted towards certain users. That is, the end product should be something that programmers and non-programmers may both enjoy and find useful.

I do not think there would be a problem to distribute optimized versions of Free-DOS for the 80386 and above. But this remains a project for the kernel writers.

  • Actually, we can amend this statement to say: any FreeDOS program should be able to take advantage of a '386 or other enhancement if detected but the program should still run on low-end hardware such as an XT.


I imagine the Free-DOS project would be best handled by dividing efforts into three subgroups:

  1. Utilities - Main objective is to write new, clean versions of the standard DOS utilities. These should all be able to run on any current version of DOS, as low as MS-DOS 3.3. You may notice that many of the DOS utilities have been moved out of the shell. This is to facilitate maintenance and development.
  2. Drivers - Goals include re-writing the device drivers for DOS, including a new ANSI.SYS. These should be overlay-able on any version of DOS, as low as MS-DOS 3.3.
  3. Kernel - Main objective is to write a new DOS kernel, one that is capable of running at least most of the current DOS software. The ultimate test is to be able to run Windows and Doom. Secondary goals might include working in some kind of multitasking support, even if limited.

If I can get this Free-DOS project off the ground, I'd appreciate someone taking over each of the three subgroups, so there'd be a Utilities Leader, Driver Leader, and Kernel Leader. This person would be in charge of maintaining code readability and for ensuring the group's goals are being met. For example, the Utilities Leader would also make sure that each utility includes at least the MS-DOS command line arguments. The Leader should also make decisions concerning what extensions will be permitted.

  • This "leadership" has since been transferred back to where it belongs: to the users! decisions about what will and will not become part of a distribution is pretty much decided through discussion, and by what software gets used vs. what doesn't. also, all FreeDOS software is now listed together in one large maintainers list, rather than by Utilities, Drivers, and Kernel.

Much of the DOS utilities already exist as freeware, and a good portion of that has been written by the Free Software Foundation.

  • Most FreeDOS software was actually written from scratch by FreeDOS contributors.

In any case, I'd expect that the Utilities Group would be the first one to accomplish all its goals. The Drivers Group would probably finish next, and the kernel last due to its relative complexity. At each stage of completion, I'd expect a major release to the public, available via ftp sites.

One final note: I'd appreciate all the utilities to be written in either C or the DOS batch language, to facilitate maintenance.

  • This restriction was going too far. However, the general feeling is that FreeDOS programs should be written in either C or Assembly.

Legal Stuff

Any effort that goes into writing a Free-DOS would, of course, be redistributed in both binary and source code form. Therefore, we urge programmers to release their software under a distribution agreement, such as the GNU GENERAL PUBLIC LICENSE, which says in part from its Preamble:

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.