GNU 公告,第 1 卷 第 16 期,1994 年 1 月
目錄
- GNU 是誰
- GNU 公告
- 自由軟體基金會是什麼?
- 什麼是 Copyleft?
- 捐款轉化為自由軟體
- Cygnus 配對捐款!
- GNU 快訊
- LPF 是什麼?
- 來自 LPF 的消息
- 自由軟體支援
- GNU 計劃願望清單
- 朝向新的作業系統設計策略
- 第二屆年度日本 GNU 研討會
- GNU 和其他在日本的自由軟體
- 自由提供的文本
- GNU 計劃狀態報告
- GNU 文件
- 現在可用的 GNU 軟體
- OCEAN 整合電路設計系統
- 百畝諮詢公司擴張
- 原始碼 CD-ROM
- 編譯器工具二進位檔 CD-ROM
- 磁帶 & CD-ROM 訂閱服務
- 如何取得 GNU 軟體
- 豪華發行版
- MS-DOS 發行版
- 微電腦自由軟體
- FSF T 恤
- 感謝 GNU 使用者
《GNU 公告》是自由軟體基金會的半年刊新聞信,為您帶來關於 GNU 計劃的新聞。
Free Software Foundation, Inc. Telephone: +1-617-876-3296
675 Massachusetts Avenue FAX: +1-617-492-9057
Cambridge, MA 02139-3309 FAX (in Japan):
USA 0031-13-2473 (KDD)
Electronic mail: gnu@prep.ai.mit.edu
0066-3382-0158 (IDC)
GNU 是誰
Michael Bushnell 繼續致力於 Hurd 的開發,同時也維護 tar
。Roland McGrath 維護 make
和 GNU C 函式庫,協助 Emacs 19 的開發,並且現在也投入 Hurd 的開發。Jan Brittenson 正在開發 Hurd 網路伺服器。
Noah Friedman 是我們的系統歧義消除員、發布協調員,並在他充裕的業餘時間維護一些程式。Carl Hoffman 是我們的募款人和會議籌辦人。
Lisa `Opus' Goldstein 是我們的財務主管。Robert J. Chassell 正在撰寫 Emacs Lisp 程式設計入門,並繼續擔任我們的董事會成員。Larissa Carlson 是 Lisa 的辦公室助理。Charles Hannum 負責排版和許多其他工作。
Jim Blandy 已經離職以追求學術興趣。Melissa Weisshaus 和 Tom Lord 也已離開 FSF。他們三位仍然兼職擔任志工。
Richard Stallman 繼續擔任志工,執行無數任務,例如 Emacs 維護。志工 Len Tower 仍然是我們的線上 JOAT(萬事通),處理郵件列表和 gnUSENET、資訊請求等。
GNU 公告
撰寫和編輯:Jan Brittenson、Noah S. Friedman 和 Leonard H. Tower Jr.
插圖:Etienne Suvasa 和 Jamal Hannah
日文版:Mieko Hikichi 和 Nobuyuki Hikichi
《GNU 公告》於每年一月和六月底出版。請注意,沒有郵寄名單。要取得副本,請將您的姓名和地址連同您的請求發送到首頁上的地址。隨函附上商業尺寸的回郵信封(0.52 美元)和/或幾美元的捐款將不勝感激,但非必要。如果您來自美國境外,寄送郵寄標籤而不是信封,以及足夠的國際回郵券以郵寄約 100 克的包裹,將不勝感激,但非必要。(包括一些額外的國際回郵券以支付影印成本也將不勝感激。)
版權 (C) 1994 自由軟體基金會有限公司
本頁面依據 創用 CC 姓名標示-禁止改作 3.0 美國授權條款 授權。
自由軟體基金會是什麼?
自由軟體基金會致力於消除人們使用、複製、修改和重新發布電腦程式的權利限制。我們在所有使用電腦的領域推廣自由軟體的開發和使用。具體來說,我們正在組建一個完整、整合的軟體系統,名為「GNU」(「GNU is Not Unix」,發音為「guh-new」),它將向上相容於 Unix。這個系統的大部分組件已經在使用和發布中。
我們名稱中的「自由」指的是自由 (freedom),而不是價格 (price)。您可能需要付費才能取得 GNU 軟體,也可能不需要,但無論如何,一旦您取得它,您就擁有兩個特定的自由:第一,複製程式並將其贈送給您的朋友和同事的自由;第二,透過完全存取原始碼,隨意更改程式的自由。您可以研究原始碼並學習這些程式是如何編寫的。然後,您或許可以移植它、改進它,並與他人分享您的變更。如果您重新發布 GNU 軟體,您可以收取發布費用或免費贈送。
其他組織發布任何碰巧可用的自由軟體。相比之下,自由軟體基金會專注於開發新的自由軟體,致力於開發一個完整到足以消除購買專有系統需求的 GNU 系統。
除了開發 GNU 之外,FSF 還發布 GNU 軟體和手冊以收取發布費用,並接受捐款(在美國可抵稅)以支持 GNU 開發。FSF 的大部分資金來自這項發布服務。
基金會的幹部為:Richard M. Stallman,總裁;Lisa Goldstein,財務主管/秘書。基金會董事會成員為:Richard M. Stallman、Gerald J. Sussman、Harold Abelson、Robert J. Chassell 和 Leonard H. Tower Jr.。
什麼是 Copyleft?
使程式成為自由軟體的最簡單方法是將其置於公有領域,不予版權保護。但這允許專有修改,剝奪其他人使用和重新發布改進的自由;這與增加自由軟體總量的意圖背道而馳。為了防止這種情況,copyleft 以新穎的方式使用版權。通常版權會奪走自由;copyleft 保留它們。它是一種法律工具,要求那些傳遞程式的人必須包含使用、修改和重新發布程式碼的權利;程式碼和權利在法律上變得不可分割。
GNU 計劃使用的 copyleft 是由常規版權聲明和 GNU 通用公共授權條款 (GPL) 的組合構成的。GPL 是一種複製授權條款,基本上說明您擁有上述自由。另一種形式,GNU 寬通用公共授權條款 (LGPL),適用於少數 GNU 函式庫。此授權條款允許在特定條件下將函式庫連結到專有可執行檔中。適當的授權條款包含在所有 GNU 原始碼發行版和許多手冊中。印刷本可應要求提供。
我們強烈建議您 copyleft 您的程式和文件,並且我們已盡可能簡化您的操作。關於如何應用任一授權條款的詳細資訊,請參閱每個授權條款的末尾。
捐款轉化為自由軟體
如果您欣賞 Emacs、GNU CC、Ghostscript 和其他自由軟體,您可能希望幫助我們確保未來有更多自由軟體——請記住,捐款轉化為更多自由軟體!
您對我們的捐款在美國可抵稅。我們很樂意接受所有貨幣,儘管美元是最方便的。
如果您的雇主有慈善捐款的配對捐款計劃,請安排讓您的捐款由您的雇主(或在某些情況下由 Cygnus Support,請參閱「Cygnus 配對捐款!」)配對。如果您不知道,請諮詢您的人事部門。也請嘗試讓 FSF 列入配對捐款計劃的任何組織名單中。
$500 $250 $100 $50 other $________ Other currency:________
圈出您要捐款的金額,剪下此表格,並將其與您的捐款一起寄送至
Free Software Foundation 675 Massachusetts Avenue Cambridge, MA 02139-3309 USA
您也可以使用 Visa、Mastercard、JCB、Diner's Club 或 Carte Blanche 信用卡支付捐款。也可以將信用卡資訊以電子郵件寄至 gnu@prep.ai.mit.edu
或傳真至 +1-617-492-9057;在日本傳真至:0031-13-2473 (KDD) 或 0066-3382-0158 (IDC)
Card type: __________________ Expiration Date: _____________ Account Number: _____________________________________________ Your Signature: _____________________________________________
Cygnus 配對捐款!
為了鼓勵向自由軟體基金會捐款,Cygnus Support 將繼續向 FSF 捐贈公司資金,以配合其員工以及其客戶及其員工的捐款。
符合資格的人應將支付給自由軟體基金會的捐款寄送至 Cygnus Support,Cygnus Support 將加入其捐款並每季將總額轉交給 FSF。FSF 將向捐款人提供收據,以確認捐款(在美國報稅時可抵稅)。如需更多資訊,請透過 info@cygnus.com
聯絡 Cygnus。
GNU 快訊
- 編譯器工具二進位檔 CD-ROM 我們現在提供一種 CD-ROM,其中包含適用於某些系統的 GNU 編譯器工具的可執行檔,這些系統的供應商在出貨時未包含編譯器。這將允許這些系統的使用者編譯 GNU 和其他自由軟體,而無需購買專有編譯器。有關更多詳細資訊,請參閱「編譯器工具二進位檔 CD-ROM」。我們希望每次更新此 CD-ROM 時都能包含更多系統。如果您可以協助為新系統建立二進位檔,或有系統建議,請透過首頁上的任一地址聯絡我們。
- FSF 在 DAT 卡帶上發布 我們現在以 4mm DAT 卡帶形式提供我們的軟體。如需更多資訊,請參閱「自由軟體基金會訂購單」。
- 原始碼 CD-ROM 訂閱 除了我們的磁帶訂閱服務外,我們現在也提供原始碼 CD-ROM 的訂閱服務。以 3 張 CD-ROM 的價格,您可以獲得我們製作的接下來 4 張 CD-ROM。目前我們每年更新兩次,但我們可能會更頻繁地更新。請參閱文章「磁帶 & CD-ROM 訂閱服務」。
- FSF 接受信用卡 FSF 接受以下信用卡:Visa、Mastercard、Diner's Club、JCB 和 Carte Blanche。請注意,我們需要支付訂單總額約 5% 的信用卡處理費。請考慮改用支票付款,或額外捐款 5% 以彌補差額。
- FSF 接受透過傳真訂購和捐款 您現在可以透過傳真將訂單和捐款發送給 FSF。由於訂單必須預付,請傳真填妥的訂購單,包括信用卡資訊。我們不接受採購單。在美國和除日本以外的所有其他地方,傳真號碼為 +1-617-492-9057。在日本,傳真號碼為免付費電話:0031-13-2473 (KDD) 和 0066-3382-0158 (IDC)。
- FSF T 恤改良了! 我們剛剛在我們的 T 恤背面新增了 GNU 通用公共授權條款的副本,以前背面是空白的。請參閱文章「FSF T 恤」。
- 非正式的「GCC 聯盟」 包括 Intel、Motorola、Texas Instruments 和 Analog Devices 在內的一群公司已共同出資,以支持 GNU CC 的集中維護,目前由紐約大學的 Richard Kenner 負責。集中維護的任務是負責修復錯誤、整合和清理貢獻、發布版本以及編寫高優先級的改進。Richard Stallman 希望這能使他能夠開始一個新專案。
- GCC 2 已發布,GCC/G++/libg++ 1 已停止 自 2.5.7 版以來,GNU C 編譯器已脫離 Beta 測試階段。G++ 和 GCC 1 版不再由 FSF 維護或發布。此外,libg++ 1 版也已停止。
- 自由軟體與硬體捆綁銷售 位於康乃狄克州威爾頓的 Field Technology, Inc. 正在銷售「Linux 機器」,僅使用 copylefted 和公共領域軟體。這些與 Unix 相容的系統出貨時即可立即執行,並預裝了 TeX、Emacs、GNU C/C
++
、X Window System 和 TCP/IP 網路等熱門程式。Field Technology 為售出的每個系統向自由軟體基金會捐款。請聯絡info@fieldtech.com
或 +1-203-761-9363 以取得更多資訊。 - 實驗性磁帶暫停發布 我們目前未發布實驗性磁帶,因為其中大多數程式現在都已穩定。GCC、GAS、Binutils、libg++ 和 GNU C 函式庫已移至語言磁帶,取代先前的版本。Oleo 和 GNU Graphics 現在位於工具程式磁帶上。
- SNePS 現在是自由軟體 語意網路處理系統 (SNePS) 的目前版本 2.1 已根據 GNU 通用公共授權條款公開發布。先前它需要授權費才能使用。SNePS 是命題知識表示和推理的完全內涵理論的實現。SNePS 2.1 需要 Common-Lisp,並且可以在搭載 SunOS 4 的 SPARC 以及 TI Explorer I/II 上執行。先前的版本可以在 Symbolics CL、AKCL 和 VAX Common-Lisp 上執行,但目前版本尚未在這些系統上進行測試。可以透過匿名 FTP 從
ftp.cs.buffalo.edu
的 `/pub/sneps' 目錄取得 SNePS。 - C++ 程式設計師的 Lisp 類別函式庫 Lily 是一個 C
++
類別函式庫,提供類似 Lisp 的功能,包括自動垃圾回收。可以透過匿名 FTP 從sunsite.unc.edu
取得 Lily。如需更多資訊,請寫信至sheldon@kong.gsfc.nasa.gov
。 - 自由 Widget 基金會宣布 Widgets 自由 Widget 基金會 (FWF) 是一個草根、完全志願者的組織,旨在建立一套功能強大、靈活、可自由存取的 X 圖形使用者介面模組 (widgets)。自 1990 年成立以來,FWF 發布的版本已成長到超過 40 個 widgets,現在已在多個流行的 X 應用程式中使用。FWF 與自由軟體基金會無關,但它與我們有著相同的目標,即讓高品質的軟體可以自由重新發布。如需資訊或志願服務,請透過匿名 FTP 從
a.cs.uiuc.edu
取得 `/pub/FWF/README',寫信至free-widgets-info@flute.cs.uiuc.edu
,或寫信至The Free Widget Foundation c/o Brian Totty Department of Computer Science University of Illinois -- Urbana 1304 W. Springfield Avenue Urbana, IL 61801 USA
LPF 是什麼?
程式設計自由聯盟 (LPF) 旨在保護編寫軟體的自由。這種自由受到「外觀和風格」介面版權訴訟和軟體專利的威脅。LPF 不認可自由軟體或 FSF。
聯盟的成員包括程式設計師、企業家、學生、教授,甚至軟體公司。
摘自聯盟會員申請表
程式設計自由聯盟是一個由教授、學生、商業人士、程式設計師和使用者組成的草根組織,致力於恢復編寫程式的自由。聯盟不反對國會原先意圖的法律制度——個別程式的版權。我們的目標是扭轉法官最近因應特殊利益集團而做出的改變。
聯盟的會員費為程式設計師、經理和專業人士每年 42 美元;學生 10.50 美元;其他人士 21 美元。
若要加入,請寄送支票和以下資訊
- 您的姓名和電話號碼(住家、工作或兩者皆可)。
- 用於聯盟郵件的地址,每年幾封(請註明是您的住家地址還是工作地址)。
- 您工作的公司以及您的職位。
- 您的電子郵件地址,以便聯盟可以就政治行動與您聯絡。(如果您不希望為此與您聯絡,請說明,但請無論如何提供您的電子郵件地址。)
- 請提及任何關於您的事項,以便您對 LPF 的認可能夠給公眾留下深刻印象。
- 請說明您是否願意協助 LPF 的活動。
聯盟與自由軟體基金會沒有關聯,本身也不是自由軟體組織。FSF 支持 LPF,因為像任何規模小於 IBM 的軟體開發商一樣,它也受到軟體專利的危害。您也處於危險之中!在您或您的雇主被起訴之前,很容易忽略這個問題,但在這之前組織起來更為明智。
如果您尚未下定決心,請寫信給 LPF 以取得更多資訊
League for Programming Freedom
1 Kendall Square - #143
P.O. Box 9171
Cambridge, MA 02139
USA
Phone: +1-617-243-4091
Email: lpf@uunet.uu.net
來自 LPF 的消息
作者:Christian D.. Hofstader,cdh@prep.ai.mit.edu
美國專利商標局 (PTO) 將於 1994 年初就軟體專利議題舉行聽證會。PTO 意識到當前政策存在嚴重問題,並正在尋求關於如何糾正問題的意見。LPF 正試圖邀請一位代表作證,並將呼籲成員和其他關心這些問題的人寫信給 PTO。請聯絡 lpf@uunet.uu.net
以取得詳細資訊。
在過去幾個月中,LPF 一直在撰寫一份非當事人意見陳述(法庭之友),該陳述已在 Lotus v. Borland 訴訟案的上訴中提交給上訴法院。該陳述完全針對 Lotus 對於 123
中巨集語言的版權主張,該主張已獲得下級法院 Keeton 法官的批准。該陳述於 1993 年 12 月 14 日由 20 多位著名的電腦科學家在第一巡迴法院代表提交。
LPF 組織簽署陳述的團體包括 Marvin Minsky、John McCarthy 和 Robert Boyer 等電腦科學領域的主要貢獻者。Borland 副總裁兼總法律顧問 Bob Kohn 表示:「有了這個團體,LPF 應該能夠改變智慧財產權法的進程。從未有如此令人印象深刻的電腦科學家團體聚集在一起。」
LPF 將在此案中提交補充文件。如果您有興趣簽署或認識您認為會想加入名單的人,請將相關資訊轉發給 LPF。
自由軟體支援
自由軟體基金會不提供任何技術支援。儘管我們創建軟體,但我們將提供支援以謀生的工作留給其他人。我們將程式設計師視為提供服務,就像現在的醫生和律師一樣;醫療和法律知識都是可以自由重新發布的實體,從業者對此收取發布和服務費。
我們維護一份提供支援和其他諮詢服務的人員列表,稱為 GNU 服務目錄。它位於 GNU Emacs 發行版中的 `etc/SERVICE' 檔案、GCC 發行版中的 `SERVICE' 檔案以及匿名 FTP 主機 prep.ai.mit.edu
上的 `/pub/gnu/GNUinfo/SERVICE' 中。如果您想要印刷本或希望被列入其中,請聯絡我們。
如果您發現任何 GNU 軟體存在缺陷,我們希望知道。我們有許多用於錯誤報告、公告和問題的網際網路郵件列表。它們也以 gnu.*
新聞群組的形式閘道到 USENET 新聞中。您可以從首頁上的任一地址索取郵件列表的清單。
當我們收到錯誤報告時,我們通常會嘗試修復問題。雖然我們的錯誤修復可能看起來像是個別協助,但事實並非如此。我們的任務非常龐大,我們必須專注於有助於整個社群的事務;我們沒有資源來幫助個人。我們可能會向您發送錯誤修復程式,以幫助我們測試修復程式並確保其品質。如果您的錯誤報告沒有引起我們的解決方案,您仍然可以從閱讀我們錯誤報告郵件列表的其他使用者那裡獲得解決方案。否則,請使用服務目錄。
請不要要求我們協助您安裝軟體或弄清楚如何使用它——但請告訴我們安裝腳本如何無法運作或文件不明確之處。
如果您無法存取網際網路,您可以透過 UUCP 取得郵件和 USENET 新聞。請聯絡當地的 UUCP 站點或商業 UUCP 站點,例如
UUNET Communications Services
3110 Fairview Park Drive - Suite 570
Falls Church, VA 22042
USA
Phone: 1-800-4UUNET4 or (703) 204-8000
Fax: (703) 204-8001
E-mail: info@uunet.uu.net
商業 UUCP 和網際網路服務提供商的長列表會定期發布到 USENET 的 news.announce.newusers
新聞群組中,標題為「主題:如何成為 USENET 站點」。
在選擇服務提供商時,請詢問您正在考慮的那些提供商在協助自由軟體開發方面做了多少,例如透過向自由軟體開發專案捐款,或自行編寫自由軟體改進以供一般使用。透過部分基於此因素做出決定,您可以幫助鼓勵那些從自由軟體中獲利的人為其成長做出貢獻。
GNU 計劃願望清單
本期希望徵求
- 志工在技術會議、貿易展覽、當地和國家使用者團體會議等場合分發本公告。請致電首頁上的號碼或發送電子郵件至
gnu@prep.ai.mit.edu
以進行安排。 - Oleo 擴充功能和其他用於商業的自由軟體,例如簿記。
- 600+ MB SCSI 磁碟,以便為我們提供更多空間來開發軟體。
- 一台與 200+ MB 磁碟和乙太網路卡相容的 386 或 486 PC。
- 一台 4mm DAT 磁帶機、一台 8mm Exabyte 磁帶機、一台 Sun SPARCstation 和一台 Sun-3/60 或 4/110。
- 公司借調有能力的程式設計師和技術作家至少六個月。真正的專家可能會在較短的時間內受到歡迎,但我們發現六個月是一位優秀的程式設計師完成一個有價值的專案所需的最短時間。
- 志工協助編寫程式和文件。發送郵件至
gnu@prep.ai.mit.edu
以取得任務清單和編碼標準。 - 志工為尚未包含在編譯工具二進位檔 CD-ROM 中的系統(特別是對於不包含 C 編譯器的系統)建立二進位檔。請透過首頁上的任一地址聯絡我們。
- 可能有興趣贊助或主持研究助理進行 GNU 開發的教授,並提供 FSF 支援。
- 語音和字元辨識軟體和系統(如果裝置不太奇怪),如果可能的話,請提供裝置驅動程式。這將有助於部分身障人士(包括我們認識的一些人)的生產力。
- 《GNU 公告》中文章的新引言和想法。我們特別喜歡重點介紹參與自由資訊交流的組織、使用 GNU 通用公共授權條款的軟體,以及將提供自由軟體支援作為主要業務的公司。
- 提及 GNU 計劃或 GNU 軟體的報紙和期刊文章副本。將這些副本寄送到首頁上的地址,或將引文寄送到
gnu@prep.ai.mit.edu
。 - 資金。如果您使用並欣賞我們的軟體,請捐款。向我們捐款少量資金的一種方法是訂購發行磁帶磁片或 CD-ROM。向我們捐款較多資金的一種方法是訂購豪華發行版。這些可能不計入稅務上的捐款,但它們可以作為營業費用。如果您在一家「捐款」一詞令人厭惡的企業工作,這尤其有幫助。
朝向新的作業系統設計策略
本文說明了 FSF 為何要開發一個名為 Hurd 的新作業系統,它將成為整個 GNU 系統的基礎。Hurd 建構於 CMU 的 Mach 3.0 核心之上,並使用 Mach 的虛擬記憶體管理和訊息傳遞設施。GNU C 函式庫將提供 Unix 系統呼叫介面,並將呼叫 Hurd 以取得其自身無法提供的必要服務。Hurd 的設計和實作由 Michael Bushnell 領導,並由 Richard Stallman、Roland McGrath、Jan Brittenson 和其他人協助。
第 1 部分 - 更易於使用的作業系統設計方法
作業系統 (OS) 的基本目的是使各種程式能夠有效率且高效率地共用單一電腦。這需要記憶體保護、搶佔式排程分時、協調存取 I/O 周邊設備和其他服務。此外,作業系統可以允許多個使用者共用一台電腦。在這種情況下,效率需要能夠保護使用者免受彼此傷害、使他們能夠在沒有事先安排的情況下共用以及協調對實體設備的存取的服務。
在今天的電腦系統上,程式設計師通常透過一個名為核心的大型程式來實現這些目標。由於所有使用者程式都必須能夠存取此程式,因此它是向系統新增功能的自然位置。由於程序互動的唯一模型是核心提供的特定、個別服務,因此沒有人創建其他位置來新增功能。隨著時間的推移,越來越多的功能被新增到核心中。
傳統系統僅允許使用者在他們既了解核心的大部分內容又在系統中具有特權狀態的情況下,才能向核心新增組件。測試新組件需要比測試其他程式更痛苦的編輯-編譯-偵錯週期。在其他人使用系統時,無法完成此操作。錯誤通常會導致嚴重的系統崩潰,進一步擾亂其他人對系統的使用。整個核心通常是不可分頁的。(有些系統具有可分頁的核心,但決定可以分頁的內容很困難且容易出錯。通常這些機制很複雜,即使在新增簡單的擴充功能時也很難使用。)
由於這些限制,除非絕對必要,否則通常會將本應位於傳統核心牆後的那些功能排除在系統之外。許多好的想法,最好使用開放/讀取/寫入介面來完成,但由於傳統系統的單體性質所固有的問題而無法實作。此外,即使在那些有毅力實作新想法的人中,也只有那些擁有電腦特權的使用者才能做到。軟體版權系統使情況更加糟糕,甚至阻止未經授權的人閱讀核心原始碼。
有些系統試圖解決這些困難。Smalltalk-80 和 Lisp Machine 都代表了一種繞過問題的方法。系統程式碼與使用者程式碼沒有區別;使用者可以存取所有系統,並且可以根據需要進行更改。這兩個系統都圍繞著易於替換和擴充功能的語言而建構,並且取得了一定的成功。但是它們在將使用者和程式彼此隔離方面都相當差,未能實現作業系統設計的主要目標之一。
大多數使用 Mach 3.0 核心的專案都延續了難以改變的作業系統設計傳統。內部結構不同,但使用者和系統之間仍然存在相同的沉重障礙。單伺服器雖然相對容易建構,但繼承了單體核心的所有缺陷。
多伺服器將核心功能劃分為具有明確定義介面的邏輯區塊。如果做得好,則更容易進行更改和新增功能。因此,大多數多伺服器專案都做得更好一些。系統的更多部分是可分頁的。您可以更輕鬆地偵錯系統。您可以測試新的系統組件,而不會干擾其他使用者。但是使用者和系統之間的牆仍然存在;沒有特殊權限,任何使用者都無法跨越它。
相比之下,GNU Hurd 的設計旨在使系統程式碼的範圍盡可能有限。程式僅需與核心的少數基本部分進行通訊;系統的其餘部分可以動態替換。使用者可以使用系統其餘部分的任何部分,並且可以輕鬆地自行新增組件,以供其他使用者利用。使用者無需預先建立互信即可使用彼此的服務,系統也不會因為信任任意使用者的服務而變得脆弱。
這樣是藉由找出那些使用者必須使用的系統組件來完成的,以便彼此溝通。其中一個組件負責識別使用者身分,稱為身份驗證伺服器。為了建立彼此的身分,程式必須與它們信任的身份驗證伺服器進行通訊。另一個組件建立對系統組件的控制權,由超級使用者執行,提供全域的帳務操作,並稱為程序伺服器。
並非所有使用者程式都需要與程序伺服器通訊;只有需要其服務的程式才需要。同樣地,身份驗證伺服器僅對於希望向另一個程式傳達其身分的程式是必要的。其餘的服務都不帶有任何特殊狀態;無論是網路實作、檔案系統、程式執行機制(包括 setuid),還是任何其他的服務。
翻譯器機制
Hurd 主要使用 Mach 埠作為使用者和伺服器之間通訊的方法。(Mach 埠是 Mach 任務上的一個通訊點,訊息在此處發送和接收。)每個埠都實作了一組特定的協定,代表可以在埠所代表的底層物件上執行的操作。Hurd 指定的一些協定包括:I/O 協定,用於通用 I/O 操作;檔案協定,用於檔案系統操作;socket 協定,用於網路操作;以及程序協定,用於操作程序等等。
大多數伺服器是通過開啟檔案來存取的。通常,當您開啟一個檔案時,您會建立一個與該檔案關聯的埠,該埠由擁有包含該檔案的目錄的伺服器所擁有。例如,基於磁碟的檔案系統通常會服務大量的埠,每個埠代表一個開啟的檔案或目錄。當一個檔案被開啟時,伺服器會建立一個新的埠,將其與該檔案關聯,並將該埠返回給呼叫程式。
然而,一個檔案可以有一個與之關聯的轉譯器。在這種情況下,伺服器不是返回它自己的埠來引用檔案的內容,而是執行與該檔案關聯的轉譯器程式。這個轉譯器會被給予一個指向檔案實際內容的埠,然後被要求返回一個埠給原始使用者以完成開啟操作。
這種機制用於 mount
,方法是讓每個掛載點都關聯一個轉譯器。當程式開啟掛載點時,轉譯器(在這種情況下,是一個理解已掛載檔案系統的磁碟格式的程式)被執行,並向程式返回一個埠。在轉譯器啟動後,除非它終止,否則不需要再次執行;父檔案系統保留一個指向轉譯器的埠,以便在未來的請求中使用。
檔案的所有者可以將轉譯器與之關聯,而無需特殊權限。這意味著任何程式都可以被指定為轉譯器。顯然,如果轉譯器沒有正確地實作檔案協定,系統將無法正常工作。然而,Hurd 的建構方式使得最壞的可能後果是一個可中斷的掛起。
使用轉譯器的一種方法是使用檔案協定來存取階層式結構化資料。例如,ftp
程式的使用者介面的所有複雜性都被移除了。使用者只需要知道特定的目錄代表 FTP,並且可以使用所有標準的檔案操作命令(例如 ls
或 cp
)來存取遠端系統,而無需學習一套新的命令。同樣地,一個簡單的轉譯器可以簡化 tar
或 gzip
的複雜性。(這種透明的存取方式會增加一些成本,但會很方便。)
通用服務
有了轉譯器,檔案系統可以作為不類似於檔案的介面的交會點。考慮一個服務,它實作了某個版本的 X 協定,使用 Mach 訊息作為底層傳輸。對於每個 X 顯示器,可以建立一個檔案,並將適當的程式作為其轉譯器。X 客戶端將開啟該檔案。在那時,很少有檔案操作會是有用的(例如,讀取和寫入將是無用的),但新的操作(XCreateWindow
或 XDrawText
)可能會變得有意義。在這種情況下,檔案系統協定僅用於操作用於交會點的節點的特性。該節點不需要支援 I/O 操作,但它應該以 message_not_understood
返回碼回覆任何此類訊息。
這種轉譯器技術用於聯絡 Hurd 中大多數不以階層式檔案系統結構化的服務。例如,密碼伺服器,它發放授權標籤以換取密碼,就是以這種方式聯絡的。網路協定伺服器也是以這種方式聯絡的。Roland McGrath 想出了這種轉譯器的用法。
巧妙的檔案系統圖片
在 Hurd 中,轉譯器也可以用於呈現檔案系統另一部分的檔案系統式視圖,並帶有一些語意上的改變。例如,如果有一個檔案系統本身不能被更改,但仍然在其他地方記錄其檔案的更改版本,那將會很好。(這對於原始碼管理可能很有用。)
Hurd 將會有一個轉譯器,它會建立一個目錄,該目錄是其他目錄的概念性聯合,並帶有各種排序的衝突解決規則。這可以用於向使用者呈現一個單一目錄,其中包含他們想要執行的所有程式。在這個主題上還有其他有用的變化。
使用者可以做什麼
沒有轉譯器會因為被連接到檔案系統而獲得額外的權限。轉譯器以被轉譯檔案的所有者的 uid 執行,並且只能由該所有者設定或更改。I/O 和檔案系統協定經過精心設計,允許互不信任的客戶端和伺服器使用它們。實際上,轉譯器只是普通的程式。GNU C 函式庫有各種工具,可以讓編寫常見種類的轉譯器更容易。
有些轉譯器可能需要特殊的權限,例如密碼伺服器或允許 setuid 執行的轉譯器。這些轉譯器可以由任何人執行,但只有當它們被設定在 root 擁有的節點上時,它們才能成功地提供其所有服務。這類似於允許任何使用者呼叫 reboot
系統呼叫,但只有在該使用者是 root 時才執行它。
為何如此不同
這種設計在 Unix 世界中是完全新穎的。到目前為止,作業系統已經將其大部分功能保留在系統程式碼的領域中,從而防止了對其進行修改和擴充,除非在極端需要的情況下。使用者無法在他們的程式中替換系統的某些部分,無論這樣做會讓他們的工作變得多麼容易,而且系統管理員也不願意將從網路上隨機取得的調整安裝到他們的核心中。
在 Hurd 中,使用者幾乎可以更改傳統系統預先為他們決定的所有事情。結合 Mach 核心在任務位址空間和屬性上給予的巨大控制權,Hurd 提供了一個系統,在其中,使用者將首次能夠替換他們不喜歡的系統部分,而不會干擾其他使用者。
到目前為止,大多數基於 Mach 的作業系統主要是在新的環境中實作了一套更廣泛的相同的舊 Unix 語意。相比之下,GNU 正在擴充這些語意,以允許使用者改進、繞過或替換它們。
第 2 部分 - 看看 Hurd 的一些厲害之處
身份驗證伺服器
Hurd 更核心的伺服器之一是身份驗證伺服器。每個指向此伺服器的埠都識別一個使用者,並由該伺服器與一個id 區塊關聯。每個 id 區塊包含使用者和群組 id 的集合。任一集合都可能是空的。此伺服器與上面提到的密碼伺服器不同。
身份驗證伺服器匯出三種服務。首先,它在身份驗證埠上提供簡單的布林運算:給定兩個身份驗證埠,此伺服器將提供第三個埠,代表兩個 uid 和 gid 集合的聯集。其次,此伺服器允許任何 uid 為零的使用者建立任意的身份驗證埠。最後,此伺服器提供 RPC(不同程式之間以及可能不同主機之間的遠端程序呼叫),允許互不信任的客戶端和伺服器建立它們的身分,並互相傳遞初始資訊。這對於檔案系統和 I/O 協定的安全性至關重要。
任何使用者都可以編寫一個實作身份驗證協定的程式;這不會違反系統的安全性。當一個服務需要驗證使用者身分時,它會與其信任的身份驗證伺服器通訊。如果該使用者正在使用不同的身份驗證伺服器,則交易將失敗,並且伺服器可以拒絕進一步通訊。因為實際上,這迫使系統上的所有程式都使用相同的身份驗證伺服器,所以我們設計了它的介面,使其能夠進行任何安全的操作,並且不包含任何無關的操作。(這就是為什麼有一個單獨的密碼伺服器的原因。)
程序伺服器
程序伺服器充當資訊分類儲存庫。此伺服器支援四種主要服務。首先,程序伺服器追蹤 Mach 核心未處理的通用主機層級資訊。例如,主機名稱、主機 ID 和系統版本由程序伺服器維護。其次,此伺服器維護 Posix 的會話和程序群組概念,以協助希望使用 Posix 功能的程式。
第三,程序伺服器維護 Mach 任務和 Hurd 程序之間的一對一映射。每個任務都被分配一個 pid。程序可以向此伺服器註冊一個訊息埠,然後可以將其發放給任何請求它的程式。此伺服器不嘗試保持這些訊息埠的私密性,因此使用者程式應該自己實作它們需要的任何安全性。(GNU C 函式庫為此提供了方便的函式。)程序可以告訴程序伺服器它們目前的 argv
和 envp
值;然後此伺服器將在請求時提供這些參數和環境向量。這對於編寫類似 ps
的程式很有用,並且也更容易隱藏或更改此資訊。這些功能都不是強制性的。程式可以自由地忽略所有這些,並且永遠不向程序伺服器註冊自己。然而,它們仍然會被分配一個 pid。
最後,程序伺服器實作程序集合,它用於同時收集多個程序訊息埠。此外,還提供了在 pid、程序伺服器埠和 Mach 任務埠之間進行轉換的工具,同時確保所管理埠的安全性。
重要的是要強調,程序伺服器是可選的。由於 Mach 的限制,程式必須以 root 身分執行才能識別系統中的所有任務。但是,在這種情況下,可以共存多個程序伺服器,每個伺服器都有自己的客戶端,提供它們自己的宇宙模型。那些不需要 root 權限即可實作的程序伺服器功能可以作為每個使用者的伺服器來完成。使用者的手沒有被束縛。
透明 FTP
透明 FTP 是一個有趣的想法,它的時機已經到來。流行的 ange-ftp
套件適用於 GNU Emacs,使得對 FTP 檔案的存取對於所有 Emacs 檔案操作功能幾乎是透明的。透明 FTP 做著同樣的事情,但以系統範圍的方式進行。此伺服器尚未編寫;細節仍有待充實,並且無疑會隨著經驗而改變。
在 BSD 核心中,編寫透明 FTP 檔案系統並不比在 Hurd 中更難。但是向 BSD 核心駭客提及這個想法,得到的回答是「這種東西不屬於核心」。在某種意義上,這是正確的。將這些東西放在核心中違反了此類系統的所有分層原則。然而,不幸的副作用是,基於防止使用者更改他們不喜歡的東西的設計方法(being used to prevent system designers from making things better)。(最近的 BSD 核心使得編寫一個提供透明 FTP 的使用者程式成為可能。一個例子是 alex
,但它需要以完整的 root 權限執行。)
在 Hurd 中,沒有任何障礙可以阻礙透明 FTP 的實現。將為節點 `/ftp' 提供一個轉譯器。`/ftp' 的內容可能無法直接列出,儘管更深層的子目錄可以。將會有各種可能的格式。例如,要存取 uunet 上的檔案,可以 cd /ftp/ftp.uu.net:anonymous:mib@gnu
。或者要存取遠端帳戶上的檔案,可以 cd /ftp/gnu.ai.mit.edu:mib:passwd
。此命令的部分內容可以省略,透明 FTP 程式將從使用者的 `.netrc' 檔案中讀取它們。在最後一種情況下,可以只 cd /ftp/gnu.ai.mit.edu
;當其餘資料已經在 `.netrc' 中時。
不需要先執行 cd
—— 使用任何檔案命令。要了解 RFC 1097(Telnet 潛意識訊息選項),只需輸入 more /ftp/ftp.uu.net/inet/rfc/rfc1097
。如果經常讀取 RFC,則可以使用複製命令複製到本機磁碟。
檔案系統
普通的檔案系統也在實作中。Hurd 的初始版本將包含一個向上相容於 BSD 4.4 Fast File System 的檔案系統。除了普通的語意之外,它還將提供記錄轉譯器的方法、提供 32 位元使用者 ID 和群組 ID,並為每個檔案提供一個新的 ID,稱為檔案的作者,可以由所有者任意設定。此外,由於 Hurd 中的使用者可以有多個 uid(甚至沒有 uid),因此還有另一組權限位元,提供對未知使用者(沒有 uid)的存取控制,這與已知但任意使用者(一些 uid:現有的檔案權限世界類別)不同。
網路檔案系統協定將以 4.4 BSD 作為起點來實作。日誌結構化檔案系統也將使用與 Sprite 中相同的想法來實作,但可能不會使用相同的格式。GNU 網路檔案協定可能會及時設計出來,或者可能會擴充 NFS 以消除其缺陷。還將有各種「小型」檔案系統,例如 MS-DOS 檔案系統,以幫助人們在 GNU 和其他作業系統之間移動檔案。
終端機
I/O 伺服器將提供 Posix 的終端語意。GNU C 函式庫具有用於追蹤控制終端的功能,以及用於安排在適當時間發送正確的作業控制訊號的功能,以及用於遵守鍵盤和掛斷訊號的功能。
程式將能夠以各種方式將終端驅動程式插入通訊通道中。像 rlogind
這樣的伺服器將能夠將終端協定插入到它們的網路通訊埠上。虛擬終端將不是必要的,儘管它們將被提供用於向後相容於較舊的程式。GNU 中的任何程式都不會依賴它們。
沒有任何關於終端驅動程式的東西是被強加於使用者的。終端驅動程式允許使用者輕鬆地存取底層通訊通道,根據需要或完全繞過自身,或替換不同的類似終端驅動程式的程式。在後一種情況下,如果替換程式實作了必要的介面,C 函式庫將像使用普通終端驅動程式一樣使用它。
由於這種靈活性,原始終端驅動程式將不會提供複雜的行編輯功能,而是將自身限制在 Posix 和 BSD 中找到的行為。隨著時間的推移,將會有一個基於 readline
的終端驅動程式,它將為那些想要它們的使用者提供複雜的行編輯功能。
終端驅動程式可能不會為 UUCP 或 SLIP 所需的高容量、快速資料傳輸提供良好的支援。這些程式不需要它的任何功能。相反,它們將使用底層的 Mach 裝置埠作為終端,這支援高效地移動大量資料。
執行程式
execve
呼叫的實作分散在三個程式中。函式庫整理參數和環境向量。然後,它向保存要執行檔案的檔案伺服器發送訊息。檔案伺服器檢查執行權限,並在 exec 呼叫中進行它想要的任何更改。例如,如果檔案被標記為 setuid,並且檔案伺服器有能力,它將更改新映像的使用者識別。檔案伺服器還決定是否有權存取舊任務的程式應繼續有權存取新任務。如果檔案伺服器正在擴充權限,或執行不可讀的映像,那麼 exec 需要在新的 Mach 任務中進行,以維護安全性。
在決定與新映像關聯的策略後,檔案系統呼叫 exec 伺服器以載入任務。此伺服器使用 BFD(二進制檔案描述符)函式庫載入映像。BFD 支援大量的物件檔案格式;幾乎任何支援的格式都將是可執行的。此伺服器還處理以 #!
開頭的腳本,通過指示的程式執行它們。
標準的 exec 伺服器也會查看新映像的環境;如果它包含一個變數 EXECSERVERS
,那麼它會使用那裡指定的程式作為 exec 伺服器,而不是系統預設的伺服器。(當然,對於檔案伺服器已要求保持安全的 exec 來說,這是不會發生的。)
新的映像在 GNU C 函式庫中開始執行,GNU C 函式庫向 exec 伺服器發送訊息以取得參數、環境、umask、目前目錄等。這些額外狀態都不是檔案或 exec 伺服器特有的;如果程式願意,它們可以使用與函式庫不同的方式使用它。
新程序
fork
呼叫幾乎完全在 GNU C 函式庫中實作。新的任務是由 Mach 核心呼叫建立的。C 函式庫安排使其映像被正確繼承。新的任務已向程序伺服器註冊(儘管這不是強制性的)。C 函式庫提供了在 fork 時呼叫的函式向量:一個向量在 fork 之前呼叫,一個向量在父程序中在 fork 之後呼叫,以及一個向量在子程序中在 fork 之後呼叫。(這些功能不應該用於替換正常的 fork 呼叫序列;它旨在用於需要在 fork 發生之前關閉埠或清理的函式庫。)C 函式庫將實作由 Posix.4a 草案指定的兩個 fork 呼叫(處理即時擴充的執行緒擴充的提案標準)。
沒有什麼強迫使用者以這種方式建立新任務。如果一個程式想要使用幾乎正常的 fork,但帶有一些特殊的特性,那麼它可以這樣做。C 函式庫將提供掛鉤,或者甚至可以完全替換該函式。在傳統的 Unix 系統中,這一切都是不可能的。
非同步訊息
如上所述,程序伺服器為每個向其註冊的任務維護一個「訊息埠」。這些埠是公開的,用於向任務發送非同步訊息。例如,訊號被發送到訊息埠。訊號訊息還提供一個埠,以表明發送者應該被信任可以發送訊號。GNU C 函式庫在一個表格中列出了各種埠,每個埠都識別一組可以由任何擁有該埠的人發送的訊號。例如,如果使用者擁有任務的核心埠,則允許發送任何訊號。如果使用者擁有一個特殊的「終端 ID」埠,則允許發送鍵盤和掛斷訊號。使用者可以將任意的新條目新增到 C 函式庫的訊號權限表格中。
當程序的程序群組更改時,程序伺服器將向其發送一條訊息,指示新的程序群組。在這種情況下,程序伺服器通過提供任務的核心埠來證明其權威。
C 函式庫也有訊息可以新增和刪除程序目前使用的 uid。如果新的 uid 被發送到程式,函式庫會將它們新增到其目前的集合中,然後與它知道的所有 I/O 伺服器交換訊息,向它們證明其新的授權。同樣地,訊息可以刪除 uid。在後一種情況下,呼叫者必須提供程序的任務埠。(你不能通過給予程序額外的權限來傷害它,但你可以通過剝奪權限來傷害它。)Hurd 將提供使用者程式來向程序發送這些訊息。例如,su
命令將能夠使您目前登入會話中的所有程式獲得新的 uid,而不是產生子 shell。
C 函式庫將允許程式新增它們希望識別的非同步訊息,以及阻止識別標準集合。
使其看起來像 Unix
C 函式庫將實作來自 BSD 和 Posix 的所有呼叫,以及它們的一些顯而易見的擴充。這使得使用者能夠替換他們不喜歡的呼叫或完全繞過它們,而在 Unix 中,呼叫必須「按原樣」使用,而沒有其他可能的替代方案。
在某些環境中,也將支援二進制相容性。這是通過建構一個特殊版本的函式庫來完成的,然後將其載入到程序的位址空間中的某個位置。(例如,在 VAX 上,它會被塞在堆疊上方。)Mach 的一個功能,稱為系統呼叫重定向,然後被用於捕獲 Unix 系統呼叫,並將它們轉換為跳轉到此特殊版本函式庫的跳轉。(在幾乎所有機器上,這種重定向的成本都非常小;這是 Mach 中的一個高度最佳化路徑。在 386 上,它大約是二十幾個指令。這比簡單的程序呼叫稍差一點。)
Unix 的許多功能,例如訊號遮罩和向量,都完全由函式庫處理。這使得這些功能的成本比在 Unix 中顯著降低。現在廣泛使用 sigblock
來保護關鍵區段是合理的,而不是尋找一些其他成本較低的方法。
網路協定
Hurd 將有一個函式庫,它將使將 4.4 BSD 協定堆疊移植到 Hurd 變得非常容易。這將使 BSD 支援的所有協定能夠幾乎免費地運作。目前,這包括 CCITT 協定、TCP/IP 協定、Xerox NS 協定和 ISO 協定。
為了獲得最佳效能,需要做一些工作來利用 Hurd 功能,這些功能提供非常高速的 I/O。對於大多數協定,這將需要一些思考,但不會花費太多時間。Hurd 將盡可能高效地執行 TCP/IP 協定。
作為 Hurd 設計靈活性的有趣範例,請考慮 IP trailers 的情況,它在 BSD 中被廣泛使用以提高效能。雖然 Hurd 願意發送和接收 trailers,但這樣做的好處相對較小,因為沒有要求複製資料,並且避免複製頁面對齊的資料是無關緊要的。
第二屆年度日本 GNU 研討會
Wingnut 和 FSF 於 1993 年 12 月 1 日和 2 日在東京贊助了第二屆 GNU 技術研討會。Richard Stallman 在會上談到了 GNU 專案和 FSF。然後 Jim Blandy 談到了 GNU Emacs 19。最後,東田宜夫談到了 Demacs(參見「微電腦的自由軟體」)。Bob Myers 和 David Littleboy 將英文講座翻譯成日文。Software Research Associates, Inc. (SRA)、SRA/Wingnut 專案及其員工為這次研討會和整個日本之行提供了無數的幫助。約有 70 人參加了研討會,幾家日本出版物採訪了 Richard Stallman。FSF 還首映了新版的原始碼 CD-ROM。
研討會也在 12 月 6 日在仙台舉行,Richard Stallman 在會上發表演講;12 月 7 日在會津大學舉行,Richard Stallman 和 Jim Blandy 在會上發表演講;以及 12 月 13 日在大阪舉行,Richard Stallman 和東田宜夫在會上發表演講。我們感謝所有幫助這些研討會成為現實的人員和組織,包括組織者、主辦者和口譯員。
日本 Unix 協會給了 FSF 在橫濱 Unix Fair '93 的攤位。我們感謝所有幫助 FSF 營運這個攤位的志工和組織。
我們在研討會和貿易展覽會上的成功超出了我們的預期。我們收到了來自個人支持者和使用者群體的許多非主動捐款,並感謝許多熱情的志工幫助了我們。未來,我們希望在日本和其他地方的更多 Unix 活動中露面。如果您想主辦研討會,或需要會議演講者,請聯絡封面上的任一地址。
GNU 和其他在日本的自由軟體
Mieko (h-mieko@sra.co.jp
) 和 Nobuyuki Hikichi (hikichi@sra.co.jp
) 繼續在日本為 GNU 專案擔任志工。他們將本 Bulletin 的每一期翻譯成日文並廣泛發行,以及他們翻譯的 GNU 通用公共許可證第 2 版。GPL 的此翻譯已獲得 FSF 的授權,並且可以通過匿名 FTP 從 srawgw.sra.co.jp
的 `/pub/gnu/local-fix/GPL2-j' 取得。他們正在進行 GNU 函式庫通用公共許可證的正式翻譯。此外,他們還徵求捐款並提供 GNU 軟體諮詢。
日文版本的 Epoch (nepoch
) 和 MULE 在日本可用且廣泛使用。MULE(GNU Emacs 的多語言增強)可以一次處理多個字元集。最終,其功能將合併到 FSF 版本的 Emacs 中。FSF 不發行 nepoch
,但 MULE 可用(參見「原始碼 CD-ROM」)。您也可以從 sh.wide.ad.jp
的 `/JAPAN/mule' 或 etlport.etl.go.jp
的 `/pub/mule' 通過 FTP 取得它。
Village Center, Inc. 印製了 GNU Emacs Lisp 參考手冊 的日文翻譯,並將 Texinfo 原始碼上傳到各種佈告欄。他們還出版了一本版權自由的書,Nobuyuki 和 Mieko 的 Think GNU。這似乎是日本第一本非 FSF 版權自由的出版物。部分利潤捐贈給 FSF。他們的地址是
Village Center, Inc. 2-2-12, Fujimi-Cho, Choufu city Tokyo 182, Japan
Addison Wesley Publishers Japan 已經印製了 GNU Make 手冊 和 GAWK 手冊 的日文翻譯。他們的地址是
Addison Wesley Publishers Japan Nichibou Bldg. 2F 1-2-2 Sarugaku-cho, Chiyoda-ku Tokyo 101, Japan
ICOT(下一代電腦技術研究所)正在將其研究工作產生的第五代軟體作為自由軟體發行。這包括超過 70MB 的符號處理、知識表示、問題解決和推理以及自然語言處理程式。如需更多資訊,請聯絡 irpr@icot.or.jp
。
日本的許多群體現在發行 GNU 軟體。它們包括 JUG,一個 PC 使用者群體;ASCII,一個期刊和書籍出版商;Fujitsu FM Towns 使用者群體;以及 SRA 的 GNU 支援特殊群體,稱為 Wingnut,他們也購買了日本的第一個豪華套裝。(從那時起,在日本已經有幾次匿名購買豪華套裝。)匿名 UUCP 也可用;如需更多資訊,請聯絡 toku@dit.co.jp
。
從日本直接向 FSF 下訂單也很容易,這有助於我們資助新的程式碼。我們有一份日文寫成的 FSF 訂購單,請向 japan-fsf-orders@prep.ai.mit.edu
索取訂購單副本。在日本也有兩個免付費傳真號碼(參見封面)。我們鼓勵您購買磁帶:每 150 份磁帶訂單允許 FSF 聘請一位程式設計師一年來編寫更多自由軟體。
自由提供的文本
可自由再發行的資訊不僅僅是軟體。以下是一些提供各種書籍、歷史文獻等的群體。
-
FreeLore John Goodwin 的 FreeLore 專案的一個目標是創建一個有用的、版權自由的教科書核心。他目前正在測試一個原型課程,以 Texinfo 編寫,適用於初中到大學早期。要成為志工,請通過
jgoodwin@adcalc.fnal.gov
聯絡他。 -
線上書籍倡議 線上書籍倡議專注於可自由再發行的書籍、會議記錄、參考資料、目錄等。OBI 線上有大約 200MB 的(主要是壓縮的)文字,範圍從詩歌到標準文件到小說。從
obi.std.com
匿名 FTP 取得它。您也可以使用數據機撥打world.std.com
(617-739-9753,8N1)並建立一個帳戶來存取此資訊(以new
身分登入)。world
上的帳戶會收取連線時間費用(詳細資訊請洽詢office@world.std.com
)。 -
古騰堡計劃 古騰堡計劃是 Michael Hart 的心血結晶。Hart 教授對成功的希望來自於他所謂的「複製器技術」的本質。一旦任何東西儲存在電腦中,它就可以無限期地複製,使其可供所有想要它的人使用。古騰堡計劃的文本可從許多 FTP 站點取得,包括
mrcnext.cso.uiuc.edu
的 `/etext' 檔案和oes.orst.edu
的 `/pub/almanac/etext' 檔案。如需有關如何從 Bitnet 取得文本的說明,請將單字 `HELP' 發送到BITFTP@PUCC
的訊息正文(網際網路上的BITFTP%PUCC.BITNET@mitvma.mit.edu
)。或查看 USENET 新聞群組bit.listserv.gutnberg
。
GNU 計劃狀態報告
- GNU 軟體組態方案 我們正在使用統一的方案來組態 GNU 軟體套件,以便編譯它們。所有 GNU 軟體都支援用於命名機器和系統類型的相同替代方案。這使得以相同的方式組態任何和所有 GNU 軟體成為可能。組態方案還支援使用一個命令組態包含多個 GNU 套件的目錄。當作業系統完成時,將可以一次組態整個系統,從而無需單獨組態組成 GNU 系統的每個單獨套件。組態方案還可以指定主機和目標系統,因此您可以輕鬆組態和建構交叉編譯工具。
-
Hurd 我們正在開發 GNU Hurd,一組在 Mach 之上運行的伺服器(如需更多資訊,請參見「邁向作業系統設計的新策略」)。Mach 是一個在 CMU 開發的自由訊息傳遞核心。Hurd 伺服器與 GNU C 函式庫一起工作,將提供類似 Unix 的功能。它們是完整 GNU 系統所需的最後主要組件。目前,Mach 核心有免費埠到 386 PC、DEC PMAX 工作站和其他幾種機器,並且正在進行更多埠的開發。如果您想幫助其中一個或啟動您自己的埠,請聯絡 CMU c/o
mach@cs.cmu.edu
。一旦存在到特定種類硬體的 Mach 埠,移植 GNU Hurd 和 GNU C 函式庫就很容易(比移植 GNU Emacs 容易,肯定比移植 GCC 容易)。最近取得了重大進展:檔案系統正在啟動,並且其他幾個伺服器正在運行。有與 Hurd 相關的重大專案,我們需要志工。有經驗且感興趣的系統程式設計師應發送郵件至gnu@prep.ai.mit.edu
。 -
GNU Emacs(另請參見「現在可用的 GNU 軟體」)Emacs 是可擴充、可自訂、自文檔化的即時顯示編輯器。目前版本是 GNU Emacs 19.22。許多志工在 Emacs 19 上特別有幫助。感謝 Alan Carroll 和參與 Epoch 的人員為多視窗 Emacs 產生初始回饋,感謝 Lucid, Inc. 實作 X 選項、面孔、最佳化位元組編譯器和預設選單列,感謝 Eric Raymond 評估了 851 個可能的新 Lisp 函式庫中的 460 個,以及感謝 Stephen Gildea 製作了 Emacs 19 參考卡。計劃在 Emacs 後續版本中推出的功能包括:區域和顯示一個緩衝區的各種視窗的不同可見性條件;以增量方式將還原歷史記錄儲存在檔案中,以便
recover-file
也會重新安裝緩衝區的還原歷史記錄;支援可變寬度字體;支援包括世界上所有主要語言在內的寬字元集;以及支援使用 X 工具包進行顯示。 -
GNU Fortran (
g77
) GNU Fortran 正在進行「私有」alpha 測試(由一小群專家進行測試),並且尚未公開發行。在g77
完全公開發行之前,我們要求人們將f2c
(一個 Fortran 到 C 的翻譯器)與gcc
(GNU C 編譯器)一起使用。由於g77
使用了許多這些工具(f2c
函式庫和gcc
後端),使用它們並報告您發現的任何問題將有助於加速g77
的發行。如需有關f2c
和gcc
的更多資訊,請參見「現在可用的 GNU 軟體」。alpha 測試的主要重點是測試g77
前端,因為它包含了大部分新程式碼。alpha 測試的次要重點是測試前端和後端之間的整合。目前,這似乎是大多數錯誤所在的地方。第三個重點是 GNU 後端為 Fortran 生成的程式碼品質。我們希望在 1994 年初春發布g77
beta 版本,作為常規編譯器發行版的一部分。有一個郵件列表用於發布關於g77
的公告。要訂閱,請洽詢info-gnu-fortran-request@prep.ai.mit.edu
。要聯絡g77
的作者和維護者,請寫信至fortran@prep.ai.mit.edu
。 -
C 編譯器(另請參見「現在可用的 GNU 軟體」)GNU C 編譯器的第 2 版已經發布。我們不再發行或維護 GCC、G++ 或 libg++ 的第 1 版。GCC2 支援 ANSI 和傳統 C,以及一些 GNU C 擴充。也有 C++ 和 Objective C 的前端。新的前端正在開發中,但它們尚未成為 GCC 的一部分。Fortran 的前端現在正在進行 alpha 測試,並且即將完成,Ada 的前端(GNAT:GNU Ada 翻譯器)可以通過匿名 FTP 從
cs.nyu.edu
的 `ftp/pub/gnat' 取得,儘管它還不穩定。志工也在開發 Pascal 前端。如需有關 GCC 的更多資訊,請參見「現在可用的 GNU 軟體」。 -
C 語言直譯器 FSF 正在努力為 GNU 編譯器和除錯器新增直譯器功能。這項任務已部分完成。編譯器現在產生位元組碼(適用於所有支援的語言,而不僅僅是 C 語言),另一個套件則負責直譯它。為了使這個功能可用,我們需要為 GDB 新增動態載入位元組碼的功能。我們也希望 C 語言編譯器支援僅編譯檔案中指定的少數函式。由於資源有限,FSF 無法資助這項工作。有興趣的志願者請聯絡
gnu@prep.ai.mit.edu
。 - Binutils(另請參閱「現已提供的 GNU 軟體」)Steve Chamberlain、Per Bothner 和 Cygnus Support 的其他人員已重寫二進位工具程式(包括連結器)。版本 2 基於 GDB 使用的相同二進位檔案描述符 (BFD) 函式庫。所有工具都可以在與目標不同的主機上執行(例如,支援交叉連結)。支援各種形式的 COFF 和其他目標檔案格式。現在,一個工具可以同時處理多種格式的目標檔案。例如,連結器可以讀取使用多種不同格式的目標檔案,並以另一種格式寫入輸出。連結器解釋 AT&T 連結器命令語言的超集,該語言允許對區段在記憶體中的放置位置進行一般控制。
-
GNU C 函式庫(另請參閱「現已提供的 GNU 軟體」)Roland McGrath 繼續 GNU C 函式庫的工作。它現在支援 ANSI C-1989 和 POSIX 1003.1-1990 標準的所有要求、POSIX 1003.2 的大多數功能以及許多額外的 BSD 和 System V 函式。C 函式庫將在 Hurd 中執行 Unix 系統呼叫的許多功能。Mike Haertel 編寫了一個快速的
malloc
,它比舊的 GNU 版本浪費更少的記憶體。GNU 正規表示式函式 (regex
) 現在幾乎符合 POSIX 1003.2 標準。GNUstdio
允許您定義新型態的串流,只需編寫幾個 C 語言函式即可。fmemopen
函式使用此功能在字串上開啟串流,該串流可以根據需要增長。您可以定義自己的printf
格式來使用您編寫的 C 語言函式。例如,您可以安全地使用來自使用者輸入的格式字串,為另一種程式語言實作類似printf
的函式。擴充的getopt
函式已用於解析選項,包括許多 GNU 工具中的長選項。GNU C 函式庫的 1.06 版本剛剛發布,1.07 版本正在製作中。1.06 版本包含 Emacs 19 中使用的重新定位分配器,以及到 Sequent Symmetry 上的 Dynix、i386 上的 SCO & SVR4 以及 SPARC 上的 Solaris 2 的新移植。包含《GNU C 函式庫參考手冊》的 Texinfo 來源。如需更多資訊,請參閱「現已提供的 GNU 軟體」。 -
indent(另請參閱「現已提供的 GNU 軟體」)我們現在有一個版本的
indent
,它支援 C 語言程式碼的 GNU 縮排慣例。它更穩健,並且還具有適用於最常見樣式組合的便利選項。一個用於檢查 C 語言原始碼檔案並找出其中使用的縮排參數的配套程式幾乎已準備好發布,但需要有人來完成它。請聯絡gnu@prep.ai.mit.edu
以自願協助。 -
make
(另請參閱「現已提供的 GNU 軟體」)GNUmake
3.70 版本已發布。錯誤報告已改進,並且修復了許多錯誤。GNUmake
完全符合 POSIX.2 標準。它還支援長選項、平行命令執行、彈性的隱含模式規則、條件執行和強大的文字操作函式。3.64 版本新增了對流行的 `+=' 語法的支援,用於將更多文字附加到變數的定義中。對於那些完全沒有供應商提供的make
工具程式的人來說,GNUmake
隨附一個名為 `build.sh' 的 shell 腳本,用於初始建置。請參閱「現已提供的 GNU 軟體」。 -
Oleo(另請參閱「現已提供的 GNU 軟體」)Oleo 是一個試算表程式,可以作為 X 用戶端或使用 curses 執行。目前版本為 1.5。最近新增了對
gnuplot
和產生嵌入式 Postscript 的支援。如果您想為 Oleo 編寫 Texinfo 手冊,請聯絡 Tom Lord,lord+@andrew.cmu.edu
。請將關於 Oleo 的錯誤報告發送至bug-oleo@prep.ai.mit.edu
。請參閱「現已提供的 GNU 軟體」。 -
Ghostscript(另請參閱「現已提供的 GNU 軟體」)Ghostscript 的目前版本為 2.6.1。新功能包括能夠使用 Ghostscript 運行的平台(X Window System 和 Microsoft Windows)提供的字型,從而產生外觀更好的螢幕顯示;改進的文字檔案列印(如
enscript
);一個從 Postscript 文件中提取文字的工具;一個更可靠(且更快)的 Microsoft Windows 實作;對 Microsoft C/C++ 7.0 的支援;許多新印表機的驅動程式,包括 SPARCprinter 和 TIFF/F(傳真)檔案格式;更多 Postscript Level 2 功能,包括大多數色彩空間功能(但不包括模式)以及在 Level 1 和 Level 2 之間動態切換的能力。Ghostscript 接受 Postscript 命令,並透過直接寫入印表機、在 X 視窗上繪圖或寫入稍後可以列印的檔案(或可以透過其他圖形程式操作的點陣圖檔案)來執行這些命令。Tim Theisen,ghostview@cs.wisc.edu
,創建了 Ghostview,這是一個在 Ghostscript 之上運行的多頁檔案預覽器。Russell Lang,rjl@monu1.cc.monash.edu.au
,創建了適用於 Windows 的 Ghostview,這是一個在 Microsoft Windows 上運行的類似預覽器。Ghostscript 包含一個 C 語言可呼叫的圖形函式庫(適用於不想處理 Postscript 語言的用戶端程式)。它還支援具有 EGA、VGA 或 SuperVGA 圖形的 IBM PC 和相容機(但請不要向 FSF 工作人員詢問任何關於此的問題;我們不使用 PC)。下一個計劃的 Ghostscript 版本是 3.0,希望在 1994 年初可用。它將實作完整的 Postscript Level 2 語言,除了 LZW 壓縮,由於軟體專利,無法自由實作。這種對程式設計的禁止正是程式設計自由聯盟正在奮鬥的目標。有關詳細資訊,請參閱「什麼是 LPF?」。 - Smalltalk(另請參閱「現已提供的 GNU 軟體」)GNU Smalltalk 實作了 Smalltalk 語言的傳統功能,但尚未實作圖形和視窗功能。最近有人實作了這些功能,它們將在未來的版本中出現。
-
groff
(另請參閱「現已提供的 GNU 軟體」)James Clark 已完成groff
(GNUtroff
和相關程式)。它們以 C++ 編寫,可以使用 GNU C++ 2.3 或更高版本編譯。groff
中的錯誤將會修復,但目前沒有計劃進行重大新開發。但是,鼓勵groff
使用者繼續貢獻增強功能。最需要的是完整的 Texinfo 文件、grap
模擬(用於排版圖表的pic
前處理器)、類似於pm
的頁面排版後處理器(請參閱《Computing Systems》,第 2 卷,第 2 期)以及pic
的 ASCII 輸出類別,以便pic
可以與 Texinfo 整合。感謝所有提交錯誤報告的人。 -
Texinfo 3(另請參閱「現已提供的 GNU 軟體」)Texinfo 3 套件包括 GNU Emacs 的增強型 Texinfo 模式、新版本的格式化工具程式以及第二版的《Texinfo 手冊》。此版本更詳盡,並描述了 50 多個新命令。Texinfo 模式現在包括自動建立和更新節點和選單的命令,手動完成時這是一項繁瑣的任務。包含獨立格式化工具
makeinfo
和獨立 Info 閱讀器info
。兩者都以 C 語言編寫,並且獨立於 GNU Emacs。 - 移植 雖然我們還沒有完整的 GNU 系統,但您已經可以開始移植它了。這是因為未完成的部分 Hurd 基本上是可移植的。真正需要移植的系統部分是 Mach 和 GNU C 函式庫,它們已經可以移植、使用和報告錯誤。
GNU 文件
GNU 致力於提供高品質、易於使用的線上和印刷文件。GNU 手冊旨在解釋底層概念、描述如何使用每個程式的所有功能,並提供命令使用的範例。GNU 手冊以 Texinfo 來源檔案的形式發布,這些檔案既產生排版硬拷貝,也透過選單驅動的 Info 系統產生線上超文字式顯示。這些手冊(其來源與我們的軟體一起提供)也有硬拷貝版本;請參閱「自由軟體基金會訂購單」。
幾本 GNU 手冊以軟封面書籍的形式裝訂,並帶有平攤裝訂。這讓您可以打開它們,使它們平放在桌子上而不會在裝訂處產生摺痕。每本書都有一個內布書脊和一個外紙板封面,不會像普通的平裝本那樣破損或產生摺痕。其他 GNU 手冊也採用其他技術裝訂,因此打開時也能平放。有關每本手冊的列表,請參閱「自由軟體基金會訂購單」。
每本手冊名稱後列出的手冊版本號和程式版本號是本公告發布時的最新版本。
《Emacs 手冊》(第 9 版,適用於 19 版)描述了使用 GNU Emacs 進行編輯。它還解釋了進階功能,例如大綱模式和正規表示式搜尋、如何使用特殊模式以 C++ 和 TeX 等語言進行程式設計、如何使用 tags
工具程式、如何編譯和更正程式碼,以及如何製作自己的按鍵綁定和其他基本自訂。
《GNU Emacs Lisp 參考手冊》(第 2.1 版,適用於 19 版)深入涵蓋了這種程式語言,包括資料型別、控制結構、函式、巨集、語法表、搜尋和比對、模式、視窗、按鍵對應、標記、位元組編譯和作業系統介面。
《Texinfo 手冊》(第 2.19 版,適用於 3 版)解釋了用於產生線上 Info 文件和排版硬拷貝的標記語言。它告訴您如何製作表格、列表、章節、節點、索引、交叉參考、如何在 GNU Emacs 中使用 Texinfo 模式以及如何捕捉錯誤。
《GAWK 手冊》(第 0.16 版,適用於 2.16 版)說明了如何使用 GNU 版本的 awk
。它是為從未用過 awk
的人編寫的,並描述了這種強大的字串和記錄操作語言的所有功能。
《Make 手冊》(第 0.43 版,適用於 3.68 版)描述了 GNU make
,這是一個用於重建其他程式部分的程式。該手冊說明了如何編寫 makefile,它指定了如何編譯程式以及其檔案如何相互依賴。其中包括針對新手使用者的入門章節和關於自動產生依賴關係的章節。
《使用 GDB 進行除錯》(第 4.09 版,適用於 4.9 版)說明了如何使用 GNU 除錯器、在除錯器控制下運行程式、檢查和更改資料、修改程式內的控制流程以及透過 GNU Emacs 使用 GDB。
《Bison 手冊》(1993 年 12 月版,適用於 1.23 版)教您如何為 Bison 程式編寫上下文無關文法,該程式將文法轉換為 C 語言編碼的剖析器。您不需要事先具備剖析器產生器的知識。
《Flex 手冊》(第 1.03 版,適用於 2.3.7 版)說明了如何為 flex
程式編寫詞法掃描器定義,以建立一個 C++ 或 C 語言編碼的掃描器,該掃描器將識別所描述的模式。您不需要事先具備掃描器產生器的知識。
《使用和移植 GNU CC》(1993 年 6 月版,適用於 2.4 版)解釋了如何運行、安裝和移植 GNU C 編譯器。
《Termcap 手冊》(第 2 版,適用於 1.2 版),通常被描述為「是您想了解的關於 termcap 的兩倍」,詳細介紹了 termcap 資料庫的格式、終端機功能的定義以及查詢終端機描述的過程。本手冊主要針對程式設計人員。
《Emacs Calc 手冊》(第 2.02 版,適用於 2.02 版)包括 Calc 的教學和參考手冊。它描述了如何進行普通算術、如何將 Calc 用於代數、微積分和其他形式的數學,以及如何擴充 Calc。
《C 函式庫參考手冊》(93 年 6 月版,適用於 1.07 版)描述了 GNU C 函式庫的大多數功能,包括 Unix 所稱的「函式庫函式」和「系統呼叫」。在手冊變得更穩定之前,我們正在進行有限的影印運行。它是新的,需要更正和改進。請將它們發送至 bug-glibc-manual@prep.ai.mit.edu
。
現在可用的 GNU 軟體
我們提供
- 原始碼 CD-ROM(請參閱「原始碼 CD-ROM」)
- 編譯器工具二進位檔 CD-ROM(請參閱「編譯器工具二進位檔 CD-ROM」)
- 帶有一些 GNU 軟體的 MS-DOS 磁片(請參閱「MS-DOS 發行版」)
- GNU Emacs 和 GNU C 編譯器的 VMS 磁帶(包括原始碼和可執行檔)(請參閱「VMS Emacs 和 VMS 編譯器磁帶」)
我們還提供 Unix 軟體原始碼發行磁帶,格式為 tar
,媒體如下
- 4mm DAT 卡匣
- 8mm Exabyte 卡匣
- Sun QIC-24 卡匣(可在某些其他系統上讀取)
- 惠普 16 軌卡匣
- IBM RS/6000 QIC-150 卡匣(可在某些其他系統上讀取)(RS/6000 Emacs 磁帶也有 Emacs 二進位檔)
- 1600bpi 9 軌捲軸磁帶
用於 Unix 系統的捲軸和各種卡匣磁帶的內容是相同的(RS/6000 Emacs 磁帶除外,它也有 Emacs 的可執行檔);只有媒體不同(請參閱「自由軟體基金會訂購單」)。手冊的原始碼以 Texinfo 格式包含在內。我們歡迎所有發送到適當電子郵件列表的錯誤報告(請參閱「自由軟體支援」)。
磁帶上的一些檔案可能使用 gzip
壓縮以使其適合。有關解壓縮它們的說明,請參閱每個磁帶開頭的頂層 `README' 檔案。uncompress
和 unpack
不起作用!
描述每個媒體內容的文章中,程式名稱後列出的版本號是本公告發布時的最新版本。當您訂購發行磁帶或磁片時,某些程式可能會更新,因此版本號會更高。
交叉參考的鍵
- BinCD
- 二進位檔 CD-ROM
- DemcsD
- Demacs 磁片
- DjgppD
- Djgpp 磁片
- EmcsT
- Emacs 磁帶
- LangT
- 語言磁帶
- SchmT
- Scheme 磁帶
- SrcCD
- 原始碼 CD-ROM
- UtilD
- 選定的工具程式磁片
- UtilT
- 工具程式磁帶
- VMSCompT
- VMS 編譯器磁帶
- VMSEmcsT
- VMS Emacs 磁帶
- WdwsD
- Windows 磁片
- X11OptT
- X11 選項磁帶
- X11ReqT
- X11 必要磁帶
目前可用的 GNU 軟體(有關新功能和即將推出的程式,請參閱「Project GNU 狀態報告」)
acm
(SrcCD, UtilT)acm
是一個面向 LAN 的多人空中格鬥模擬遊戲,可在 X Window System 下運行。玩家使用熱追蹤飛彈和大砲相互進行空對空戰鬥。最終,我們希望將其轉變為更通用的飛行模擬器。- Autoconf (SrcCD, UtilT) Autoconf 產生 shell 腳本,這些腳本自動配置原始碼套件。這些腳本使套件適應許多種類的類 Unix 系統,而無需使用者手動干預。Autoconf 從範本檔案為套件建立腳本,該範本檔案以
m4
巨集呼叫的形式列出套件可以使用的作業系統功能。現在,大多數 GNU 程式都使用 Autoconf 產生的配置腳本。 - BASH (SrcCD, UtilT) GNU shell,BASH(Bourne Again SHell),與 Unix
sh
相容,並提供csh
和ksh
中的許多擴充功能。BASH 具有作業控制、csh
樣式的命令歷史記錄和命令列編輯(內建 Emacs 和vi
模式,並能夠透過 readline 函式庫重新綁定按鍵)。 bc
(SrcCD, UtilT)bc
是一種具有任意精度的互動式代數語言。GNUbc
遵循 POSIX 1003.2 草案標準,具有多個擴充功能,包括多字元變數名稱、else
陳述式和完整的布林表示式。- BFD (BinCD, LangT, SrcCD) 二進位檔案描述符函式庫允許在目標檔案上運行的程式(例如
ld
或 GDB)以清晰的方式支援多種不同的格式。BFD 提供可移植的介面,因此只有 BFD 需要知道特定格式的實際細節。此設計的一個結果是,所有使用 BFD 的程式都將支援 a.out、COFF、ELF 和 OSF-Rose 等格式。BFD 隨附 Texinfo 文件。目前 BFD 不單獨發行,而是包含在使用它的套件中,因為它尚未完全穩定。 - Binutils (BinCD, LangT, SrcCD) Binutils 包括以下程式:
ar
、c++filt
、demangle
、gprof
、ld
、nlmconv
、nm
、objcopy
、objdump
、ranlib
、size
、strings
和strip
。Binutils 版本 2 完全重寫為使用 BFD 函式庫。GNU 連結器ld
為多重定義的符號和未定義的參考發出帶有來源行號的錯誤訊息。nlmconv
將目標檔案轉換為 Novell NetWare 可載入模組。objdump
程式可以反組譯 a29k、ALPHA、H8/300、H8/500、HP-PA、i386、i960、m68k、m88k、MIPS、SH、SPARC 和 Z8000 處理器的程式碼,並且可以顯示 BFD 理解的任何檔案格式的其他資料,例如符號和重定位。另請參閱「Project GNU 狀態報告」。 - Bison (BinCD, LangT, SrcCD, VMSCompT) Bison 是與剖析器產生器
yacc
向上相容的替代品。包含《Bison 手冊》和參考卡的原始碼。 - GNU C 函式庫 (LangT, SrcCD) 該函式庫支援 ANSI C-1989 和 POSIX 1003.1-1990,並且具有 POSIX 1003.2 草案 11.2 中指定的大多數函式。它與 4.4 BSD 向上相容,並包含許多 System V 函式,以及 GNU 擴充功能。1.07 版本使用標準 GNU
configure
腳本。它在 Sun-3 (SunOS 4.1)、Sun-4 (SunOS 4.1 和 Solaris 2)、HP 9000/300 (4.3 BSD)、SONY News 800 (NewsOS 3 或 4)、MIPS DECstation (Ultrix 4)、DEC Alpha (OSF/1)、i386/i486 (System V、SVR4、BSD、SCO 3.2 和 SCO ODT 2.0) 和 Sequent Symmetry i386 (Dynix 3) 上運行。《GNU C 函式庫參考手冊》的 Texinfo 來源包含在內。另請參閱「Project GNU 狀態報告」。 - Calc (EmcsT, SrcCD) Calc(由 Dave Gillespie 以 Emacs Lisp 編寫)是一個可擴充的進階桌面計算器和數學工具,作為 GNU Emacs 的一部分運行。它隨附《Calc 手冊》和參考卡的原始碼,它們既是教學又是參考。如果您願意,您可以將 Calc 僅用作簡單的四功能計算器,但它提供了額外功能,包括代數或 RPN(基於堆疊)輸入的選擇、對數函式、三角函式和財務函式、任意精度、複數、向量、矩陣、日期、時間、無窮大、集合、代數簡化、微分和積分。Calc 也輸出到
gnuplot
。 - GNU Chess (UtilT, SrcCD) GNU Chess 是一個與您下棋的程式。它完全以 C 語言編寫,並且已移植到 PC、Cray-2 和許多其他機器。它也已移植到其他作業系統,包括 Microsoft Windows 和 MS-DOS,儘管這些版本不受維護人員支援。有文字和 X 顯示介面。GNU Chess 實作了許多特殊功能,包括空步啟發式演算法、帶有老化功能的雜湊表、歷史啟發式演算法(早期殺手啟發式演算法的另一種形式)、靜態評估快取以及複雜的資料庫,使其能夠快速下完遊戲的前幾步。GNU Chess 贏得了 1992 年 8 月在英國倫敦舉行的統一平台賽事。九個程式參賽,在相同的硬體上運行。GNU Chess 主要由 Stuart Cracraft 代表 FSF 提供支援。
Stuart Cracraft P.O. Box 2841 Laguna Hills, CA 92653 USA Phone: (714) 770-8532 E-mail:
cracraft@ai.mit.edu
- CLISP (EmcsT, SrcCD) CLISP 是 Bruno Haible 和 Michael Stoll 實作的 Common Lisp。它主要支援《Common LISP: The Language (第 1 版)》中描述的 Common Lisp。CLISP 包括直譯器、位元組編譯器以及適用於某些機器的螢幕編輯器。CLISP 僅需 1.5 MB 的記憶體,即可在許多微電腦(包括 Atari ST、Amiga 500-2000、大多數 MS-DOS 系統和 OS/2)以及某些 Unix 工作站(Linux、SunOS (SPARC)、Sun-386i、HP-UX (HP 9000/800) 和其他)上運行。
cpio
(UtilD, UtilT, SrcCD)cpio
是一個替代的封存程式,具有 SVR4cpio
的所有功能,包括對最終 POSIX 1003.1 ustar 標準的支援。mt
是一個用於定位磁帶的程式,與cpio
一起包含在內。- CVS (UtilT, SrcCD) CVS,Concurrent Version System,在多開發人員、多目錄、多組環境中管理軟體修訂和發行控制。它與 RCS 4 版及更高版本配合使用效果最佳,但會剖析較舊的 RCS 格式,但會遺失 CVS 的更精細功能。請參閱 Berliner, Brian, "CVS-II: Parallelizing Software Development," Proceedings of the Winter 1990 USENIX Association Conference。
dc
(UtilT, SrcCD)dc
是一個 RPN 計算器。GNUbc
不需要單獨的dc
程式即可運行。此版本的dc
最終將與 GNUbc
合併。- DejaGnu (LangT, SrcCD) DejaGnu 是一個用於測試其他程式的框架,它為所有測試提供單一前端。DejaGnu 框架的彈性和一致性使其易於為任何程式編寫測試。DejaGnu 隨附
expect
和 Tcl。 - Diffutils (UtilD, UtilT, SrcCD) GNU
diff
比較檔案,以多種彈性格式顯示逐行變更。它比傳統的 Unix 版本快得多。Diffutils 發行版包含diff
、diff3
、sdiff
和cmp
。 - DJGPP (BinCD, DjgppD) DJ Delorie 已將 GCC/G++ 2.5.7 移植到 i386 MS-DOS 平台。DJGPP 套件還包含帶有符號除錯器的 32 位元 80386 DOS 擴充器;開發函式庫;以及 Bison、
flex
、GAS 和 GNU 二進位工具程式的移植版本。提供完整原始碼。DJGPP 支援 SVGA(最高 1024x768)、XMS 和 VDISK 記憶體分配、himem.sys
、VCPI(例如 QEMM、DESQview 和 386MAX)以及 DPMI(例如 Windows 3.x、OS/2、QEMM 和 QDPMI)。它可以透過 FTP 從ftp.clarkson.edu
的 `/pub/msdos/djgpp' 取得。您可以將您的電子郵件地址發送至djgpp-request@sun.soe.clarkson.edu
,以訂閱關於 DJGPP 的郵件列表。此外,FSF 在軟碟和編譯器工具二進位檔 CD-ROM 上發行它。有關更多資訊,請參閱本節中關於 GCC 的描述。 dld
(LangT, SrcCD)dld
是 W. Wilson Ho 編寫的動態連結器。將您的程式與dld
函式庫連結,您可以將目標檔案動態載入到正在運行的二進位檔中。目前支援 VAX (Ultrix)、Sun 3 (SunOS 3.4 和 4.0)、SPARC (SunOS 4.0)、Sequent Symmetry (Dynix) 和 Atari ST。doschk
(UtilT, SrcCD) 此程式旨在作為一個工具程式,幫助軟體開發人員確保他們的原始碼檔案名稱在具有 14 個字元檔案名稱的 System V 平台和具有 11 個字元檔案名稱的 MS-DOS 上是可區分的。ecc
(UtilT, SrcCD)ecc
是一個 Reed-Solomon 錯誤校正檢查程式,它可以校正 255 位元組區塊中的三個位元組錯誤,並檢測更嚴重的錯誤。- Elib (EmcsT, SrcCD) 這是一個小的 Emacs Lisp 函式庫,包括用於使用 AVL 樹和雙向鏈結串列的常式。
elvis
(UtilT, SrcCD)elvis
是 Unix 編輯器vi
/ex
的克隆。它支援視覺模式和行模式下幾乎所有的vi
/ex
命令。elvis
在 BSD、System V、Xenix、Minix、MS-DOS 和 Atari TOS 下運行,並且應該很容易移植到許多其他系統。- GNU Emacs 18 (DemcsD, EmcsT, SrcCD, VMSEmcsT) 1975 年,Richard Stallman 開發了第一個 Emacs,這是一個可擴充、可自訂的即時顯示編輯器。GNU Emacs 是他的第二個實作。它提供真正的 Lisp(與編輯器流暢整合)用於編寫擴充功能,並提供與 MIT 的 X Window System 的介面。除了其強大的原生命令集之外,還發行了模擬其他流行的編輯器的擴充功能:vi、EDT(DEC 的 VMS 編輯器)和 Gosling(又名 Unipress)Emacs。它還有許多其他功能,使其成為完整的計算支援環境。《GNU Emacs 手冊》、《GNU Emacs Lisp 參考手冊》和參考卡對其進行了描述。所有三個的原始碼都隨軟體一起提供。GNU Emacs 18.59 在許多 Unix 系統上運行(按硬體順序):Alliant FX/80 和 FX/2800、Altos 3068、Amdahl (UTS)、Apollo、AT&T (3Bs 和 7300 PC)、DG Aviion、Bull DPX/2 (2nn 和 3nn) CCI 5/32 和 6/32、Celerity、Convex、Digital (DECstation 3100 和 5000 (PMAXes)、Mips、VAX (BSD、SysV 和 VMS))、Motorola Delta 147 和 187 Dual、Elxsi 6400、Encore (DPC、APC 和 XPC)、Gould、HP (9000 系列 200、300、700 和 800,但不包括 500)、HLH Orion (original 和 1/05)、IBM (RS/6000 (AIX)、RT/PC (4.2 和 AIX) 和 PS/2 (AIX (僅限 386)))、ISI (Optimum V, 80386)、Intel 860 和 80386 (BSD、Esix、SVR3、SVR4、SCO、ISC、IX、AIX 和其他(請參閱「MS-DOS 發行版」和「微電腦的自由軟體」))、Iris (2500、2500 Turbo 和 4D)、Masscomp、MIPS、National Semiconductor 32000、NeXT (Mach)、NCR Tower 32 (SVR2 和 SVR3)、Nixdorf Targon 31、Nu (TI 和 LMI)、pfa50、Plexus、Prime EXL、Pyramid (original 和 MIPS)、Sequent (Balance 和 Symmetry)、SONY News (m68k 和 MIPS)、Stride (系統發行版 2)、所有 Suns,包括 386i (所有 SunOS 和某些 Solaris 版本)、Tadpole、Tahoe、Tandem Integrity S2、Tektronix (16000 和 4300)、Triton 88、Ustation E30 (SS5E)、Whitechapel (MG1) 和 Wicat。按作業系統順序:AIX (RS/6000、RT/PC、386-PS/2)、BSD (版本 4.1、4.2、4.3)、DomainOS、Esix (386)、HP-UX (HP 9000 系列 200、300、700、800,但不包括 500)、ISC (386)、IX (386)、Mach、Microport、NewsOS (Sony m68k 和 MIPS) SCO (386)、SVR0 (Vax、AT&T 3Bs)、SVR2、SVR3、SVR4、Solaris 2.0、SunOS、UTS (Amdahl)、Ultrix (版本 3.0、4,1)、Uniplus 5.2 (Dual 機器)、VMS (版本 4.0、4.2、4.4、5.5) 和 Xenix (386)。
- GNU Emacs 19 (EmcsT, SrcCD) 與 Emacs 的其他一些最新衍生版本不同,GNU Emacs 19 繼續在純字元終端機以及 X Window System 下工作。Emacs 19 中的新功能包括:多個 X 視窗(Emacs 的「框架」),迷你緩衝區的單獨 X 視窗或附加到每個 X 視窗的迷你緩衝區;與緩衝區中文字區域關聯的屬性列表;由這些屬性定義的多種字型和顏色;簡化和改進的功能鍵、滑鼠點擊和滑鼠移動處理;X 選擇處理,包括剪貼簿選擇;如果點或滑鼠移動到特定範圍之外,則運行的掛鉤;由按鍵對應定義的選單列和彈出選單;捲軸;變更前和變更後掛鉤;Emacs Lisp 程式的原始碼級除錯;歐洲字元集支援;浮點數;改進的緩衝區分配,使用能夠在緩衝區被終止時將儲存體返回系統的新機制;與 X 資源管理器介面;GNU 配置方案支援;良好的 RCS 支援;以及許多更新的函式庫。已知 GNU Emacs 19.22 可在以下硬體上運行(按硬體順序):Bull DPX/2 2nn 和 3nn (SVR3) 和 sps7 (SVR2);Clipper;Cubix QBx (SysV);DEC MIPS (Ultrix 4.2 和 OSF/1,不包括 VMS);Motorola Delta 147 和 187 (SVR3、SVR4 和 m88kbcs);Elxsi 6400 (SysV);Gould Power Node 和 NP1 (BSD 4.2 和 4.3);Honeywell XPS100 (SysV);HP9000 系列 200、300、700、800 (BSD 4.3 或 HP-UX 7、8、9);i386 和 i486 (386BSD、AIX、BSDI/386、FreeBSD、Esix、ISC、Linux、NetBSD、SCO3.2v4 with ODT、SysV、Xenix);RS6000 (AIX 3.2);RT/PC (AIX 或 BSD);Iris 4D (Irix 4.x 和 5.x);National Semiconductor 32K (Genix);NeXT (BSD 或 Mach 2 w/ NeXTStep 3.0);Prime EXL (SysV);Pyramid (BSD);Sequent Symmetry (BSD);Sun 3 和 4、SPARC 1、1+、2、10 和 Classic (SunOS 4.0、4.1、Solaris 2);Tadpole 68k (SysV);Tektronix XD88 (SVR3) 和 4300 (BSD);以及 Titan P2 和 P3 (SysV)。按作業系統順序:AIX (i386、RS6000、RT/PC);BSD 4.1、4.2、4.3 (i386、Gould Power Node 和 NP1、HP9000 系列 300、NeXT、Pyramid、Symmetry、Tektronix 4300、RT/PC);Esix (i386);Genix (ns32k);HP-UX 7、8、9 (HP 9000 系列 200、300、700、800,但不包括 500);Irix 4 和 5 (Iris 4D);ISC (i386);Linux (i386);NetBSD (i386、HP9000 系列 300);Mach 2 和 3 (i386、NeXT);SCO 3.2v4 (i386);SVR2 (Bull sps7);SVR3 (Bull DPX/2 2nn 和 3nn、Motorola Delta 147 和 187、Tektronix XD88);SVR4 (Motorola Delta 147 和 187);Solaris 2 (SPARC 1、1+、2、10、Classic);SunOS 4.0、4.1 (Sun 3 和 4、SPARC 1、1+、2、10 和 Classic);Ultrix 4.2 (DEC MIPS);以及 Xenix (i386)。Emacs 18 支援的其他配置應該也可以在幾乎沒有變更的情況下工作;隨著使用者告訴我們更多關於他們在不同系統上的經驗,我們將擴充列表。另請參閱「Project GNU 狀態報告」。
es
(UtilT, SrcCD) 這是一個基於rc
的可擴充 shell,它具有一流的函式、詞法作用域、例外系統和豐富的傳回值(即,函式可以傳回除數字以外的值)。與rc
一樣,它非常適合互動使用和腳本編寫,特別是因為它的引用規則比 C 或 Bourne shell 簡單得多。expect
(LangT, SrcCD)expect
運行腳本以與程式進行對話。它與 Tcl 和 DejaGnu 一起發行。f2c
(LangT, SrcCD)f2c
將 Fortran-77 原始碼檔案轉換為 C 或 C++,然後可以使用 GCC 編譯。- Fax (UtilT, SrcCD) Fax 是 MIT AI Lab 傳真假脫機系統的免費版本,它為網路化的 Unix 系統提供 Group 3 傳真傳輸和接收服務。它需要一個符合新的 EIA-592 非同步傳真 DCE 控制標準、服務類別 2 的傳真數據機。
- Fileutils (UtilD, UtilT, SrcCD) Fileutils 處理檔案:
chgrp
、chmod
、chown
、cp
、dd
、df
、dir
、du
、install
、ln
、ls
、mkdir
、mkfifo
、mknod
、mv
、mvdir
、rm
、rmdir
、touch
和vdir
。只有其中一些在選定的工具程式磁片上。 find
(UtilD, UtilT, SrcCD)find
經常在互動式和 shell 腳本中使用,以查找符合特定條件的檔案並對其執行任意操作。還包括xargs
和locate
。finger
(UtilT, SrcCD) GNU Finger,它可以直接替代現有的 finger 程式,解決了這個問題。對於具有許多主機的站點,可以將單個主機指定為 finger 伺服器主機。此主機收集有關誰登錄到該站點的其他主機的信息。如果站點 A 的使用者想要了解站點 B 上登錄的使用者,則對站點中任何機器的單個查詢將返回完整的信息。flex
(LangT, UtilD, SrcCD)flex
是 Lawrence Berkeley Laboratory 的 Vern Paxson 編寫的與lex
掃描器產生器大部分相容的替代品。flex
產生的掃描器比lex
更有效率。《Flex 手冊》和參考卡的原始碼包含在內。- Fontutils (UtilT, SrcCD) Fontutils 可以創建用於 Ghostscript 或 TeX 的字型,從掃描的字型圖像開始,並將點陣圖轉換為輪廓。它們還包含通用轉換程式和其他工具程式。
- GAS (BinCD, LangT, SrcCD) GNU 組譯器已重寫以使用 BFD 函式庫。原生組譯適用於:Sun 3、4 及 SPARC (SunOS 4.1 或 Solaris 2);i386 (AIX、386BSD、BSDI/386、Linux);m68k (BSD、HP-UX、Convergent Technologies SysV);MIPS (Ultrix、Irix);Hitachi H8/500;及 VAX (BSD、Ultrix、VMS)。交叉組譯可用於:i386 (SCO、go32 MS-DOS/DJGPP);ebmon29k;Hitachi H8/300;i960 (COFF);MIPS ECOFF (Ultrix、Iris、MIPS Magnum);Nindy 960;vxworks (68k 或 960);及 Zilog Z8000。
- GAWK (LangT, SrcCD) GAWK 向上相容於 System V Release 4 版本的
awk
。《GAWK 手冊》的 Texinfo 原始碼隨附於軟體中。 - GCC (BinCD, DjgppD, LangT, SrcCD) GNU C 編譯器第 2 版支援三種語言:C、C++ 和 Objective C;原始檔名後綴或編譯器選項會選擇語言。Objective C 的前端支援由 NeXT 捐贈。執行 Objective C 程式所需的執行時期支援現在與 GCC 一起發行(除了
object
之外,不包含任何 Objective C 類別)。G++ 盡可能與不斷演進的 ANSI 標準草案保持相容,但不與cfront
(AT&T 的編譯器) 相容,後者已與 ANSI 背道而馳。GNU C 編譯器是一個相當可移植的最佳化編譯器,可執行自動暫存器配置、通用子表達式消除、迴圈中的不變程式碼移動、歸納變數最佳化、常數傳播和副本傳播、延遲彈出函數呼叫引數、尾遞迴消除、內聯函數整合和框架指標消除、指令排程、迴圈展開、延遲槽填充、葉函數最佳化、常數最佳化乘法、基本區塊之間一定量的通用子表達式消除 (CSE)(儘管並非所有受支援的機器描述都提供排程或延遲槽),以及為指令指派屬性的功能,以及許多從機器描述中自動推導出的本機最佳化。函數範圍的 CSE 已撰寫完成,但在安裝之前需要清理。68k、i386、Hitachi Slt、Hitachi H8/300、Clipper、88k、SPARC 和 SPARClite 支援位置獨立碼。GCC 可以開放編碼大多數 64 位元值(long long int
型別)的算術運算。它在 68k 上支援擴充浮點數(long double
型別);其他機器將會跟進。GCC 支援完整的 ANSI C、傳統 C 和 GNU C 擴充功能。GNU C 已擴充以支援巢狀函數、非本機 goto 和取得標籤的位址。與合適的組譯器搭配使用時,GCC 可以產生 a.out、COFF、ELF 和 OSF-Rose 檔案。它可以產生以下格式的偵錯資訊:BSD stabs、COFF、ECOFF、帶 stabs 的 ECOFF 和 DWARF。GCC 為以下項目產生程式碼:a29k、Alpha、ARM、Convex cN、Clipper、Elxsi、H8300、HP-PA (1.0 和 1.1) i370、i386、i486、i860、i960、m68k、m68020、m88k、MIPS、ns32k、Pyramid、ROMP、RS6000、SH、SPARC、SPARClite、VAX 和 we32k。支援的作業系統包括:AIX、ACIS、AOS、BSD、Clix、Ctix、DG/UX、Dynix、Genix、HP-UX、ISC、Irix、Linux、Luna、LynxOS、Mach、Minix、NeWSOS、OSF、OSF-Rose、RISCOS、SCO、Solaris 2、SunOS 4、SysV、Ultrix、Unos 及 VMS。適用於 Alliant、Tahoe 和 Spur 的舊版(第 1 版)機器描述(以及適用於 Tron 的新埠)無法運作,但仍包含在發行版本中,以防有人想要處理它們。使用 GCC 的組態方案,建置交叉編譯器就像為相同的目標機器建置編譯器一樣容易。第 2 版支援更通用的呼叫慣例:它可以「依參考」傳遞引數,並且可以預先配置堆疊引數的空間。SPARC 上的 GCC 2 使用 SPARC 慣例來處理結構引數和傳回值。《使用與移植 GNU CC》GCC 手冊的原始碼隨編譯器一起提供。該手冊說明如何執行和安裝 GNU C 編譯器,以及如何將其移植到新系統。它描述了編譯器的新功能和不相容性,但不熟悉 C 語言的人也需要一本關於 C 程式語言的良好參考書籍。另請參閱「Project GNU Status Report」。 - GDB (BinCD, LangT, SrcCD) 在 GDB 中,物件檔案和符號表現在透過 BFD 函式庫讀取,這允許 GDB 的單一副本偵錯多種物件檔案格式的程式,例如 a.out 和 COFF。其他新功能包括命令語言改進、透過串列線或 TCP/IP 進行遠端偵錯,以及監看點(當表達式的值變更時觸發的中斷點)。僅當與 GCC 第 2 版一起使用時,才支援例外處理、SunOS 共用函式庫和 C++ 多重繼承。除了命令列直譯器之外,GDB 還提供 X 和 GNU Emacs 使用者介面。GDB 使用模擬器函式庫的標準遠端介面,該函式庫(到目前為止)包含 Zilog Z8001/2、Hitachi H8/300、H8/500 和 Super-H 的模擬器。GDB 可以執行交叉偵錯。說 GDB 的目標平台表示它可以為其執行原生或交叉偵錯。說 GDB 可以主機給定平台表示它可以建置在其上,但不一定可以偵錯原生程式。GDB 可以
- 目標與主機:DEC Alpha (OSF/1)、Amiga 3000 (Amix)、DECstation 3100 與 5000 (Ultrix)、HP 9000/300 (BSD)、IBM RS/6000 (AIX)、i386 (BSD、SCO、Linux、LynxOS)、Motorola Delta m88k (System V)、NCR 3000 (SVR4)、SGI Iris (執行 Irix V3 與 V4 的 MIPS)、SONY News (NewsOS 3.x)、Sun-3 與 SPARC (SunOS 4.1、Solaris 2.0) 及 Ultracomputer (執行 Sym1 的 29K)。
- 目標,但非主機:i960 Nindy、AMD 29000 (COFF 與 a.out)、Fujitsu SPARClite、Hitachi H8/300、m68k 與 m68332。
- 主機,但非目標:Intel 386 (Mach)、IBM RT/PC (AIX) 及 HP/Apollo 68k (BSD)。
gdbm
(LangT, UtilD, SrcCD)gdbm
函式庫是 GNU 用於取代傳統dbm
和ndbm
函式庫的替代品。它使用雜湊快速查找來實作資料庫。gdbm
不需要稀疏檔案格式(與其 Unix 對應項不同)。- Ghostscript (UtilT, SrcCD) Ghostscript 是 GNU 的圖形語言,幾乎與 Postscript 完全相容(請參閱「Project GNU Status Report」)。
- Ghostview (UtilT, SrcCD) Ghostview 為 Ghostscript 直譯器提供 X11 使用者介面。Ghostview 和 Ghostscript 作為兩個協作程式運作;Ghostview 建立檢視視窗,而 Ghostscript 在其中繪圖。Ghostview 有 MS-Windows 的埠。
gmp
(LangT, SrcCD) GNU MP 是一個用於對帶正負號整數和有理數執行任意精確度算術的函式庫。它具有豐富的功能集和規則的介面。- GNATS (UtilT, SrcCD) Gnats (GNats: A Tracking System) 是一個錯誤追蹤系統。它基於中心站點或組織接收問題報告並透過電子郵件協商解決方案的範例。雖然它主要用作軟體錯誤追蹤系統,但它已充分通用化,因此可以用於處理系統管理問題、專案管理或任何其他數量的應用程式。
gnuplot
(UtilT, SrcCD)gnuplot
是一個用於繪製數學表達式和資料的互動式程式。它可以處理曲線(2 維)和曲面(3 維)。奇怪的是,該程式既不是為 GNU 專案編寫的,也不是為其命名的;這個名稱是巧合。- GnuGo (UtilT, SrcCD) GnuGo 玩圍棋遊戲;它還不是很複雜。
gperf
(LangT, SrcCD)gperf
是一個「完美」雜湊表產生公用程式。實際上,gperf
有兩個實作,一個用 C 撰寫,另一個用 C++ 撰寫。兩者都將產生 C 或 C++ 中的雜湊函數。- GNU Graphics (UtilT, SrcCD) GNU Graphics 是一組程式,可從 ASCII 或二進位資料產生圖形。它支援輸出到 Tektronix 4010、Postscript 和 X Window System 或相容裝置。功能包括支援 ln03 和 TekniCAD TDA 檔案格式的輸出;
spline
程式的替代品;使用graph
和plot
的 shell 腳本範例;統計工具組;以及用於安裝的configure
。現有的埠需要重新測試。如果您可以協助將其測試/移植到 SPARCstation 以外的任何東西,請聯絡 Rich Murphey,Rich@rice.edu
。 grep
/egrep
/fgrep
(UtilD, UtilT, SrcCD)[ef]grep
程式是 GNU 版本的同名 Unix 程式。它們比傳統的 Unix 版本快得多。groff
和mgm
(UtilT, SrcCD)groff
是一個文件格式化系統,其中包括troff
、pic
、eqn
、tbl
、refer
、man
、ms
和mm
巨集的實作,以及 Postscript、TeX dvi 格式和類打字機裝置的驅動程式。還包括 Berkeleyme
巨集的修改版本和 X11xditview
預覽器的增強版本。mgm
是groff
的巨集套件。它幾乎與 DWBmm
巨集相容,並且具有多個擴充功能。另請參閱「Project GNU Status Report」。gzip
(DjgppD, EmcsT, LangT, SrcCD, UtilT) 我們的磁帶和 FTP 發行版本的一些內容已壓縮。我們的磁帶和 FTP 站點上有軟體來解壓縮這些檔案。由於compress
的專利問題,我們已切換到另一個壓縮程式gzip
。gzip
可以展開 LZW 壓縮的檔案,但使用不同的壓縮演算法,通常會產生更好的結果。它還可以解壓縮使用 System V 的pack
程式壓縮的檔案。hello
(UtilT, SrcCD) GNUhello
程式產生熟悉的、友善的問候語。它允許非程式設計師使用經典的電腦科學工具,否則這些工具將無法供他們使用。由於它受到 GNU 通用公共授權的保護,因此使用者可以自由共享和變更它。與任何真正有用的程式一樣,hello
提供內建的郵件閱讀器。hp2xx
(UtilT, SrcCD) GNU hp2xx 讀取 HP-GL 檔案,將所有繪圖命令分解為基本向量,並將它們轉換為各種向量和點陣輸出格式。它也是 HP-GL 預覽器。目前支援的向量格式包括封裝 Postscript、Uniplex RGIP、Metafont 和各種與 TeX 相關的特殊格式,以及用於匯入的簡化 HP-GL(僅限線條繪製)。支援的點陣格式包括 IMG、PBM、PCX 和 HP-PCL(包括 Deskjet 和 DJ5xxC 支援)。預覽器可在 X11 (Unix)、OS/2 (PM 和全螢幕)、MS-DOS (SVGA、VGA 和 HGC) 下運作。indent
(UtilD, UtilT, SrcCD) GNUindent
是相同名稱的自由重新發行 BSD 程式的修改版本。它預設根據 GNU 編碼標準格式化 C 原始碼,儘管 BSD 預設格式和其他格式可用作選項。另請參閱「Project GNU Status Report」。ispell
(UtilT, SrcCD) Ispell 是一個互動式拼字檢查器,它建議「近似詞」作為無法辨識單字的替代品。可以使用系統和使用者維護的字典。提供獨立和 GNU Emacs 介面。- JACAL FSF 未提供 JACAL 是一個符號數學系統,用於簡化和操作方程式以及由數字、變數、根式和代數函數、微分運算符和完整函數構成的單值和多值代數表達式。此外,還包括上述物件的向量和矩陣。JACAL 由 Aubrey Jaffer 以 Scheme 撰寫。它隨附符合 IEEE P1178 和 R4RS 的 Scheme 版本 ("SCM"),以 C 撰寫。SCM 在 Amiga、Atari-ST、MS-DOS、NOS/VE、VMS、Unix 和類似系統上執行。SLIB 是 JACAL 使用的可移植 Scheme 函式庫。透過匿名 FTP 從
nexus.yorku.ca
的 `/pub/scheme/new'、altdorf.ai.mit.edu
的 `/archive/scm' 或prep.ai.mit.edu
的 `/pub/gnu/jacal' 取得 JACAL、SLIB 和 SCM 原始碼。FSF 不在任何媒體上發行 JACAL。若要接收包含原始碼和可執行檔的 IBM PC 軟碟,請寄送 $99.00 至Aubrey Jaffer 84 Pleasant Street Wakefield, MA 01880 USA
less
(UtilD, UtilT, SrcCD)less
是一個顯示分頁器,類似於more
和pg
,但具有各種功能(例如向後滾動的能力),而大多數分頁器都缺乏這些功能。- libg++ (BinCD, LangT, SrcCD) GNU C++ 函式庫是 C++ forest 類別的廣泛集合、用於輸入/輸出常式的新 IOStream 函式庫,以及與 G++ 一起使用的支援工具。支援的類別包括 Obstacks、多精度整數和有理數、複數、任意長度字串、BitSets 和 BitStrings。還有一組偽通用原型檔案可用於產生常見的容器類別。包含 Texinfo 格式的部分文件(尚未以紙本形式發行)。
m4
(UtilD, UtilT, SrcCD) GNUm4
是傳統 Unix 巨集處理器的實作。它主要與 SVR4 相容,儘管它有一些擴充功能(例如,處理超過 9 個位置參數的巨集)。m4
也具有用於包含檔案、執行 shell 命令、執行算術運算等的內建函數。make
(BinCD, EmcsT, LangT, UtilD, UtilT, SrcCD) GNUmake
支援 POSIX 1003.2,並且具有 BSD 和 System V 版本make
的所有功能,但少數不明確的功能除外,以及我們自己的許多擴充功能。GNU 擴充功能包括長選項、平行編譯、條件執行和用於文字操作的函數。《Make 手冊》的 Texinfo 原始碼隨附於程式。GNUmake
位於我們的幾個磁帶上,因為某些原生make
程式缺少VPATH
功能,這對於充分利用 GNU 組態系統至關重要。包含一個 shell 腳本以在這些系統上建置 GNUmake
。另請參閱「Project GNU Status Report」。- MandelSpawn (UtilT, SrcCD) 用於 MIT X Window System 的平行 Mandelbrot 產生程式。
- mtools (UtilT, SrcCD) mtools 是一組公用領域程式,允許 Unix 系統讀取、寫入和操作 MS-DOS 檔案系統(通常是磁碟片)上的檔案。
- MULE (SrcCD) MULE 是 GNU Emacs 18 的多語言增強功能。它可以一次處理多種字元集,包括日語、中文、韓語、越南語、泰語、希臘語、ISO Latin-1 到 Latin-5 字元集、烏克蘭語、俄語和其他西里爾字母。MULE 中的文字緩衝區可以包含來自這些語言的字元混合。若要輸入任何這些字元,您可以使用 MULE 本身提供的各種輸入法。此外,如果您在某些終端機模擬器(kterm、cxterm 或 exterm)下使用 MULE,則可以使用其輸入法。
- NetHack (UtilT, SrcCD) NetHack 是一個面向顯示的冒險遊戲,類似於 Rogue。同時支援 ASCII 和 X 顯示。
- NIH Class Library (LangT, SrcCD) NIH Class Library(以前稱為 "OOPS",物件導向程式支援)是由美國國家衛生研究院 (NIH) 的 Keith Gorlen 開發的 G++ 類別的可移植集合,類似於 Smalltalk-80 中的類別,使用 C++ 程式語言。
- Octave (LangT) Octave 是一種高階語言,主要用於數值計算。它提供了一個方便的命令列介面,用於以數值方式解決線性和非線性問題。Octave 可以對實數和複數純量和矩陣執行算術運算、求解非線性代數方程式組、對有限和無限區間的函數進行積分,以及積分常微分和微分代數方程式組。Octave 可透過匿名 ftp 從
ftp.che.utexas.edu
的 `/pub/octave' 取得。檔案為 gzipped tar 格式(請參閱prep.ai.mit.edu:/pub/gnu
上的檔案 `README')。Octave 發行版本包含超過 150 頁的 Texinfo 手冊。 - Oleo (UtilT, SrcCD) Oleo 是一個試算表程式(比更昂貴的試算表更適合您)。它支援 X Window System 和基於字元的終端機,並且可以輸出試算表的嵌入式 Postscript 呈現。按鍵綁定對於 Emacs 使用者來說應該很熟悉並且是可組態的。在 X 和 Postscript 輸出中,Oleo 支援多種可變寬度字型。另請參閱「Project GNU Status Report」。
p2c
(LangT, SrcCD)p2c
是一個 Pascal 到 C 的翻譯器,由 Dave Gillespie 撰寫。它主要用於 32 位元機器,儘管將其移植以轉換程式碼以在 16 位元機器上運作是可能的。patch
(UtilT, SrcCD)patch
是我們版本的 Larry Wall 程式,用於取得diff
的輸出並將這些差異套用至原始檔案以產生修改後的版本。- PCL (EmcsT, SrcCD) PCL 是 CLOS(Common Lisp 物件系統)的大型子集的免費實作。PCL 由 Xerox Corporation 撰寫。
perl
(LangT, SrcCD) Larry Wall 的perl
結合了sed
、awk
、sh
和 C 的功能和能力,以及所有系統呼叫和許多 C 函式庫常式的介面。用於編輯perl
程式碼的 Perl 模式隨附於 GNU Emacs 19。ptx
(UtilD, UtilT, SrcCD)ptx
是 GNU 版本的ptx
,一個排列索引產生器。除其他外,它產生可讀的 "KWIC"(上下文關鍵字)索引,而無需nroff
。有一個選項可以輸出 TeX 程式碼。rc
(UtilT, SrcCD)rc
是一個 shell,其語法類似 C 語言(比csh
更像),並且引用規則比 C 或 Bourne shell 更乾淨。它旨在互動式使用,但也非常適合編寫腳本。它啟發了 shelles
。- RCS (UtilD, UtilT, SrcCD) 修訂控制系統 RCS 用於軟體專案的版本控制和管理。與 GNU
diff
一起使用時,RCS 可以處理二進位檔案(可執行檔、物件檔案、8 位元資料等)。另請參閱「CVS」的條目。 recode
(UtilT, SrcCD)recode
在字元集和用法之間轉換檔案。當無法進行精確音譯時,它可能會消除令人反感的字元或退而求其次使用近似值。此程式可辨識或產生近 150 種不同的字元集,並且能夠在幾乎任何一對字元集之間音譯檔案。支援大多數 RFC 1345 字元集。- regex (LangT, SrcCD) GNU 正則表達式函式庫支援 POSIX.2,國際化功能除外。過去,它已包含在許多使用 regex 常式的 GNU 程式中。現在它終於可以單獨使用了。
- Scheme (SchmT, SrcCD) 有關 Scheme 的資訊,請參閱「Contents of the Scheme Tape」。Source Code CD-ROM 上的版本僅適用於 MS-DOS。
screen
(UtilT, SrcCD)screen
是一個終端機多工器,可在單一實體終端機上執行多個獨立的「螢幕」(tty)。每個虛擬終端機都模擬 DEC VT100 以及多個 ANSI X3.64 和 ISO 2022 函數。screen
會話可以分離,稍後在不同的終端機上恢復。sed
(UtilD, UtilT, SrcCD)sed
是ed
的串流導向版本。它在 shell 腳本中大量使用。GNU sed 隨附 rx 函式庫,它是 regex 的更快版本。- Shellutils (UtilT, SrcCD) Shellutils 用於互動式或 shell 腳本中:
basename
、date
、dirname
、echo
、env
、expr
、false
、groups
、id
、nice
、nohup
、printenv
、printf
、sleep
、stty
、su
、tee
、test
、true
、tty
、uname
、who
、whoami
和yes
。 - GNU Shogi (UtilT, SrcCD) Shogi 是一種類似於西洋棋的日本遊戲;主要區別在於捕獲的棋子可以返回到遊戲中。GNU Shogi 是透過修改 GNU Chess 建立的;GNU Shogi 實作了與 GNU Chess 相同的功能,並使用了類似的啟發式方法。作為一項新功能,可以引入部分棋盤模式序列,以協助程式朝著特定的開局模式下出好的招法順序。同時具有文字和 X 顯示介面。GNU Shogi 主要由 Matthias Mutz 代表 FSF 提供支援。
Matthias Mutz Universitaet Passau, FMI 94030 Passau Germany E-mail:
mutz@kirk.fmi.uni-passau.de
- Smalltalk (LangT, SrcCD) GNU Smalltalk 是一個以可移植 C 撰寫的直譯式物件導向程式語言系統。功能包括增量垃圾收集器、二進位映像檔儲存功能、調用使用者撰寫的 C 程式碼並將參數傳遞給它的能力、GNU Emacs 編輯模式、可選的位元組碼編譯追蹤和位元組碼執行追蹤,以及自動載入的每使用者初始化檔案。另請參閱「Project GNU Status Report」。
- superopt (LangT, SrcCD) Superopt 是一個函數序列產生器,它使用詳盡的產生和測試方法來尋找給定函數的最短指令序列。您為 GNU 超級最佳化器提供一個函數、一個要為其產生程式碼的 CPU,以及您可以接受的指令數量。《ACM SIGPLAN PLDI'92》會議記錄中描述了其在 GCC 中的應用。Superopt 支援:SPARC、m68k、m68020、m88k、IBM RS/6000、AMD 29000、Intel 80x86、Pyramid、DEC Alpha 和 HP-PA。
tar
(UtilT, SrcCD) GNUtar
包括多卷支援、封存稀疏檔案的能力、自動封存壓縮/解壓縮、遠端封存和特殊功能,這些功能允許將tar
用於增量和完整備份。不幸的是,GNUtar
實作了 POSIX 1003.1 ustar 標準的早期草案,該草案與最終標準不同。以向後相容的方式新增對新變更的支援並非易事。- Termcap Library (UtilT, SrcCD) GNU Termcap 函式庫是任何系統上 `libtermcap.a' 的直接替換品。與大多數其他 Termcap 函式庫不同,它對 Termcap 條目的大小沒有任意限制。包含 Texinfo 格式的《Termcap 手冊》原始碼。
- TeX FSF 未提供 TeX 是一個文件格式化系統,可處理複雜的排版,包括數學。它是 GNU 系統的標準格式化程式。我們不發行 TeX,因為您可以從華盛頓大學取得它,華盛頓大學是 TeX 的 Unix 版本的維護中心。若要訂購以
tar
格式寫入的完整發行版本,無論是 1/4 英寸 4 軌 QIC-24 卡匣還是 4mm DAT 卡匣,請寄送 $210.00 至Northwest Computing Support Center DR-10, Thomson Hall 35 University of Washington Seattle, WA 98195 E-mail:
請開立以華盛頓大學為抬頭的支票。支票必須以美元支付,並在美國銀行開立。預付訂單是首選,但採購單可以接受;但是,採購單需額外收取 $10.00 的費用,以支付發票處理費用。海外站點:請在基本成本中增加 $20.00 以透過航空包裹郵寄送,或增加 $30.00 以透過快遞送。請與上述單位確認目前的價格和格式。unixtex@u.washington.edu
Phone: (206) 543-6259 - Texinfo (EmcsT, LangT, SrcCD, UtilD, UtilT) Texinfo 是一組公用程式,可產生印刷手冊和線上超文字樣式文件(稱為 "Info"),並提供閱讀線上版本的方法。第 3 版包含 GNU Emacs Lisp 和獨立 C 程式,以及《Texinfo 手冊》的原始碼。另請參閱「Project GNU Status Report」。
- Textutils (UtilT, SrcCD) Textutils 程式處理文字資料:
cat
、cksum
、comm
、csplit
、cut
、expand
、fold
、head
、join
、nl
、od
、paste
、pr
、sort
、split
、sum
、tac
、tail
、tr
、unexpand
、uniq
和wc
。 - Tcl (LangT, SrcCD) Tcl 是一種可嵌入的工具命令語言。
expect
和 DejaGnu 與 Tcl 搭配使用並使用 Tcl。 - Tile Forth (LangT, SrcCD) Tile Forth 是以 C 撰寫的 Forth--83 標準的 32 位元實作,使其可以輕鬆地在不同的電腦之間移動(傳統上,Forth 實作以組譯器撰寫,以盡可能最佳地使用底層硬體,但這也使其可移植性降低)。
time
(UtilT, SrcCD)time
用於報告有關進程使用的使用者時間、系統時間和實際時間量的統計資訊(通常來自 shell)。tput
(UtilT, SrcCD)tput
是一種可移植的方式,允許 shell 腳本使用特殊的終端機功能。GNUtput
使用 Termcap 資料庫,而不是大多數實作使用的 Terminfo。- UUCP (UtilT, SrcCD) 此版本的 UUCP 由 Ian Lance Taylor 撰寫,是 GNU 的標準 UUCP 系統。它目前支援
f
、g
(在所有視窗和封包大小中)、G
、t
和e
協定,以及 Zmodem 協定和兩個新的雙向協定。如果您有 Berkeley sockets 函式庫,它可以建立 TCP 連線。如果您有 TLI 函式庫,它可以建立 TLI 連線。 uuencode
(UtilT, SrcCD) Uuencode 和 uudecode 用於透過不支援簡單 ASCII 資料以外的傳輸媒體傳輸二進位檔案。wdiff
(UtilT, SrcCD)wdiff
比較兩個檔案,找出為了獲得第二個檔案,已從第一個檔案中刪除或新增了哪些單字。我們希望最終將其以及來自名為spiff
的類似程式的一些想法整合到未來版本的 GNUdiff
中。
OCEAN 整合電路設計系統
荷蘭台夫特理工大學開發了 OCEAN,這是一個全面的晶片設計套件。它包括一整套強大的工具,用於合成和驗證半客製化海閘和閘陣列晶片。OCEAN 涵蓋設計軌跡的後端——從電路級別到佈局和工作晶片。
OCEAN 提供用於佈局、佈線、模擬和提取的互動式工具,可以自動或手動引導。它以自由軟體形式提供,包含完整原始碼,並且已知可在 X Window System 下的 Linux、HP 和 Sun 工作站上執行。為了匯入和匯出資料,它了解 EDIF、BLIF、SLS、GDSII、CIF、SPICE 和 LDM。
您可以透過匿名 FTP 從 donau.et.tudelft.nl
取得 OCEAN。如需更多資訊,請透過網際網路聯絡 patrick@donau.et.tudelft.nl
。
Emacs 磁帶的內容
此磁帶包含 Common Lisp 實作、GNU Emacs、與 GNU Emacs 搭配使用的各種擴充功能,以及一些其他重要的公用程式。
- Calc 2.02b
- CLISP 1993.11.08
- Elib 0.06
- GNU Emacs 18.59
- GNU Emacs 19.22
- GNU Emacs Lisp 參考手冊,第 2.02.1 版
gzip
1.2.4make
3.70- PCL 1993.03.18
- Texinfo 3.1
語言磁帶的內容
此磁帶包含程式設計工具:編譯器、直譯器和相關程式(剖析器、轉換程式、偵錯器等)。
- Binutils 2.3
- Bison 1.22
- C Library 1.06.7
- DejaGnu 1.1.1
dld
3.2.3expect
4.7.6ecc
1.2.1f2c
1993.04.28flex
2.4.5- GAS 2.2
- GAWK 2.15.3
- GCC 2.5.7 (包括 G++ 和 Objective C)
- GDB 4.11
gdbm
1.7.1gmp
1.3.2gperf
2.1agzip
1.2.4indent
1.8- libg++ 2.5.3
make
3.70- NIH Class Library 3.0
- Octave 1.0
p2c
1.20perl
4.036- regex 0.12
- Smalltalk 1.1.1
- Superopt 2.3
- Tcl 6.7
- Texinfo 3.1
- Tile Forth 2.1
工具程式磁帶的內容
此磁帶主要包含其他 GNU 磁帶上未提供的小型公用程式和雜項應用程式。
acm
4.2- Autoconf 1.7
- BASH 1.13.5
bc
1.02- Chess 4.0.pl62
cpio
2.3- CVS 1.3
dc
0.2- Diffutils 2.6
doschk
1.1elvis
1.7es
0.84- Fax 3.2.1
- Fileutils 3.9
find
3.8finger
1.37- Fontutils 0.6
- Ghostscript 2.6.1
- Ghostview 1.5
- GNATS 3.2
gnuplot
3.5- GnuGo 1.1
- Graphics 0.17
grep
/egrep
/fgrep
2.0- Groff 1.08
gzip
1.2.4hello
1.3hp2xx
3.1.4ispell
4.0less
177m4
1.1make
3.70- MandelSpawn 0.07
- mtools 2.0.7
- NetHack 3.1.3
- Oleo 1.5
patch
2.1ptx
0.3rc
1.4- RCS 5.6.0.1
recode
3.3screen
3.5.2sed
2.03- Shellutils 1.9.2
- Shogi 1.1.pl02
tar
1.11.2- Termcap 1.2
- Texinfo 3.1
- Textutils 1.9
time
1.6tput
1.0- UUCP 1.04
uuencode
1.0wdiff
0.4
Scheme 磁帶的內容
Scheme 是一種簡化的、詞法作用域的 Lisp 方言。它是在 MIT 和其他大學設計的,旨在教導學生程式設計的藝術,並研究新的平行程式設計結構和編譯技術。
此磁帶包含 MIT Scheme 7.1,它符合「演算法語言 Scheme 修訂^4 報告」(MIT AI Lab Memo 848b),其中包含 TeX 原始碼。它部分以 C 撰寫,但目前很難引導。可用於引導 Scheme 的二進位檔案適用於以下系統
- HP 9000 series 300、400、700 和 800,執行 HP-UX 7.0 或 8.0
- NeXT 執行 NeXT OS 1.0 或 2.0
- Sun-3 或 Sun-4 執行 SunOS 4.1
- DECstation 3100/5100 執行 Ultrix 4.0
- Sony NWS-3250 執行 NEWS OS 5.01
- Vax 執行 4.3 BSD
如果您的系統未在此清單中,並且您不喜歡引導挑戰,請參閱「GNU Software Available Now」中的「JACAL」條目。
X11 磁帶的內容
兩個 X11 磁帶包含 MIT X Window System 的第 11 版,第 5 版。第一個 FSF 磁帶包含所有核心軟體、文件和一些貢獻的用戶端。我們稱此為「必要」X 磁帶,因為它是執行 X 或在 X 下執行 GNU Emacs 所必需的。第二個「可選」FSF 磁帶包含貢獻的函式庫和其他工具組、Andrew User Interface System、遊戲和其他程式。
X11 Required 磁帶還包含迄今發行的所有修復程式和修補程式。我們會隨著新修復程式和修補程式的發行而更新此磁帶。
Berkeley Networking 2 磁帶
Berkeley "Net2" 發行版本包含第二個 4.3 BSD 發行版本,並且比 4.3 BSD-Tahoe 和 4.3 BSD-Reno 更新。它包括大多數 BSD 軟體系統,但除了一些公用程式、核心的某些部分和一些您的 C 函式庫可能提供的函式庫常式外(我們在其他磁帶上提供了許多遺失程式的替代品)。此發行版本還包含第三方軟體,包括 Kerberos 和一些 GNU 軟體。
VMS Emacs 和 VMS 編譯器磁帶
我們提供兩個 VMS 磁帶。一個僅包含 GNU Emacs 編輯器(不包括上述 Emacs 磁帶上的任何其他軟體)。另一個包含 GNU C 編譯器、Bison(用於編譯 GCC)、GAS(用於組譯 GCC 的輸出)以及一些函式庫和包含檔案(不包括上述 Languages 磁帶上的任何其他軟體)。我們不知道 VMS 的 GDB 埠。兩個 VMS 磁帶都具有您可以從中引導的可執行檔,因為 DEC VMS C 編譯器無法編譯 GCC。請不要要求我們投入精力於 VMS 支援,因為它對 GNU 專案而言是周邊的。
百畝諮詢公司擴張
Hundred Acre Consulting 繼續提供支援和開發服務,其專長是 GNU C 和 C++ 編譯器。它繼續執行將其利潤的一部分捐贈給 FSF 的政策。他們的地址是
Hundred Acre Consulting
5301 Longley Lane, Suite D-144
Reno, NV 89511
USA
Phone: (702) 829-9700 or +1-800-245-2885
Fax: (702) 829-9926
E-mail: info@pooh.com
原始碼 CD-ROM
自由軟體基金會已製作其第三張原始碼 CD-ROM。它包含以下內容
acm
3.1- Autoconf 1.7
- BASH 1.13.4
bc
1.02- Binutils 1.9 和 2.3
- Bison 1.22
- GNU C Library 1.06.7
- Calc 2.02b
- GNU Chess 4.0p62
- CLISP 1993.11.08
cperf
2.1acpio
2.3- CVS 1.3
dc
0.2- DejaGnu 1.0.1
- diffutils 2.6
dld
3.2.3doschk
1.1ecc
1.2.1- elib 0.06
elvis
1.7- Emacs 18.59 和 Emacs 19.21
es
0.84f2c
1993.04.28- Fax 3.2.1
- Fileutils 3.9
find
3.8finger
1.37flex
2.3.8- Fontutils 0.6
- GAS 1.36.utah、1.38.1 和 2.2
- Gawk 2.15.3
- GCC 2.5.4
- GDB 4.11
gdbm
1.7.1- Ghostscript 2.6.1
- Ghostview 1.5
- Ghostview for Windows 1.0
gmp
1.3.2- GNATS 3.01
gnuplot
3.5- GnuGo 1.1
- Graphics 0.17
grep
/egrep
/fgrep
2.0- Groff 1.08
gzip
1.2.4hello
1.3hp2xx
3.1.3aindent
1.8ispell
4.0less
177libg++
2.5.1m4
1.1make
3.69.1- MandelSpawn 0.06
- mtools 2.0.7
- MULE 1.0
- Nethack 3.1.3
- NIHCL 3.0
- Oleo 1.5
p2c
1.20patch
2.1- PCL 1993.03.18
perl
4.036ptx
0.3rc
1.4- RCS 5.6.0.1
recode
3.2.4- regex 0.12
- MIT Scheme (MS-DOS) 7.2
screen
3.5.2sed
1.18 & 2.03- Shellutils 1.9.1
- GNU Shogi 1.1p02
- Smalltalk 1.1.1
- Superopt 2.3
tar
1.11.2- Termcap library 1.2
- Texinfo 3.1
- Textutils 1.9.1
- Tile Forth 2.1
time
1.6tput
1.0- UUCP 1.04
uuencode
1.0wdiff
0.04- X11R5
此 CD-ROM 也包含版本 19 的《GNU Emacs Lisp 參考手冊》2.02 版的 Texinfo 原始碼,以及俄亥俄州立大學 Emacs Lisp 檔案庫的快照。(您可以透過 UUCP(請洽詢 staff@cis.ohio-state.edu
以取得指示)或匿名 FTP 從 archive.cis.ohio-state.edu
的 `/pub/gnu/emacs/elisp-archive' 取得此檔案庫中的程式庫。)
MIT Scheme、VMS 和 Net2 磁帶的內容未包含在內
此 CD-ROM 採用 ISO 9660 格式,並且可以在大多數作業系統上掛載為唯讀檔案系統。如果您的驅動程式支援,您可以掛載具有 "Rock Ridge" 擴充功能的 CD-ROM,這樣它看起來就會像一個普通的 Unix 檔案系統,而不是充滿截斷或其他損壞名稱的、符合原始 ISO 9660 規範的檔案系統。
您可以在不需將原始碼複製出 CD 的情況下,建置此軟體的大部分內容。僅需要足夠的磁碟空間來存放目標檔案和中繼建置目標。除了 MS-DOS 的 MIT Scheme 二進位檔和 Windows 可執行檔 Ghostview 之外,此 CD 上沒有預先編譯的程式。您將需要一個 C 編譯器(需要其他直譯器或編譯器的程式通常會提供用於引導程式的 C 原始碼)。
如果最終是由企業付款,則 CD 的價格為 400 美元。如果您是以個人身分自掏腰包付款,則價格為 100 美元。
- 個人和公司價格代表什麼意思? 我們磁碟上的軟體是免費的;任何人都可以複製和執行它。我們收費的是實體光碟和發行服務。我們根據購買者的身分收取兩種不同的價格。當公司或其他組織購買光碟時,我們收取 400 美元。當個人購買相同的光碟時,我們只收取 100 美元。這種區別與誰可以使用該軟體無關。在任何一種情況下,一旦您擁有副本,您就可以隨意散布任意數量的副本,並且對於誰可以擁有或執行它們沒有任何限制。價格區別完全取決於哪個實體為 CD 付款。您,讀者,當然是個人,而不是公司。如果您「親自」購買光碟,那麼您很可能是以個人身分購買。但是,如果您期望您的雇主報銷費用,那麼這張光碟實際上是為公司購買的,因此請支付公司價格並獲得公司價格的報銷。我們不會試圖查核您——我們採用榮譽制度——所以請合作。以公司價格購買 CD 對 GNU 專案特別有幫助;僅需 80 張公司價格的 CD 即可支持一位 FSF 程式設計師或技術作家一年的工作。
- 為什麼有個人價格? 過去,我們的發行磁帶主要由公司訂購。400 美元價格的 CD 為他們提供了我們所有的軟體,價格遠低於他們先前為六種不同磁帶支付的價格。進一步降低價格將嚴重削減 FSF 的資金。但是,對於個人而言,400 美元的價格太高了;幾乎沒有人能負擔得起。因此,我們決定以較低的 100 美元價格向個人提供 CD,但不對公司提供相同的價格。
- 有最高價格嗎? 我們聲明的價格是最低價格。如果您希望更多地支持 GNU 開發,請隨意支付更高的價格。價格沒有上限;我們將接受您能提供的任何高價。或者 просто 向免稅的公共慈善機構自由軟體基金會捐款,這筆捐款可以扣稅。
編譯器工具二進位檔 CD-ROM
我們現在提供一種 CD-ROM,其中包含適用於某些缺少編譯器的系統的 GNU 編譯器工具的可執行檔。這將使這些系統的使用者能夠編譯 GNU 和其他自由軟體,而無需購買專有編譯器。
此 CD-ROM 採用 ISO 9660 格式,並且可以在大多數作業系統上掛載為唯讀檔案系統。如果您的驅動程式支援,您可以掛載具有 "Rock Ridge" 擴充功能的 CD-ROM,這樣它看起來就會像一個普通的 Unix 檔案系統,而不是充滿截斷或其他損壞名稱的、符合原始 ISO 9660 規範的檔案系統。
我們希望在每次更新此 CD-ROM 時包含更多系統。如果您可以協助為新系統(特別是對於不附帶 C 編譯器的系統)建置二進位檔,或有系統建議,請透過封面上的任一地址與我們聯絡。
這些程式:
- DJGPP 1.11.m1
- GCC/G++/Objective C 2.5.7
- GDB 4.11
- GAS 2.2
- Binutils 2.3
- Bison 1.22
- Flex 2.4.5
- Make 3.70
- libg++ 2.5.3
適用於這些平台
i386-msdos
hppa1.1-hp-hpux9
sparc-sun-solaris2
sparc-sun-sunos4.1
磁帶 & CD-ROM 訂閱服務
如果您無法連線網路,我們的訂閱服務可讓您隨時掌握最新的 FSF 開發進度。只需相當於三卷磁帶或 CD-ROM 的一次性費用,我們將郵寄給您四個新版本的您選擇的磁帶或原始碼 CD-ROM。磁帶每季寄送,原始碼 CD-ROM 則在發行時寄送。(原始碼 CD-ROM 目前每年發行兩次,但我們未來可能會更頻繁地發行。)
我們會定期向您發送新版本的 Emacs、Languages、Utilities 或 MIT X Window System Required 磁帶或原始碼 CD-ROM。BSD Net-2、MIT Scheme 和 MIT X Window System Optional 磁帶的變更頻率不足以保證每季更新。編譯器工具二進位檔 CD-ROM 是全新的,我們尚不清楚是否會提供訂閱服務。
由於 Emacs 19 現在已在 Emacs 磁帶和原始碼 CD-ROM 上,因此訂閱其中任何一個都將是掌握 Emacs 19 更新的便捷方式,因為它會經歷 beta 測試階段。
訂閱也是掌握 MIT X Window System 定期錯誤修復的簡單方法。我們會更新 X11 Required 磁帶,因為 X Window System 的修復和修補程式會在全年發布。每個新版本的原始碼 CD-ROM 也都有 X Window System 的更新原始碼。請參閱「自由軟體基金會訂購單」上的「磁帶訂閱」和「CD-ROM 訂閱」章節。
如何取得 GNU 軟體
自由軟體基金會的所有軟體和出版物均經許可發行,可以複製和重新散布。取得 GNU 軟體最簡單的方法是從其他擁有它的人那裡複製。您可以透過訂購磁片、磁帶或 CD-ROM 直接從 FSF 取得 GNU 軟體。此類訂單為 FSF 工作人員提供了大部分資金,因此如果可以,請訂購以支持我們的工作。請參閱「自由軟體基金會訂購單」。
也有第三方團體發行我們的軟體;他們不與我們合作,但可以以其他形式提供我們的軟體。為了您的方便,其中一些列在「微電腦自由軟體」中。請注意,自由軟體基金會與他們沒有任何關聯,並且不對其版本的即時性或回應的迅速性負責。
如果您決定與這些經銷商之一進行交易,請詢問他們在協助自由軟體開發方面做了多少工作,例如透過向自由軟體開發專案捐款或自行編寫供一般使用的自由軟體。透過部分基於此因素做出您的決定,您可以幫助鼓勵那些從自由軟體中獲利的人為其成長做出貢獻。
如果您可以連線網際網路,但無法存取以下主機之一,您可以透過匿名 FTP 從 GNU 的發行主機 prep.ai.mit.edu
(IP 位址為 18.71.0.38
)取得軟體。如需更多資訊,請取得檔案 `/pub/gnu/GETTING.GNU.SOFTWARE'。prep
是一個非常繁忙的主機,並且在任何給定時間僅允許有限數量的 FTP 登入。請使用以下其他 TCP/IP 網際網路站點之一,這些站點也透過匿名 FTP 提供 GNU 軟體(程式:ftp
,使用者:anonymous
,密碼:您的電子郵件地址,模式:binary
)。
- 非洲:
ftp.sun.ac.za
。 - 澳大拉西亞:
archie.au
(archie.oz
用於 ACSnet),
cair.kaist.ac.kr
、utsun.s.u-tokyo.ac.jp
、ftp.cs.titech.ac.jp
。 - 加拿大:
ftp.cs.ubc.ca
。 - 中東:
ftp.technion.ac.il
。 - 歐洲:
ugle.unit.no
、ftp.stacken.kth.se
、isy.liu.se
、
ftp.luth.se
、unix.hensa.ac.uk
、ftp.mcc.ac.uk
、
ftp.informatik.tu-muenchen.de
、ftp.informatik.rwth-aachen.de
、
ftp.denet.dk
、ftp.eunet.ch
、nic.switch.ch
、irisa.irisa.fr
ftp.funet.fi
、ftp.win.tue.nl
、ftp.univ-lyon1.fr
、archive.eu.net
。 - 美國:
labrea.stanford.edu
、ftp.kpc.com
、ftp.digex.net
、
ftp.cs.widener.edu
、ftp.cs.columbia.edu
、vixen.cso.uiuc.edu
、
wuarchive.wustl.edu
、gatekeeper.dec.com
、ftp.hawaii.edu
、
cc.utah.edu
(VMS GNU Emacs)、mango.rsmas.miami.edu
(VMS GCC)、ftp.uu.net
(在 `/packages/gnu' 下)。
JANET 的使用者可以在 `/gnu' 下查看 src.doc.ic.ac.uk
。
您可以透過 UUCP 取得一些 GNU 程式。俄亥俄州立大學定期將其 UUCP 指示發布到 USENET 上的新聞群組 comp.sources.d
。這些人將透過電子郵件向您發送 UUCP 指示
hao!scicom!qetzal!upba!ugn!nepa!denny, uunet!hutch!barber, src@contrib.de (Europe), james@bigtex.cactus.org, acornrc!bob, toku@dit.co.jp (Japan), staff@cis.ohio-state.edu
對於沒有網際網路存取的使用者,請參閱「自由軟體支援」章節,以取得有關透過 UUCP 取得電子郵件和檔案傳輸的資訊。
豪華發行版
自由軟體基金會一直被要求建立一個套件,提供我們所有軟體的可執行檔。通常我們只提供原始碼。除了提供包含原始碼的二進位檔外,豪華發行版還包括我們所有印刷手冊和參考卡的副本。
FSF 豪華發行版包含數百種不同程式的二進位檔和原始碼,包括 GNU Emacs、GNU C 編譯器、GNU 除錯器、完整的 MIT X Window System 和所有 GNU 公用程式。
您可以選擇以下機器和作業系統之一:HP 9000 series 300、700 或 800 (4.3 BSD 或 HP-UX);RS/6000 (AIX);SONY News 68k (4.3 BSD 或 NewsOS 4);Sun-3、Sun-4 或 SPARC (SunOS 4 或 Solaris)。如果您的機器或系統未列出,或者特定程式尚未移植到該機器,請致電以下電話號碼聯絡 FSF 辦公室,或發送電子郵件至 gnu@prep.ai.mit.edu
。
我們以 Unix tar 格式在以下媒體之一上提供軟體:1600 或 6250 bpi、1/2 英吋、捲軸式磁帶;Sun DC300XLP 1/4 英吋卡匣、QIC-24;HP 16 軌 DC600HC 1/4 英吋卡匣;IBM RS/6000 1/4 英吋卡匣、QIC-150;Exabyte 8mm 卡匣;DAT 4mm 卡匣。如果您的電腦無法讀取其中任何一種,請致電我們。
包含的手冊包括 Bison、Calc、Gawk、GNU C 編譯器、GNU C 程式庫、GNU 除錯器、Flex、GNU Emacs Lisp 參考手冊、Make、Texinfo 和 Termcap 手冊各一本;GNU Emacs 手冊六本;以及 GNU Emacs、Calc、GNU 除錯器、Bison 和 Flex 的參考卡包各一份。
此外,每個豪華發行版都包含 CD-ROM(ISO 9660 格式,帶有 Rock Ridge 擴充功能),其中包含我們軟體的原始碼和適用於某些系統的編譯器工具二進位檔。
豪華發行版的價格為 5000 美元。它適用於想要取得為他們編譯的所有內容,或想要進行大力幫助 FSF 的購買的人。若要訂購,請填寫「自由軟體基金會訂購單」中的「豪華發行版」部分,並將其寄送至
Free Software Foundation, Inc. 675 Massachusetts Avenue Cambridge, MA 02139-3309 USA Electronic mail: gnu@prep.ai.mit.edu Phone: +1-617-876-3296 FAX: +1-617-492-9057 FAX (in Japan): 0031-13-2473 (KDD) 0066-3382-0158 (IDC)
MS-DOS 發行版
FSF 在 3.5 英吋 1.44MB 磁片上發行一些移植到 MS-DOS 的 GNU 軟體。這些磁片同時包含原始碼和可執行檔。
Demacs 磁片的內容
Demacs 是 GNU Emacs 18.55 的 MS-DOS 版本,其中包含來自 Emacs 18.57 的一些變更。實際上包含兩個版本:一個處理 8 位元字元集;另一個基於早期版本的 MULE,處理包含漢字在內的 16 位元字元集。我們在五張磁片上發行它們。
Demacs 在執行 MS-DOS 的 Intel 80386 和 80486 架構的機器上執行。它與 XMS 記憶體管理器和 VCPI 相容,但尚不與 Microsoft Windows 延伸模式或其他 DPMI 管理器相容。
DJGPP 磁片的內容
我們在 22 張磁片上發行 DJGPP。DJGPP 至少需要 5MB 的硬碟空間才能安裝,以及 512K 的 RAM 才能使用。有關 DJGPP 的更多資訊,請參閱「現有 GNU 軟體」。
精選工具程式磁片的內容
GNUish MS-DOS 專案發布移植到 PC 相容機的 GNU 軟體。一般而言,此軟體將在 8086 和 80286 架構的機器上執行;不需要 80386。其中一些公用程式必然缺少某些功能。包含:cpio
、diff
、一些檔案公用程式、find
、flex
、gdbm
、grep
、indent
、less
、m4
、make
、MAWK、MicroEmacs、ptx
、RCS、sed
、shar
、sort
和 Texinfo。
Windows 磁片的內容
我們正在單張磁片上發行移植到 Microsoft Windows 的 GNU Chess 和 gnuplot
版本。
微電腦自由軟體
我們不提供微電腦上 GNU 軟體的支援,因為它與 GNU 專案無關。但是,我們正在磁帶、CD-ROM 和磁片上發行一些此類程式。我們也願意發布有關支援和維護它們的團體的資訊。如果您知道任何此類努力,請將詳細資訊(包括郵寄地址、檔案庫站點和郵寄清單)發送到封面上的任一地址。
有關 FSF 提供的微電腦軟體的更多資訊,請參閱「MS-DOS 發行版」和兩篇 CD-ROM 文章。請不要向我們詢問任何其他軟體。FSF 不維護任何其他軟體,並且沒有其他資訊。
- GNU 軟體 不在 Apple 電腦上 在訴訟中,Apple 聲稱有權阻止人們編寫任何使用者介面甚至與 Macintosh 的介面略有相似的程式。如果 Apple 在法庭上勝訴,它將為自己創造一種新的公眾權力,使其能夠終結自由軟體。只要 Apple 致力於建立這種壟斷,我們就不會為 Apple 機器提供任何支援或軟體。我們也要求您避免為 Apple 系統開發或移植軟體,因為任何更多軟體都會增加他們的業務。不要餵養咬您的律師!
-
波士頓電腦協會 BCS 擁有數千個適用於微電腦的共享軟體和免費程式,包括一些 GNU 程式。請聯絡他們以查看您的機器有哪些可用的程式
Boston Computer Society 1 Kendall Square, Bldg 1400, Cambridge, MA 02139 USA Phone: (617) 252-0600
-
Amiga 上的 GNU 軟體 使用匿名 FTP 從主機
ftp.funet.fi
的 `/pub/amiga/gnu'(歐洲)取得許多 GNU 程式的 Amiga 移植版。如需有關 GCC 移植和相關專案的資訊(或提供協助),請洽詢 Leonard Norrgard,vinsci@nic.funet.fi
。如需有關 GNU Emacs 移植版的資訊,請洽詢 David Gay,dgay@di.epfl.ch
,或 Mark D. Henning,henning@stolaf.edu
。您可以透過匿名 FTP 在prep.ai.mit.edu:/pub/gnu/MicrosPorts/Amiga
中取得更多資訊。 -
Atari TOS 和 Atari Minix 的 GNU 軟體 透過匿名 FTP 從
atari.archive.umich.edu
取得 Atari 移植版(由 Howard Chu 維護,hyc@hanauma.jpl.nasa.gov
)。移植版在 USENET 的新聞群組comp.sys.atari.st.tech
和comp.sys.atari.st
中討論。 -
適用於 OS/2 2.0 的 GNU C/C++ 2.3.3 Michael Johnson 為 OS/2 2.0 編寫了 GNU C/C++ 2.3.3 版編譯器的完全獨立的移植版。它具有 C/C++ 編譯器、GNU 組譯器、文件以及 OS/2 特定的和 BSD C 程式庫。您可以透過 FTP 從主機
hobbes.nmsu.edu
的 `/os2/2_x/unix/gnu/gcc2_233' 檔案取得它。若要加入郵寄清單,請發送訊息至os2gcc-request@charon.mit.edu
。 -
Linux:適用於 386 機器的免費 Unix 系統 Linux(以其作者 Linus Torvalds 和 Minix 命名)是一個免費的 Unix 複製系統,實作了 System V 和 POSIX 功能的子集。Linux 是從頭開始編寫的,不包含任何專有程式碼。許多公用程式和程式庫都是 GNU 專案軟體。Linux 僅在 386/486 AT 匯流排(和一些 EISA 匯流排)機器上執行。移植到非 Intel 架構很困難,因為核心大量使用 386 記憶體管理和任務原始指令。Linux 是可自由散布的,並且可透過匿名 FTP 取得:
tsx-11.mit.edu
在 `/pub/linux'(美國)、nic.funet.fi
在 `/pub/OS/Linux'(歐洲)。請洽詢linux-activists-request@niksula.hut.fi
以了解他們的郵寄清單。請參閱 USENET 新聞群組comp.os.linux.misc
等,以了解 Linux 的討論。 - DJGPP 1.11m1,適用於 MS-DOS 的 GNU C/C++ 編譯器 DJ Delorie 已將 GCC/G++ 移植到 386/483 MS-DOS 平台。請參閱「現有 GNU 軟體」以了解詳細資訊。FSF 正在軟碟和 CD 上發行 DJGPP(請參閱「MS-DOS 發行版」和「編譯器工具二進位檔 CD-ROM」)。
-
Demacs,適用於 MS-DOS 的 GNU Emacs Manabu Higashida 和 Hirano Satoshi 發布了 Demacs,這是一個適用於 386/486 MS-DOS 的 GNU Emacs 移植版。1.2.0 版是第一個 beta 後版本。Demacs 提供多個 DOS 特定的功能:支援二進位或文字檔案轉換、「8 位元乾淨」顯示模式、透過
int86
Lisp 函數進行 80x86 軟體中斷呼叫、機器特定的功能,例如功能鍵支援、帶有磁碟機名稱的檔案名稱完成、子程序(suspend-emacs
和call-process
)。Dired 模式無需 `ls.exe' 即可運作。從以下位置匿名 FTP 下載:wuarchive.wustl.edu
在 `/mirrors/msdos/demacs'、utsun.s.u-tokyo.ac.jp
在 `/GNU/demacs'(日本)和ftp.funet.fi
在 `/pub/gnu/emacs/demacs'(歐洲)。FSF 正在軟碟上發行 Demacs(請參閱「MS-DOS 發行版」)。 -
MS-DOS 上的 GNU 軟體 您可以洽詢
info-gnu-msdos-request@sun.soe.clarkson.edu
以了解 GNU 程式的 MS-DOS 移植版和相關郵寄清單。或者匿名 FTP 檔案 `/pub/gnu/MicrosPorts/MSDOS*' 在prep.ai.mit.edu
上。FSF 正在軟碟和 CD 上發行許多 GNU 程式的 MS-DOS 移植版(請參閱「MS-DOS 發行版」和「原始碼 CD-ROM」)。
FSF T 恤
我們仍然有自由軟體基金會 T 恤可供購買,由劍橋藝術家 Jamal Hannah 設計。T 恤正面印有 GNU 在工作站上駭入的圖像,上方文字為 "GNU's Not Unix",下方文字為 "Free Software Foundation"。它們有兩種顏色可供選擇,Natural 和 Black。Natural 是一種米白色、未漂白、未染色、環境友善的棉質,印有黑色墨水,非常適合紮染或直接展示。黑色印有白色墨水,非常適合深夜駭客。所有襯衫均為厚實的 100% 棉質,尺寸有 M、L、XL 和 XXL。
T 恤正面印有 GNU 在工作站上駭入的圖像,上方文字為 "GNU's Not Unix",下方文字為 "Free Software Foundation"。我們剛剛在 T 恤背面新增了 GNU 通用公共授權的副本,背面以前是空白的。
使用「自由軟體基金會訂購單」訂購您的襯衫,並考慮購買一件作為送給您最喜歡的駭客的禮物!
為某事而努力,因為它是好的,而不僅僅是因為它有成功的機會。
-Vaclav Havel
感謝 GNU 使用者
感謝以上在「非正式 GCC 聯盟」、「GNUs 快訊」、「GNU 專案狀態報告」、「日本第二屆年度 GNU 研討會」、「日本的 GNU 和其他自由軟體」和「現有 GNU 軟體」中提及的所有人。
感謝 MIT 的人工智慧實驗室、電腦科學實驗室和 Athena 專案 的寶貴協助。
感謝購買我們豪華發行版的眾多公司和組織。
為了感謝他們在日本的協助,感謝:Hikichi Nobuyuki、Hikichi Mieko、Handa Ken'ichi、Bob Myers、David Littleboy、Ida Masayuki 教授、Japan Unix Society、Senri International Information Institute、Tohoku 產業活化中心、會津大學和 Nihon Sun User Group。感謝 Addison Wesley Publishers Japan、A.I. Soft、Village Center, Inc.、ASCII Corporation 和日本的許多其他公司,感謝他們持續的捐款和支持。
感謝 Sun Users Group、PCI 和 USENIX Association,感謝他們在會議上捐贈展位。感謝所有在這些和其他會議上協助 GNU 專案的志工。感謝 Wired Magazine 和 多倫多大學書店 的 Barry Meikle,感謝他們在各自的出版物中捐贈廣告版面。
再次感謝 開放軟體基金會 的持續支持;並感謝 Cygnus Support 以多種方式協助 GNU 專案。感謝 Warren A. Hunt, Jr. 和 Computational Logic, Inc. 的捐贈和支持。感謝 奧爾堡大學 捐贈了一位兼職程式設計師。感謝 Jamie Zawinski 實作了 Emacs 19 中一些與 X 相關的功能。
感謝所有借出或捐贈機器的人,包括一位匿名捐贈者捐贈了 4mm DAT 卡匣磁碟機、IBM Corp. 捐贈了 Exabyte 磁帶機和 RS/6000;Cygnus Support 捐贈了一台 Sun SPARCstation;Hewlett-Packard 捐贈了兩台 80486、六台 68030 和四台 Spectrum 電腦;Thinking Machines Corp. 的 Brewster Kahle 捐贈了一台 Sun-4/110;CMU 的 Mach 專案 捐贈了一台 Sun-3/60;Intel Corp. 捐贈了他們的 386 機器;NeXT 捐贈了他們的工作站;MIT 媒體實驗室 捐贈了一台 Hewlett-Packard 68020;東京的 SONY Corp. 和 Software Research Associates, Inc. 都捐贈了三台 SONY News 工作站;MIT 電腦科學實驗室 捐贈了 DEC MicroVAX;開放軟體基金會 捐贈了兩台 Compaq 386;Delta Microsystems 捐贈了一台 Exabyte 磁帶機;一位匿名捐贈者捐贈了 5 台 IBM RT/PC;Liant Software Corp. 捐贈了五台 VT100;Jerry Peek 捐贈了一台 386 機器;NCD Corporation 捐贈了一台 X 終端機;以及 Interleaf, Inc.、Veronika Caslavsky、Paul English、Cindy Woolworth 和 Lisa Bergen 借出了一台掃描器。
感謝所有貢獻移植版和擴充功能的人,以及所有提交其他原始碼、文件和良好的錯誤報告的人。
感謝所有捐款並提供其他形式幫助的人。
也感謝所有透過訂購手冊、發行磁帶、磁片和 CD-ROM 來支持我們的人。
創建此公告是我們感謝所有對我們正在做的事情表示興趣的人的方式。
------- Free Software Foundation, Inc | | Electronic Mail: gnu@prep.ai.mit.edu | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139-3309 | here | USA | | -------