操做系統的歷史是開發人員共同造物的開源軟件模型的很好例子。html
6 月 29 日是 FreeDOS 25 週年的日子。無論對於哪一個開源軟件項目來講,這都是一個重要的里程碑,我爲過去這 1/4 個世紀來咱們在這方面所作的工做感到自豪。我也爲咱們如何構建 FreeDOS 感到自豪,由於它是開源軟件模型如何工做的一個很好的例子。linux
在它的那個時代,MS-DOS 是一個功能強大的操做系統。自從個人父母用新的 IBM 機器取代了老化的 Apple II 計算機以來,我已經使用 DOS 多年了。MS-DOS 提供了一個靈活的命令行,我很是喜歡它,它能夠方便地操做個人文件。多年來,我學會了如何在 C 中編寫本身的實用程序,以進一步擴展其命令行功能。ios
大約在 1994 年,微軟宣佈其下一代的 Windows 將取消 MS-DOS。但我喜歡 DOS,即便我已經開始遷移到 Linux,我仍然會啓動到 MS-DOS 來運行一些 Linux 還沒有擁有的應用程序。git
我想,若是咱們想留下 DOS,咱們須要本身編寫一個。FreeDOS 就是這樣誕生的。github
1994 年 6 月 29 日,我向 Usenet 上的 comp.os.msdos.apps 新聞組發表了關於個人想法的一個小小公告:shell
PD-DOS 項目公告:瀏覽器
幾個月前,我發佈了有關啓動公共域(PD)版本 DOS 的文章。當時對此的廣泛支持很強烈,不少人都贊同:「開始編寫吧!」因此,我…網絡
宣佈開發 PD-DOS 的首次嘗試。我寫了一個「清單」來描述這樣的一個項目的目標和工做大綱,以及一個「任務列表」,它準確地顯示了須要編碼開發的內容。我會在這裏發佈,而後討論。app
雖然我宣佈該項目爲 PD-DOS(「公共領域」的意思,縮寫是爲了模仿 IBM 的「PC-DOS」),但咱們很快將名稱改成 Free-DOS,再後來又改成 FreeDOS。編輯器
我立刻開始開發它。首先,我分享了我編寫的用於擴展 DOS 命令行功能的實用程序。它們中的許多程序都重現了 MS-DOS 功能,包括 CLS
、DATE
、DEL
、FIND
、HELP
和 MORE
。有些是我從 Unix 借來的新功能,好比 TEE
和 TRCH
(Unix 的 tr
的簡單實現)。我貢獻了十幾個 FreeDOS 工具。
經過分享個人實用程序,我給了其餘開發人員一個起點。經過在 GNU 通用公共許可證(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 才走到現在。本着開源軟件的精神,咱們經過修復錯誤和添加新功能爲彼此的工做作出了貢獻。咱們將用戶視爲共同開發者;咱們總能找到方法來吸引貢獻者,不管是編寫代碼仍是編寫文檔。咱們基於優勢達成共識。若是這聽起來很熟悉,那是由於這些是開源軟件的核心價值:透明度、協做、儘早發佈、常常發佈、精英管理和社區。這就是開源方式!
我鼓勵你下載 FreeDOS 1.2 並嘗試一下。
via: opensource.com/article/19/…