25 岁的 FreeDOS：起源故事
FreeDOS

> 
> 操作系统的历史是开发人员共同造物的开源软件模型的很好例子。
> 
> 
> 


![](/data/attachment/album/201906/29/154802szbavz4a0fa8a27f.jpg)


6 月 29 日是 [FreeDOS](https://www.freedos.org/) 25 周年的日子。不管对于哪个开源软件项目来说，这都是一个重要的里程碑，我为过去这 ¼ 个世纪来我们在这方面所做的工作感到自豪。我也为我们如何构建 FreeDOS 感到自豪，因为它是开源软件模型如何工作的一个很好的例子。


在它的那个时代，MS-DOS 是一个功能强大的操作系统。自从我的父母用新的 IBM 机器取代了老化的 Apple II 计算机以来，我已经使用 DOS 多年了。MS-DOS 提供了一个灵活的命令行，我非常喜欢它，它可以方便地操作我的文件。多年来，我学会了如何在 C 中编写自己的实用程序，以进一步扩展其命令行功能。


大约在 1994 年，微软宣布其下一代的 Windows 将取消 MS-DOS。但我喜欢 DOS，即使我已经开始迁移到 Linux，我仍然会启动到 MS-DOS 来运行一些 Linux 尚未拥有的应用程序。


我想，如果我们想留下 DOS，我们需要自己编写一个。FreeDOS 就是这样诞生的。


1994 年 6 月 29 日，我向 Usenet 上的 comp.os.msdos.apps 新闻组发表了关于我的想法的一个小小公告：



> 
> PD-DOS 项目公告：
> 
> 
> 几个月前，我发布了有关启动公共域（PD）版本 DOS 的文章。当时对此的普遍支持很强烈，很多人都赞同：“开始编写吧！”所以，我…
> 
> 
> 宣布开发 PD-DOS 的首次尝试。我写了一个“清单”来描述这样的一个项目的目标和工作大纲，以及一个“任务列表”，它准确地显示了需要编码开发的内容。我会在这里发布，然后讨论。
> 
> 
> 


虽然我宣布该项目为 PD-DOS（“公共领域”的意思，缩写是为了模仿 IBM 的“PC-DOS”），但我们很快将名称改为 Free-DOS，再后来又改为 FreeDOS。


我马上开始开发它。首先，我分享了我编写的用于扩展 DOS 命令行功能的实用程序。它们中的许多程序都重现了 MS-DOS 功能，包括 `CLS`、`DATE`、`DEL`、`FIND`、`HELP` 和 `MORE`。有些是我从 Unix 借来的新功能，比如 `TEE` 和 `TRCH`（Unix 的 `tr` 的简单实现）。我贡献了十几个 FreeDOS 工具。


通过分享我的实用程序，我给了其他开发人员一个起点。通过在 [GNU 通用公共许可证](https://www.gnu.org/licenses/licenses.en.html)（GNU GPL）下共享我的源代码，我隐含地允许其他人添加新功能并修复错误。


看到 FreeDOS 开始成型的其他开发人员联系了我并希望提供帮助。Tim Norman 是第一个人，Tim 自愿编写命令行 shell（`COMMAND.COM`，后来命名为 `FreeCOM`）。其他人贡献了复制或扩展了 DOS 命令行的实用程序。


我们尽快发布了第一个 alpha 版本。在宣布了 FreeDOS 后不到三个月，我们就有了一个集合了我们所编写的功能的 Alpha 1 发行版。当我们发布 Alpha 5 时，FreeDOS 已经拥有了 60 多个实用程序。FreeDOS 包含了 MS-DOS 中从未想过的功能，包括通过 PPP 拨号驱动程序实现的互联网连接，以及使用主 VGA 监视器和辅助单色监视器的双显示器支持。


新的开发人员加入了该项目，我们很欢迎他们。到 1998 年 10 月，感谢 Pat Villani，FreeDOS 有了一个可以工作的内核。FreeDOS 还提供了许多新功能，不仅带来了与 MS-DOS 的同等性，而且超越了 MS-DOS，包括 ANSI 支持和类似 Unix lpr 的打印后台处理程序。


你可能熟悉其他的里程碑版本。我们继续向 1.0 版本迈进，终于在 2006 年 9 月发布了 FreeDOS 1.0，在 2012 年 1 月发布了 FreeDOS 1.1，在 2016 年 12 月发布了 FreeDOS 1.2。而 MS-DOS 很久以前就停止了开发，因此我们在 1.0 发布之后不需要经常更新了。


如今，FreeDOS 已经是一个非常现代的 DOS。我们已经超越了“经典 DOS”，现在 FreeDOS 拥有许多开发工具，如编译器、汇编器和调试器。除了普通的 DOS Edit 编辑器之外，我们还有许多编辑器，包括 Fed、Pico、TDE 以及 Emacs 和 Vi 的一个版本。FreeDOS 支持网络，甚至还提供简单的图形 Web 浏览器（Dillo）。我们有大量的新工具，包括许多可以让 Linux 用户感到熟悉的实用工具。


正因为开发人员的共同创造，FreeDOS 才走到如今。本着开源软件的精神，我们通过修复错误和添加新功能为彼此的工作做出了贡献。我们将用户视为共同开发者；我们总能找到方法来吸引贡献者，无论是编写代码还是编写文档。我们基于优点达成共识。如果这听起来很熟悉，那是因为这些是开源软件的核心价值：透明度、协作、尽早发布、经常发布、精英管理和社区。这就是[开源方式](https://opensource.com/open-source-way)！


我鼓励你下载 FreeDOS 1.2 并尝试一下。


### 更多资源


* [FreeDOS 官方网站](https://www.freedos.org/)
* [FreeDOS wiki](http://wiki.freedos.org/)
* [下载 FreeDOS 1.2](https://www.freedos.org/download/)
* [FreeDOS 的免费电子书](https://www.freedos.org/ebook/)
* [FreeDOS 的简单介绍](/article-9983-1.html)
* [FreeDOS 起源与革命](https://opensource.com/article/17/10/freedos)
* [4 个 FreeDOS 的有趣事实](https://opensource.com/article/17/6/freedos-still-cool-today)
* [如何使用 FreeDOS 升级你的系统 BIOS](https://opensource.com/article/17/6/upgrade-bios-freedos)
* [庆祝 FreeDOS 24 岁生日：有用的命令速查表](https://opensource.com/article/18/6/freedos-commands-cheat-sheet)
* [如何在 Linux 中运行 DOS 程序](/article-9014-1.html)
* [让 DOS 活到现在并通过开源来起步](https://opensource.com/life/16/9/interview-jim-hall-freedos)
* [在树莓派上运行 DOS](/article-9544-1.html)




---


via: <https://opensource.com/article/19/6/freedos-anniversary>


作者：[Jim Hall](https://opensource.com/users/jim-hall) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
June 29 marks the 25th anniversary of [FreeDOS](https://www.freedos.org/). That's a major milestone for any open source software project, and I'm proud of the work that we've done on it over the past quarter century. I'm also proud of how we built FreeDOS because it is a great example of how the open source software model works.

For its time, MS-DOS was a powerful operating system. I'd used DOS for years, ever since my parents replaced our aging Apple II computer with a newer IBM machine. MS-DOS provided a flexible command line, which I quite liked and that came in handy to manipulate my files. Over the years, I learned how to write my own utilities in C to expand its command-line capabilities even further.

Around 1994, Microsoft announced that its next planned version of Windows would do away with MS-DOS. But I liked DOS. Even though I had started migrating to Linux, I still booted into MS-DOS to run applications that Linux didn't have yet.

I figured that if we wanted to keep DOS, we would need to write our own. And that's how FreeDOS was born.

On June 29, 1994, I made a small announcement about my idea to the comp.os.msdos.apps newsgroup on Usenet.

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.


While I announced the project as PD-DOS (for "public domain," although the abbreviation was meant to mimic IBM's "PC-DOS"), we soon changed the name to Free-DOS and later FreeDOS.

I started working on it right away. First, I shared the utilities I had written to expand the DOS command line. Many of them reproduced MS-DOS features, including CLS, DATE, DEL, FIND, HELP, and MORE. Some added new features to DOS that I borrowed from Unix, such as TEE and TRCH (a simple implementation of Unix's tr). I contributed over a dozen FreeDOS utilities

By sharing my utilities, I gave other developers a starting point. And by sharing my source code under the [GNU General Public License](https://www.gnu.org/licenses/licenses.en.html) (GNU GPL), I implicitly allowed others to add new features and fix bugs.

Other developers who saw FreeDOS taking shape contacted me and wanted to help. Tim Norman was one of the first; Tim volunteered to write a command shell (COMMAND.COM, later named FreeCOM). Others contributed utilities that replicated or expanded the DOS command line.

We released our first alpha version as soon as possible. Less than three months after announcing FreeDOS, we had an Alpha 1 distribution that collected our utilities. By the time we released Alpha 5, FreeDOS boasted over 60 utilities. And FreeDOS included features never imagined in MS-DOS, including internet connectivity via a PPP dial-up driver and dual-monitor support using a primary VGA monitor and a secondary Hercules Mono monitor.

New developers joined the project, and we welcomed them. By October 1998, FreeDOS had a working kernel, thanks to Pat Villani. FreeDOS also sported a host of new features that brought not just parity with MS-DOS but surpassed MS-DOS, including ANSI support and a print spooler that resembled Unix lpr.

You may be familiar with other milestones. We crept our way towards the 1.0 label, finally releasing FreeDOS 1.0 in September 2006, FreeDOS 1.1 in January 2012, and FreeDOS 1.2 in December 2016. MS-DOS stopped being a moving target long ago, so we didn't need to update as frequently after the 1.0 release.

Today, FreeDOS is a very modern DOS. We've moved beyond "classic DOS," and now FreeDOS features lots of development tools such as compilers, assemblers, and debuggers. We have lots of editors beyond the plain DOS Edit editor, including Fed, Pico, TDE, and versions of Emacs and Vi. FreeDOS supports networking and even provides a simple graphical web browser (Dillo). And we have tons of new utilities, including many that will make Linux users feel at home.

FreeDOS got where it is because developers worked together to create something. In the spirit of open source software, we contributed to each other's work by fixing bugs and adding new features. We treated our users as co-developers; we always found ways to include people, whether they were writing code or writing documentation. And we made decisions through consensus based on merit. If that sounds familiar, it's because those are the core values of open source software: transparency, collaboration, release early and often, meritocracy, and community. That's the [open source way](https://opensource.com/open-source-way)!

I encourage you to download FreeDOS 1.2 and give it a try.

## More resources

[FreeDOS website](https://www.freedos.org/)[FreeDOS wiki](http://wiki.freedos.org/)[Download FreeDOS 1.2](https://www.freedos.org/download/)[Free ebooks about FreeDOS](https://www.freedos.org/ebook/)[A gentle introduction to FreeDOS](https://opensource.com/article/18/4/gentle-introduction-freedos)[The origin and evolution of FreeDOS](https://opensource.com/article/17/10/freedos)[4 cool facts you should know about FreeDOS](https://opensource.com/article/17/6/freedos-still-cool-today)[How to upgrade your system BIOS using FreeDOS](https://opensource.com/article/17/6/upgrade-bios-freedos)[Celebrating 24 years of FreeDOS: Useful commands cheat sheet](https://opensource.com/article/18/6/freedos-commands-cheat-sheet)[How to run DOS programs in Linux](https://opensource.com/article/17/10/run-dos-applications-linux)[Keeping DOS alive and kicking with open source](https://opensource.com/life/16/9/interview-jim-hall-freedos)[Running DOS on the Raspberry Pi](https://opensource.com/article/18/3/can-you-run-dos-raspberry-pi)

## Comments are closed.