GNU 公告,第 1 卷第 6 期,1989 年 1 月
目錄
- 空白頁
- GNU's Who
- GNU 公告
- 什麼是自由軟體基金會?
- 什麼是著作權保護(Copyleft)?
- GNU 在日本
- 作為子程序的通用公共許可證
- GNUsworthy 快訊
- 我對 GNU 許可證的看法
- GNU 文件
- GNU 計劃狀態報告
- GNU “美工圖案”競賽
- 現已提供的 GNU 軟體
- 如何取得 GNU 軟體
- 感謝 GNUs
空白頁
此頁為空白,以便頁碼正確。
GNU's Who
Randy Smith 已加入我們成為全職程式設計師。他目前正在維護和擴展 GDB。我們的暑期人員,Pete TerMaat、Phil Nelson 和 Mike Haertel,已返回學校——學習或教學。Pete 負責 GDB,Phil 負責 GNU 版本的 `cpio' 和 `dbm',而 Mike(他繼續為我們兼職工作)負責 `diff'、`egrep' 和 `sort'。
Joe Arceneaux 今年秋天花費了幾個星期與我們一起工作,使 Emacs 版本 19 能夠與 X windows 版本 11 一起運作。
Nobuyuki 和 Mieko Hikichi 繼續以東京軟體研究協會借調人員的身分與我們共事。在 FSF,Nobu 正在使用他編寫的 C 直譯器擴展 GDB。Mieko 正在協助使用者測試 GNU 文件,並將其中一些文件翻譯成日語。Diane Barlow Close,我們第一位全職技術作家,正在為所有已為我們完成的小型 Unix 實用程式撰寫文件,同時居住在加州聖地牙哥。
同時,Brian Fox 仍在加州大學聖塔芭芭拉分校為我們工作。他最近完成了 GNU 版本的 `sh',即 `Bourne Again Shell',其中結合了 Korn 和 C shells 中的功能。Jay Fenlason 正在為該專案編寫試算表程式,並維護 GNU 組譯器 `tar' 和 `sed'。
Opus Goldstein 是我們萬事通的辦公室人員。如果您致電我們的辦公室,接電話的人就是她。她負責填寫訂單,並處理基金會的日常運營。Robert Chassell 是我們的財務主管。除了處理與程式設計無關的公司事務外,他還在編寫 Emacs Lisp 初級程式設計入門。
Richard Stallman 繼續執行無數任務,包括改進 C 編譯器、GNU Emacs 等及其文件。Paul Rubin 正在為 GNU Emacs 編寫圖形編輯擴展。最後,Len Tower 繼續擔任我們的電子 JOAT(萬事通),處理郵寄列表、資訊請求、系統管理等等。
GNU 公告
版權所有 (C) 1989 自由軟體基金會,公司。
作者:Randy Smith、Paul Rubin、Robert Chassell、
Leonard H. Tower Jr.、Richard Stallman 和 Opus Goldstein
插圖:Etienne Suvasa
在任何媒體中,皆允許任何人製作或散佈本文件的逐字副本,前提是保留版權聲明和許可聲明,並且散佈者授予接收者進一步散佈的許可,如本聲明所允許。
什麼是自由軟體基金會?
自由軟體基金會致力於消除對電腦程式的複製、再散佈、理解和修改的限制。我們透過促進在電腦使用的所有領域中開發和使用自由軟體來做到這一點。具體來說,我們正在組建一個完整的整合軟體系統,稱為「GNU」(GNU's Not Unix),它將向上相容於 Unix。這個系統的一些大型部分已經在運作,我們現在正在散佈它們。
我們名稱中的「自由」一詞指的是兩個特定的自由:第一,複製程式並將其贈送給您的朋友和同事的自由;第二,透過完全存取原始碼,隨意更改程式的自由。此外,您可以研究原始碼並學習此類程式的編寫方式。然後,您或許能夠移植它、改進它,並與他人分享您的變更。
其他組織散佈任何可用的自由軟體。相比之下,FSF 專注於開發新的自由軟體,朝著構建一個足夠完整的 GNU 系統邁進,以消除購買專有系統的需求。
除了開發 GNU 之外,基金會還有次要職能:製作 GNU 軟體的磁帶和印刷手冊、執行散佈以及接受禮物以支持 GNU 開發。我們是免稅的;您可以從您的退稅中扣除給我們的捐款。我們的開發工作部分由捐款資助,部分由散佈費用資助。請注意,散佈費用僅購買散佈服務:您永遠不必向任何人支付許可費即可使用 GNU 軟體,並且您始終可以從朋友的電腦免費製作副本(前提是您的朋友願意)。
基金會還維護一個服務目錄:列出為 GNU 程式和系統的個人使用者提供付費服務的人員名單。服務可能意味著回答新使用者的問題、客製化程式、移植到新系統或任何其他事情。如果您想被列入名單,請與我們聯絡。
在我們建立程式後,我們會不斷更新和改進它們。我們每年針對各種程式發布 2 到 20 個更新。在開發新程式的同時執行此操作需要大量工作,因此我們始終感謝任何相關原始碼和文件、機器、勞動力或金錢的捐贈。
什麼是著作權保護(Copyleft)?
在文章「什麼是自由軟體基金會」中,我們聲明「您永遠不必向任何人支付許可費即可使用 GNU 軟體,並且您始終可以從朋友的電腦免費製作副本」。這究竟是什麼意思,我們如何確保它保持真實?
使程式自由的最簡單方法是將其置於公共領域。然後,從分享者那裡取得程式的人可以與其他人分享。但是,不良公民也可以做他們想做的事情:根據典型的「不要與您的鄰居分享」許可證銷售僅二進位版本。這樣一來,他們將享受原始程式自由的好處,同時又對使用者隱瞞這些好處。很容易發生大多數使用者以這種方式取得程式,而我們使程式對所有使用者都免費的目標將會被破壞。
為了防止這種情況發生,我們通常不會將 GNU 程式置於公共領域。相反,我們透過我們稱之為著作權保護(copyleft)的方式來保護它們。著作權保護是一種法律工具,它使每個人都可以自由複製程式,只要取得副本的人同時獲得散佈進一步副本的自由,以及修改其副本的自由(這意味著他們必須取得原始碼的存取權)。典型的軟體公司使用版權來剝奪這些自由;現在我們軟體分享者使用著作權保護來維護這些自由。
GNU 專案使用的著作權保護是由版權聲明和 GNU 通用公共許可證的組合構成的。版權聲明是通常的那種。通用公共許可證是一種複製許可證,基本上說明您擁有我們希望您擁有的自由,並且您不能從任何人那裡奪走這些自由。(實際文件包含我們律師說我們需要的幾頁相當複雜的法律術語。)所有 GNU 原始碼發行版和許多手冊中都包含完整許可證的副本,我們將應要求向您發送印刷副本。
GNU 在日本
作者:Mieko Hikichi
GNU 專案在去年 12 月在東京舉行的 Unix Fair 上的一個研討會中進行了介紹。本次研討會是 GNU 在日本的首次正式介紹。
我已將 GNU 公告翻譯成日語,並散發了 500 份。Yoshitaka Tokugawa 先生談論了什麼是 GNU、如何取得 GNU 軟體以及 GNU 許可證。隨後是 Handa Ken'ichi 先生關於日語版 GNU Emacs 的演講。
作為子程序的通用公共許可證
我們即將對通用公共許可證進行全面性的革命性變革。複製條款基本上保持不變,但用於體現這些條款的法律術語框架的架構將發生量子躍遷。
過去,每個受著作權保護的程式都必須在其中包含自己的通用公共許可證副本。通常,有必要修改許可證以提及其適用的程式名稱。其他想要著作權保護程式的人必須更多地修改文字,以將我們的名稱替換為他們的名稱。
為了更容易地著作權保護程式,我們一直在改進通用公共許可證的法律術語架構,以產生一個新版本,該版本充當通用子程序:它可以應用於任何程式而無需修改,無論誰發布它。所需要的只是程式本身中的簡短聲明,說明通用公共許可證適用。關於如何執行此操作的指示隨附在通用公共許可證中,因此您可以輕鬆地著作權保護您的程式。
我們也藉此機會明確表示,如果您收到的程式是根據早期版本獲得的,則通用公共許可證未來版本中的任何後續變更都不能剝奪您先前獲得的權利。
新版本即將發布;新的 GNU 程式和現有 GNU 軟體的新版本將參考它來指定其複製條件。
GNUsworthy 快訊
- 惠普公司的捐款 作為其使機器對學術使用者更具吸引力的計劃的一部分,惠普公司向我們捐贈了 10 萬美元。這筆錢是給我們的,以確保我們有資金租用幾年的辦公空間。當然,如果有人給我們辦公空間,我們可以使用這筆錢來僱用更多人。此外,該公司還支持 Michael Tiemann 在史丹佛大學將 G
++
移植到 Spectrum 的工作。 - 新機器 自 1988 年 6 月的上一期 GNUs Bull 以來,我們收到了三台新機器作為借用,三台作為禮物。Thinking Machine, Inc. 借給我們一台 Sun 4/110,英特爾借給我們一台 Intel 386。K. Richard Magill 送給我們一台 AT&T Unix PC,惠普公司除了上述資金外,還送給我們三台 Spectrum。這使得贈送或借給 FSF 的機器總數達到 13 台。
- BSD 的某些部分正在變得自由 在我們和其他人多年的敦促下,維護 Berkeley Unix 的人們已決定將其各個部分(那些不包含 AT&T 程式碼的部分)作為自由軟體單獨發布。這包括我們希望在 GNU 中使用的重要程式,例如 TCP/IP 支援以及可能的 C-shell。在 4.3 BSD-Tahoe 發行版中釋放的文件現在位於 Beta 測試磁帶上。此外,下一個版本的 Berkeley Unix 可能包含來自 GNU 專案的 Make、AWK 和 `sh',而不是來自 Unix 的那些。原因是 Berkeley 的人們希望在這些程式中獲得類似 system V.3 中的改進,但他們發現對 V.3 許可證的新限制令人反感。我們和他們都希望他們永遠不會獲得 V.3 許可證。我們可以透過提供替代軟體來幫助他們避免這種情況。GNU Make 已經支援 system V 功能,GAWK 也是如此。這兩個程式都在 Beta 測試中。
- Bison 手冊在這裡 UCSF 的 Dick Karpinski 為 Bison(我們的 Yacc 物種)手冊的可用草稿提供了 1000 美元的獎金。Chuck Donnelly 回應了一份草稿,我們已將其轉變為最終版本。Texinfo 原始碼隨附在發行版和 Beta 測試磁帶上。可以從基金會直接訂購精裝本。
- Ghostscript 狀態 Ghostscript,GNU 的自由 Postscript,正在散佈中。它現在正在 Beta 測試中。
- NeXT, Inc. 正在其機器上使用 GNU 軟體 NeXT 已決定使用 GNU Emacs、GCC、GAS 和 GDB 作為其標準作業系統的一部分;他們是第一家這樣做的電腦製造商。其他製造商也表示有興趣;我們正在等待進展。
- 暫停散佈 80386 軟碟 在我們擁有可運作的程式庫之前,我們將暫停調查 80386 機器的軟碟散佈。由於 80386 上的 system V 通常沒有程式庫,也沒有 C 編譯器、組譯器和連結器,因此我們認為在我們可以提供所有這些之前,這種散佈媒體是不值得的。這項工作正在進行中,但不會很快準備好。當我們有更多資訊時,我們將在
info-gnu
郵寄列表和gnu.announce
新聞群組中宣布。 - texi2roff 加拿大多倫多的 Beverly Erlebacher 編寫了 `texi2roff'。此程式將 GNU Texinfo 檔案翻譯成 Unix `[nt]roff' 程式可以列印的格式,利用 `mm'、`ms' 或 `me' 巨集套件。雖然我們不會維護此程式,但我們將其包含在我們的磁帶中,以便沒有 TeX 的人可以列印出我們的文件。
GNU 願望清單
本期希望徵求
- 志願者協助編寫實用程式和文件。一個重要的程式設計專案是為 GCC 編寫 Fortran 編譯器前端;特別需要的文件包括 Ghostscript 和 FLEX 的手冊。
- FSF 正在尋找額外的全職人員來從事 GNU 專案,包括程式設計師和技術作家。我們正在尋找一些優秀的實體(男性或女性,碳基或矽基)以激進工資工作。您必須位於麻薩諸塞州劍橋市,或能夠與我們保持良好的電子通訊。如果您有興趣,請聯絡
rms@wheaties.ai.mit.edu
或寄信至 Richard Stallman c/o Free Software Foundation。 - 肯德爾廣場或周圍的辦公空間(借用或捐贈)。
- 可能有興趣贊助研究助理職位,以全額或部分 FSF 支持進行 GNU 開發,或接待 FSF 員工的教授。
- 一如既往的金錢。請記住,捐款可免稅。有了最新的捐款,我們已經能夠擴大員工隊伍。給我們少量資金的一種方法是訂購一兩個散佈磁帶。這可能不被視為稅務上的捐款,但對許多人來說,它可以作為一項業務費用。
- 一位擅長編譯器維護的人員,可以接替 RMS 進行 GCC 維護。這可能是一份全職工作。
- 有趣、好玩的 GNU 圖形。Ghostscript 原始碼或其他。有關更多詳細資訊,請參閱本期稍後的GNU “美工圖案”競賽。
- 提及 GNU 專案的報紙和雜誌文章的副本。將這些寄送到封面上的地址。
我對 GNU 許可證的看法
作者:Doug Lea
[本文摘自發佈到 info-g++
和 info-gcc
郵寄列表的文章,不一定代表自由軟體基金會的意見。--- 編輯]
我之前一直沒有公開參與關於 GNU 許可協議的法律後果的近期討論,因為 (1) 我不是律師,並且 (2) 我發現自己同意 Stallman 的決定,即非常謹慎地決定是否以及如何修改協議,以適應那些想要銷售可能或可能不被視為「衍生自」GNU 軟體作品的人,具體取決於「衍生自」的定義。
然而,Gilmore 和其他人最近的提案似乎要求我(不是 RMS 或 FSF)作為 GNU `libg++
' 的大部分作者做出個人回應。我想簡要概述一下為什麼我支持 FSF 的目標,以及具體而言,協議,其方式僅間接地與法律原則有關。
我首先是一位文科大學的教師。因此,我支持「自由」傳播思想。從歷史上看(請原諒任何為了滿足我的需求而對歷史事實的歪曲,但這就是歷史的目的!),智慧財產權被允許廣泛傳播(讀作「教學」)的主要工具,同時又讚揚創始人並保護作品免受腐敗、錯誤歸屬等影響,一直是版權的概念。由於這些原因,版權法的引入被廣泛認為是加速智力和科學進步的重要一步。
可悲的是,在電腦科學領域,這種解決方案並沒有很好地站穩腳跟。雖然在許多學科中,用於學習的受版權保護作品的價格在那些最能從中受益的人的承受範圍內(例如,「戰爭與和平」的副本可能是 5 美元,甚至 50 美元,但不是 50,000 美元),但在大多數情況下,電腦的經濟學已將受版權保護的軟體定價在學生(和大多數其他人)的承受範圍之外。大多數讀者都會同意,研究高品質的現有程式是學習程式設計藝術的更好方法之一。如今,人們不能合法地展示、討論和教授 Unix 或 Lotus 原始碼。
我相信 Stallman 的觀點,即版權的經濟學可以與其在保護和傳播智慧財產權中的作用分開,這與我們可能獲得的這種困境的解決方案一樣好。我們中的許多人,尤其是我們這些在學術界的人,實際上非常樂意花費一些時間和精力來編寫軟體,而無需任何直接的貨幣補償。出於各種原因。(例如,就我而言,使用 `libg++
',作為進一步研究物件導向程式設計的實務等等的一種手段。或者也許只是不可救藥的駭客行為。無論如何。)
現在,我和許多其他人,我懷疑,並不十分擔心維護此類作品的正確作者身分等。GNU 許可協議之所以具有吸引力,主要是因為它使我打算可存取的作品保持可存取性,而且通常還提供版權所產生的所有其他好處,但僅僅將作品置於「公共領域」並不會提供這些好處。
不幸的是,GNU 協議目前阻礙了那些必須擔心經濟後果的誠實程式設計師以誠實的方式使用此類作品。我個人希望做出完全正確的調整,以允許公平和明智的使用,同時維護使 GNU 解決方案運作的理想。這樣做涉及許多棘手的法律問題。我確實希望 Stallman 能夠盡快找到這樣的解決方案,以使其他方法變得不那麼有吸引力,但又不會倉促到損害 FSF 的目標(我確信他不會這樣做)。
GNU 文件
作為 GNU 系統一部分散佈的軟體始終附帶線上文件和印刷手冊的原始碼。提供線上文件是因為印刷文件通常放錯地方或在您需要時被其他人閱讀;並且因為在許多情況下,在互動式線上幫助系統中找到您需要的資訊片段更容易。同時,提供印刷文件是因為它通常更容易閱讀或更受歡迎。
當 GNU 文件被列印時,它會作為排版書籍生成,其中包含章節、索引、交叉引用等。線上文件是一個選單驅動的系統,它也使用索引和交叉引用。
然而,GNU 文件不是編寫兩個不同的文件,一個用於線上文件,另一個用於印刷手冊,而是為兩種用途使用單個 Texinfo 原始檔。這節省了編寫兩個不同文件的精力,並意味著當系統修訂時,只需修訂一個原始檔。
由於單個 Texinfo 原始檔用於雙重任務——建立線上文件和印刷手冊——因此必須以特殊格式編寫,以便印刷手冊的章節和節與線上文件的節點相對應,並且索引和交叉引用將與各種選單相對應。
為了製作印刷手冊,Texinfo 原始檔透過 TeX 排版程式處理。為了使用 GNU Emacs 製作線上文件,Texinfo 原始檔使用 M-x texinfo-format-buffer 命令處理;產生的 Info 檔案安裝在您透過鍵入 C-h i 到達的「info」目錄中。
(自由軟體基金會散佈的非 GNU 軟體並不總是具有 Texinfo 文件,儘管我們鼓勵每個人都使用它來記錄。)
以下所有手冊(我們目前在磁帶上散佈)也以精裝本形式從基金會取得;請參閱內封底的訂購單。
- Emacs 手冊 Emacs 手冊 描述了如何使用 GNU Emacs。該手冊不僅解釋了 Emacs 的編輯功能,還解釋了進階功能,例如大綱模式和正規表示式搜尋。該手冊說明了如何使用用於 C 和 Lisp 等語言程式設計的特殊模式、如何使用標籤實用程式,以及如何編譯和更正程式碼。它還描述了如何製作自己的按鍵綁定並進行其他基本自訂。
- Texinfo 手冊 Texinfo 手冊 描述了如何以 Texinfo 原始碼編寫文件。它描述了用於從同一個原始檔建立 Info 檔案和印刷文件的標記語言:如何製作表格和列表、如何製作章節和節點、如何製作索引和交叉引用。該手冊還描述了如何在 GNU Emacs 中使用 Texinfo 模式以及如何捕捉錯誤。
- Termcap 手冊 Termcap 手冊 通常被描述為「您想了解的 Termcap 資訊的兩倍」。該手冊描述了 Termcap 資料庫的格式、終端機功能的定義以及如何尋找和詢問終端機描述。本手冊主要供程式設計師使用。
- Bison 手冊 Bison 手冊 描述了如何編寫語法描述,Bison 可以將其轉換為可以解析該語法的 C 程式。它描述了概念,然後提供了一系列越來越複雜的範例,然後詳細描述了發生了什麼。
- GDB 手冊 GDB 手冊 解釋了如何使用 GNU 除錯器。它描述了如何在除錯器的控制下執行您的程式、如何檢查和更改程式中的資料,以及如何修改程式中的控制流程。它還解釋了如何透過 GNU Emacs 使用 GDB,並自動顯示原始碼行。
- GAWK 手冊 GAWK 手冊 描述了如何使用 GNU 版本的 AWK。它是為從未用過 AWK 的人編寫的,並描述了這種功能強大的字串操作語言的所有功能。
- Make 手冊 Make 手冊 描述了 GNU Make 實用程式,這是一個用於在需要時重新編譯其他程式部分程式。該手冊說明了如何編寫 Makefile,其中描述了如何重新編譯程式的各個部分以及它們如何相互依賴。
GNU 計劃狀態報告
-
GNU Emacs GNU Emacs 18 現在正在散佈中。它已廣泛用於多種 BSD 4.2 和 4.3 系統以及 system V、VMS 和 Apollo Domain 上。目前版本 18.52 新增了對 80386、Sun 4、Convex、IRIS 4D 和 HP 9000 series 800 的支援;也支援 system V.3。Berkeley 正在 4.3 發行版中散佈 GNU Emacs,DEC 正在 Vaxes 上的 Unix 系統中散佈它,NeXT 正在發布它。Emacs 18 的維護即將完成,版本 19 正在開發中。到目前為止的新功能包括多個 X 視窗、捲軸、每個緩衝區重新定義滑鼠命令、支援歐洲字元集、Emacs Lisp 的原始碼級除錯以及浮點數。計劃中可能的新功能包括
- 將屬性列表與緩衝區中文字的部分關聯。
- 使用屬性來控制哪些文字是可見的。
- 多個顯示一個緩衝區的視窗的不同可見性條件。
- 各種程式設計語言的增量語法分析。
- 物件導向的圖形繪圖擴展。
- 如果點移動到一定範圍之外,則執行的鉤子。
- 改進的 GAWK 可用 David Trueman 編寫了 GAWK 的新 System V 擴展,結果現在可在 Beta 磁帶上取得。同時,GAWK 的手冊即將問世。
- Shells Brian Fox 現在已經完成了 GNU 版本的 `sh',稱為 `Bourne Again Shell'。除了 Korn shell 功能外,它現在還具有作業控制以及 Emacs 風格和 `csh' 風格的命令歷史記錄。BSD 的 C Shell 很有可能被宣布為自由軟體,因此我們不需要編寫它。
- 核心 我們希望使用 CMU 開發的 MACH 訊息傳遞核心。目前版本的 MACH 不是自由的,也不可能自由,因為它包含來自 BSD 的檔案系統程式碼。然而,MACH 開發人員表示,所有這些都將被自由程式碼取代,或至少移動到使用者進程中,然後 MACH 將會自由。此版本的 MACH 應該會在幾個月後發布(截至 1988 年 12 月)。如果 MACH 無法取得,那麼我們可能會從 MIT 的 TRIX 核心或 Berkeley 的 Sprite 系統開始開發 GNU 核心。TRIX 是一個遠端程序調用核心,它以大約版本 7 的級別執行並支援基本的 Unix 相容性。因此,它需要許多額外功能。Sprite 主要處於 BSD Unix 的架構級別,但具有精美的分散式檔案系統和進程遷移。我們正在考慮的一件事是調整 Berkeley 的 Sprite 核心中的檔案系統以用於 MACH。從一開始,這個檔案系統就被設計為以分散式方式運作。檔案系統是 MACH 中需要更換的最大部分,現在 Berkeley TCP/IP 程式碼(也在 MACH 中使用)已被宣布為自由程式碼。
- GNU 除錯器 GNU 原始碼級 C 除錯器 GDB 現在與 Emacs 版本 18 一起散佈。目前,它在 Vaxes 和 Suns 上的 BSD 4.2 和 4.3 下執行。它也可以獨立執行,因此我們可以使用它來除錯核心。可能會新增乙太網路除錯模式。正在進行多進程並行程式的除錯工作。GDB 對 32000 的支援在目前版本中。GDB 現在可以讀取 COFF 可執行檔,並且剛剛開始在 system V 上運作。最近發布用於測試的 GDB 3.0 可以增量讀取符號表;這可以大大加快啟動速度並減少記憶體使用量。它還具有 C
++
支援,並且可以在 80386 和 Sun 4 以及某些 Gould 機器上執行。未來版本的 GDB 可能支援監看點和使用識別碼完成功能的命令編輯。 - C 編譯器 GNU C 編譯器 GCC 現在幾乎相當可靠。它支援 1988 年 5 月的 ANSI C 草案。人們仍在回報錯誤,但他們也表示他們認為錯誤比商業編譯器少。其中一些錯誤是由 John Gilmore 發現的,他一直在用 GNU C 編譯所有 BSD Unix。一篇比較 GCC 和兩種商業 C 編譯器的評論,刊登在 1988 年 3 月號的 Unix Review 雜誌上。此編譯器執行自動暫存器分配、通用子表達式消除、迴圈不變程式碼外提、歸納變數最佳化、常數傳播和複製傳播、延遲彈出函數呼叫引數、尾端遞迴消除,以及許多從機器描述自動推導出的區域最佳化。支援的 CPU 包括 680x0、Vax、32x32、80386、Sparc (Sun 4)、SPUR 和 Alliant。適用於 Convex、IBM 370、IBM PC/RT、3b2、某種 Gould 機器、HP Spectrum、AMD 29000、MIPS RISC 晶片和 Motorola 88000 的移植正在進行中。GCC 生成的 68020 程式碼比新的 Sun 編譯器使用 -O 生成的程式碼更短、更快。儘管花費的時間是 3 倍,但新的 Sun 編譯器仍然無法擊敗 GCC。截至 1.31 版,GCC 在 Sun 4 上也勝出。GCC 生成的 Vax 程式碼比 Tartan C 編譯器使用 -O4 生成的程式碼更短,但我們還沒有能夠比較該程式碼的執行速度。據說 Michael Tiemann 在 Sequent 32000 系統上完成的 National 32000 移植,比 Sequent 的編譯器更可靠,並且對於包括 Prolog 直譯器在內的幾個程式,效能提升了 40%。未來,如果我們有時間,我們希望實作更多語言擴充功能,以及預編譯標頭檔的功能,以便在標頭檔很大而原始碼檔案很小時節省時間。我們也可能開發一些其他語言前端,但似乎遠端的 GNU 使用者對此有足夠的興趣,我們不妨將其留給他們。包含足夠的內部文件,供有興趣將編譯器重新定向到其他 CPU 的人員使用。
- 適用於 VMS 的 GNU C David Kashtan 來自 SRI,他厭倦了 VMS C 編譯器的缺點,決定花幾個星期的時間讓 GNU C 在 VMS 上運行。在進行了相當大的變更以符合 VMS C 編譯器之後,他使其運行起來,並能夠移除大部分變更。VMS 支援程式碼現在是常規編譯器發行版的一部分。普通的 VMS C 編譯器(即使您有)也有錯誤,因此無法編譯 GNU C:您需要 GNU C 的可執行檔。我們提供包含 GNU C 的 VMS 二進位檔(以及原始碼)的磁帶,以便您可以開始使用。目前在 VMS 上運行的其他 GNU 程式包括 GNU Emacs 和 Bison。請不要要求我們投入精力來提供額外的 VMS 支援,因為這對 GNU 專案來說是周邊的。我們合併並支援使用者完成的 VMS 移植,因為很難拒絕傳遞其他人已完成的工作。但即使變更很乾淨,這也會從我們的真正目標中消耗相當大的精力,我們的真正目標是產生一個完整的整合系統。(當它們不乾淨時,我們會鼓起勇氣忽略它們。)合併 VMS GNU Emacs 並重新組織變更以簡化未來維護,即使「實際工作」是由其他人完成的,也花費了數週時間。我們希望我們已經學會不要再讓這種情況發生。
- COFF 支援 現在可以在 System V 上運行整套 GNU 軟體工具,完全取代 COFF。首先,您安裝 GNU 編譯器、組譯器、連結器和其他公用程式。然後您使用程式「Robotussin」---您電腦的 COFF 藥物---將系統函式庫從 COFF 格式轉換為 GNU(即 BSD)格式。當您編譯程式時,您將獲得普通的 GNU/BSD 目標檔案。將這些檔案與 GNU 連結器連結將產生 GNU/BSD 可執行檔,其中包含少量的 COFF 標頭材料來封裝它們,以便核心可以運行它們。其他 GNU 公用程式,例如 `size'、`nm' 和 `strip',知道如何操作這些封裝的檔案。我們沒有時間在這些公用程式中實作甚至維護實際的 COFF 支援。完成 GNU 系統對我們來說更重要。
-
與編譯器相關的程式
- C
++
史丹佛大學的 Michael Tiemann(曾任職於 MCC)撰寫了一個 C++
編譯器,作為 GNU C 的擴充功能。這是第一個直接編譯 C++
而不是將其預處理為 C 的編譯器。一篇比較 G++
和兩種商業 C++
編譯器的評論,刊登在 1988 年 11 月號的 Unix Review 雜誌上。高分讓我們相信現在是開始 Beta 測試的時候了,因此 C++
現在已包含在 Beta 磁帶中。我們目前正在努力將其與 C 編譯器整合;設計問題已解決,合併版本可能會在 2 月底發布。GDB 3.0 版包含對 C++
程式碼除錯的支援,這將使 GDB+
程式過時。 - 組譯器 我們有一個部分可移植的單趟組譯器 GAS,它的速度幾乎是 Unix 組譯器的兩倍。它現在適用於 Vax、680x0、32x32 和 80386。將其移植到其他機器應該不難。
- C
++
函式庫 Doug Lea 正在撰寫 `libg++
',這是一個包含 C++
實用類別支援的函式庫。 - 目標檔案公用程式 用於取代 `ld'、`nm'、`size'、`gprof'、`strip'、`ranlib' 等的 GNU 替代程式,最近已作為 GCC 測試發行版的一部分發布以供測試。GNU 連結器 `ld' 的運行速度明顯快於 BSD 版本。我們的 `ld' 是唯一一個可以為多重定義符號和未定義參考提供原始碼行編號錯誤訊息的連結器。
- `gprof' 替代程式 基金會員工 Jay Fenlason 完成了一個與 GNU C 相容的效能分析器,與 Berkeley Unix 的 `gprof' 相容。它現在位於二進位檔案公用程式發行版中。
-
GNU Make 擴充版 我們已經發行 GNU Make 幾個月了。一個擴充版本,包含更多文字處理功能和靜態規則,將很快發布。以下是一個 GNU Makefile 如何說明檔案 `foo' 是從目前目錄中所有 C 原始碼檔案的目標檔案連結而成的範例
objects:=$(subst .c,.o,$(wildcard *.c)) foo: $(objects) $(CC) -o foo $(objects) $(LDFLAGS)
GNU Make 也支援平行處理。 - C 函式庫 Roland McGrath 為 GNU Make 貢獻良多,他擁有一套幾乎完整的 ANSI C 函式庫函數。我們希望它們將在今年春季的某個時候準備就緒。這些函式庫加入了已經存在一段時間的 GNU `malloc'、`regexp' 和 Termcap 函式庫。一個更新、更好的 `malloc' 可能很快就會被撰寫出來。同時,Steve Moshier 貢獻了一整套數學函式庫函數。
- C
-
初步 Ghostscript 可用 我們剛剛開始發行 Ghostscript,這是一個免費的 GNU 軟體,它提供了 Postscript 直譯器幾乎所有的功能。它支援 X 版本 11。Peter Deutsch 仍在對其進行一些工作。5~ 目前,Ghostscript 將接受 Postscript 中的命令,並透過在 X 視窗上繪圖來執行它們。它需要增強功能
- 以作為多頁檔案的預覽器。
- 以透過在其視窗上繪圖來為其他 X 用戶端提供服務。
- 以提高效能和輸出視覺品質。
- 更多字型。
- Finger 我們很快就會有一個基於守護進程的 Finger 程式。該守護進程輪詢一組選定的主機,因此能夠告訴您每個人登入的位置。
- Send 我們現在正在試用一個 Send 程式,用於向同一台機器或其他機器上的其他使用者發送即時訊息。
- GNU 郵件程式 Amdahl 的 Landon Noll 和 Ronald Karr 正在撰寫一個名為 `smail' 的郵件佇列和傳遞系統。這個專案將成為 Amdahl UTS 系統的受支援部分——並且它將以與 GNU Emacs 完全相同的條款提供!我們可能會將此郵件程式用於 GNU 系統,或者另一個郵件程式 `zmailer',Rayan Zachariasen 正在撰寫它,或者兩者的組合。
- 視窗系統 我們計劃使用 MIT 撰寫的 X 視窗系統。此系統已經免費提供。
- 其他公用程式 GNU `ls'、AWK、Make 和 `ld' 都在常規使用中。我們免費的 Yacc 替代程式稱為 Bison。我們也有 `cron'。我們現在擁有世界上最快的 `grep'/`egrep' 和世界上最快的 `diff'。一個新的快速 `sort' 剛剛完成。一個名為 FLEX 的「快速 lex」最近可用;我們現在正在發行它。
- 文件系統 我們現在有一對真正相容的程式,可以將 Texinfo 格式的文件轉換為印刷手冊或 Info 檔案。請參閱本期稍早的GNU 文件以獲取更多資訊。
- 可能的目標機器 GNU 作業系統將需要一個使用 32 位元位址和整數,以及位址到 8 位元位元組的 CPU。1 MB 的核心記憶體應該足夠,儘管 2 MB 可能會使效能有顯著提升。在 1/2 MB 的記憶體中運行系統的某些部分可能是可能的,但肯定不包括 GNU Emacs。GNU Emacs 需要超過 1 MB 的可定址記憶體。我們預計將需要虛擬記憶體。硬碟將是必不可少的;至少需要 20 MB 來容納最小系統。當然,還需要更多空間來存放使用者的檔案。我們建議個人 GNU 系統至少需要 80 MB。這並不是說不可能將 GNU 的某些或全部內容改編為其他類型的機器;但這可能很困難,而且我們不認為減少這種困難是我們工作的一部分。我們對任何特定型號的微電腦都沒有任何評論,因為我們不關注硬體產品。
- 移植 現在詢問有關移植 GNU(GNU Emacs 和 GNU C 除外)還為時過早。首先,我們必須完成它。
GNU “美工圖案”競賽
我們正在尋找可自由重新發行的藝術作品和圖形,以增強我們的出版物。藝術作品應與 GNU 專案或自由軟體運動有關。對於我們發表的每件藝術作品,我們提供藝術家選擇的 GNU 手冊一本。歡迎 Ghostscript 原始碼或更傳統的媒體。請將投稿寄至封面上的地址之一。感謝亞利桑那大學的 Icon Project 提出舉辦此競賽的想法。
現已提供的 GNU 軟體
我們現在提供三種 Unix 軟體原始碼發行磁帶,以及用於 GNU Emacs 和 GNU C 的 VMS 磁帶,其中包括原始碼和 VMS 可執行檔。第一張 Unix 磁帶(稱為「發行版」或「Emacs」磁帶)包含 GNU Emacs 以及我們認為可靠的各種其他經過良好測試的程式。第二張(「Beta 測試」或「編譯器」)磁帶包含 GNU C 編譯器和相關公用程式,以及其他測試較少的新程式。第三張(「X11」)磁帶包含來自 MIT X Consortium 的 X11 發行版。直到最近,此軟體才在 Beta 測試磁帶上提供,但 X11 發行版的第三個版本太大,無法放入此磁帶。有關媒體等的詳細資訊,請參閱訂購單。
發行磁帶的內容
- GNU Emacs 1975 年,Richard Stallman 開發了第一個 Emacs:可擴充、可自訂的即時顯示編輯器。GNU Emacs 是他對 Emacs 的第二次實作。它是 Unix 系統上第一個提供真正 Lisp 的 Emacs,與編輯器順利整合,用於編寫擴充功能。它還為 MIT 的免費 X 視窗系統(版本 10 和 11)提供了一個特殊的介面,這使得重新顯示速度非常快。目前版本是 GNU Emacs 18.52;版本 18.53 應該在本公告發布時發布。GNU Emacs 自 1985 年以來已廣泛使用,並且經常取代 Emacs 的專有實作,因為它具有更高的可靠性以及良好的功能和更輕鬆的可擴充性。GNU Emacs(截至 18.52 版)已在多種 Unix 系統上運行:Alliant(系統版本 1 至 4)、Altos 3068、Amdahl (UTS)、Apollo、AT&T (3b 機器和 7300 pc)、CCI 5/32 和 6/32、Celerity、Convex、Digital (Vax,非 PDP-11;BSD 和 SysV)、Dual、Elxsi 6400、Encore (DPC 和 APC)、Gould、HP (9000 系列 200、300 或 800 (Spectrum) 但非 500 系列)、HLH Orion 1/05、IBM (RT/PC 運行 4.2 和 AIX)、Integrated Solutions (Optimum V with 68020 and VMEbus)、Intel 80386 (BSD、SysV 和 Xenix)、Iris (2500、2500 Turbo 和 4D)、LMI (Nu)、Masscomp、Megatest、MIPS、NCR (Tower 32)、Nixdorf Targon 31、Plexus、Pyramid、Sequent Balance、SONY News、Stride (系統版本 2)、Sun (任何種類)、Tahoe、Tektronix (NS16000 系統 & 4300)、Texas Instruments (Nu)、VAX (BSD、SysV、VMS) 和 Whitechapel (MG1)。GNU Emacs 的使用在 GNU Emacs 手冊中有所描述,該手冊以 Texinfo 檔案形式隨軟體提供。您可以在 Info 形式中線上閱讀,或列印出自己的副本。也可以從自由軟體基金會獲得排版的手冊。
- Texinfo Texinfo 是用於所有 GNU 手冊的文件系統。文件以簡單的格式化語言編寫,可以使用一組特殊的 TeX 巨集生成印刷手冊,或可以使用 Info 瀏覽器閱讀的線上結構化文件。Texinfo 隨附一份新擴充的教學手冊,介紹如何使用 Texinfo 編寫文件。
- GDB GDB(GNU 除錯器)是 1986 年為 GNU 專案編寫的原始碼級 C 除錯器。它提供了 Unix 除錯器中通常找不到的許多功能,例如歷史記錄,用於記錄在除錯器中檢查的所有值,以便於以後簡潔地參考、多行使用者定義命令以及強大的自我文件功能。它目前在 4.2 和 4.3bsd 下的 Vax、系統版本 2 和 3 和 4 下的 Sun 3、系統版本 3.2 和 4.0 下的 SPARC (Sun 4)、HP9K320、ISI、Merlin、Sony NEWS、Gould NPL 和 PN、i386 以及某些 32000 系統上運行。GDB 的線上說明和使用者手冊隨軟體一起提供;手冊的印刷版也可以從基金會獲得。
- Bison Bison 是 Yacc 的向上相容替代剖析器產生器,具有額外功能。它已經使用了好幾年。Bison 用於編譯 GNU C,因此它也包含在 GNU CC Beta 磁帶中。Bison 的使用者手冊隨軟體一起提供;印刷版也可以從基金會獲得。
- X 視窗系統 X 視窗系統的版本 10 在 GNU Emacs 磁帶上發行;版本 11(完全不相容)在 X11 磁帶上發行。Emacs 18.52 版同時支援版本 10 和 11。
- MIT Scheme Scheme 是一種簡化的、詞彙作用域的 Lisp 方言,由 MIT 和其他大學設計,用於兩個目的:教授程式設計學生,以及研究新的平行程式設計結構和編譯技術。MIT Scheme 以 C 語言編寫,可在多種 Unix 系統上運行。它現在符合「演算法語言 Scheme 修訂版^3 報告」(MIT AI Lab Memo 848a),TeX 原始碼包含在發行版中。
- T T 是在耶魯大學開發的 Scheme 變體,旨在用於程式開發的生產用途。T 包含一個原生程式碼最佳化編譯器,可以產生以與傳統語言編寫的程式的運行速度相當的速度運行的程式碼。它在 BSD Vax 和少數幾種類型的 68020 系統上運行。T 是用自身編寫的,如果沒有二進位檔(包含在內)就無法啟動,但如果您可以使用它,那就太好了。發行版中包含一些文件檔案。
- GNU Chess 和 Hack GNU Chess 是一個由 John Stanback 和 Stuart Cracraft 用 C 語言編寫的西洋棋程式。它包含一個廣泛的開局棋譜,並且最近由 USCF 高階大師 IM Larry Kaufman 在 Sun 3 工作站上運行時評級為 USCF 1950 左右(接近專家級)。在 Sun 4 上,它應該可以達到接近大師級的水平。Hack 是一個面向顯示的冒險遊戲,類似於 Rogue。
Beta 測試磁帶的內容
此磁帶上的程式都是最新發行版,可以認為處於使用者測試的各個階段。與往常一樣,我們徵求您的意見和錯誤報告。此磁帶也稱為編譯器磁帶。
- GNU CC GNU C 編譯器是一個相當可移植的最佳化編譯器。它可以為 32000、680x0、80386、Alliant、SPARC、SPUR 和 Vax CPU 生成良好的程式碼。使用這些 CPU 的機器包括 Encore NS32000、Genix NS32000、Sequent NS32000、AT&T 3b1、HP-UX 68000/68020、ISI 68000/68020、Sony NEWS、所有 Sun's、Intel 386、Sequent Intel 386、Alliant FX/8 和 Vax 機器。它支援截至最新草案標準的完整 ANSI C。編譯器隨附 GNU 組譯器 GAS、Make、Bison(也在 Emacs 發行磁帶上)和 perfect-hash 雜湊表產生公用程式,以及目標檔案公用程式 `ld'、`nm'、`size'、`strip'、`ar'、`ranlib' 和 `gprof' 以及 GCC 手冊 的 Texinfo 原始碼(適用於有興趣擴充或重新定向編譯器的人員)。
- GAWK 和 FLEX GAWK 是 GNU 版本的 Unix AWK 公用程式。FLEX 是 Unix `lex' 掃描器產生器的主要相容替代程式,由 Lawrence Berkeley 實驗室的 Vern Paxson 編寫。FLEX 產生的掃描器比 `lex' 效率更高。
- `tar' GNU tar 包括多卷支援、自動壓縮和解壓縮封存檔、遠端封存檔以及特殊功能,允許 `tar' 用於檔案系統的增量和完整備份。
- 來自 U.C. Berkeley 4.3-tahoe 發行版的 Freed 檔案 這些檔案已被 Berkeley 聲明為不包含 AT&T 程式碼,並且可以自由重新發行。它們包括一些公用程式程式和遊戲的完整原始碼,以及函式庫常式和許多其他程式的部分原始碼。
- `diff' 和 `grep' 這些程式是 GNU 版本的同名 Unix 程式。它們比其 Unix 對應程式快得多。
- Ghostscript、`gnuplot' 和 `texi2roff' Ghostscript 是 GNU 的圖形語言。它幾乎與 postscript 語言完全相容。它支援 X 版本 11。`Gnuplot' 是一個用於繪製數學表達式和資料的互動式程式。奇怪的是,該程式既不是為 GNU 專案製作的,也不是以 GNU 專案命名的——這個名字純屬巧合。但是,我們現在正在發行它。`texi2roff' 將 GNU Texinfo 檔案轉換為可以使用 Unix [nt]roff 程式列印的格式,利用 mm、ms 或 me 巨集套件。包含它是為了讓沒有 TeX 副本的人可以列印出 GNU 文件。
- `g++', `libg++' 和 `oops' G
++
是 GCC 的前端,用於編譯 C++
,這是一種與 C 向上相容的物件導向語言。由於 G++
依賴於 GCC,因此只能與相應版本的 GCC 一起使用。libg++(GNU C++
函式庫)是一個 C++ 類別和支援工具的集合,用於 G++
。OOPS(物件導向程式支援)類別函式庫是由 NIH 的 Keith Gorlen 使用 C++
程式設計開發的可移植類別集合,類似於 Smalltalk-80 中的類別。
X11 磁帶的內容。
X 是一個可移植、網路透明的視窗系統,適用於 MIT 和 DEC 編寫的點陣圖顯示器。它運行 Sun、DEC VAXstation 和各種其他目前的點陣圖顯示器。X 支援重疊視窗和完全遞迴的子視窗,並為幾種不同風格的使用者介面提供掛鉤。應用程式包括終端機模擬器、點陣圖編輯器、多個視窗管理器、時鐘、視窗轉儲和取消轉儲程式以及多個排版預覽器。
X11 磁帶包含 MIT/DEC X 視窗系統的版本 11,發行版 3。X11 比不再支援的版本 10 更強大,但不相容。MIT 不再將版本 11 標記為「Beta 測試版」,但仍在發行頻繁的修補程式和更新。
VMS Emacs 和編譯器磁帶
我們提供 GNU Emacs 編輯器的 VMS 備份磁帶,以及包含 Beta 測試版 GNU C 編譯器的單獨磁帶。VMS 編譯器磁帶還包含 Bison(編譯 GCC 所需)、GAS(組譯 GCC 輸出所需)以及一些函式庫和包含檔案。這兩張 VMS 磁帶都包含您可以從中啟動的可執行檔。
如何取得 GNU 軟體
自由軟體基金會的所有軟體和出版物均經許可發行,可供複製和重新發行。取得 GNU 軟體副本的最簡單方法是從其他擁有它的人那裡取得。只需從他們那裡複製即可。
如果您可以訪問網際網路,您可以從主機 `prep.ai.mit.edu' 取得最新的軟體。如需更多資訊,請閱讀該主機上的檔案 `/u2/emacs/GETTING.GNU.SOFTWARE'。
如果您無法從朋友或網路上取得軟體,或者如果您想更放心地直接從我們這裡取得副本,或者如果您想為我們的努力貢獻一些資金,自由軟體基金會會收取複製和發行費發行磁帶。請參閱內頁封底上的訂購單。
如果您無法訪問網路,並且您的電腦無法使用我們發行的媒體,您必須從第三方團體(不與我們合作但以其他形式擁有我們軟體的人員和組織)取得我們的軟體。為了您的方便,以下列出了其他正在幫助傳播 GNU 軟體的團體。請注意,自由軟體基金會與他們沒有任何關聯,也不對其版本的時效性或回應的迅速性負責。
這些網際網路站點有一些 GNU 程式可透過匿名 FTP 取得
louie.udel.edu, scam.berkeley.edu, spam.istc.sri.com, bu-it.bu.edu, uunet.uu.net, nic.nyser.net, wsmr-simtel20.army.mil (under `PD:<Unix.GNU>'), and cc.utah.edu (VMS GNU Emacs).
SPAN 網路上的使用者可以詢問 rdss::corbet
。
有關如何使用 UUCP 取得某些 GNU 程式的資訊可透過電子郵件從以下網址取得
hao!scicom!qetzal!upba!ugn!nepa!denny, arnold@skeeve.UUCP, uunet!hutch!barber, hqda-ai!merlin, acornrc!bob, ames!killer!wisner, mit-eddie!bloom-beacon!ht!spt!gz, sun!nosun!illian!darylm, or postmaster@uunet.uu.net.
俄亥俄州立大學也透過 UUCP 提供 GNU 程式。他們每月將其說明張貼到 USENET 上的新聞群組 comp.sources.d
。目前詳細資訊來自 Karl Kleinpaste karl@tut.cis.ohio-state.edu
或 ...!osu-cis!karl
;或 Bob Sutterfield(在上述地址中用 bob
替換 karl
)。
有關取得適用於 AT&T Unix PC(又名 3B1 或 PC7300)的 GNU Emacs 軟碟的資訊,可透過電子郵件從以下網址取得:brant@manta.pha.pa.us
。
感謝 GNUs
感謝 GNUsworthy Flashes 和 GNU 專案狀態報告中提及的所有人員。
感謝 Hewlett-Packard 的巨額現金捐款和兩台 Spectrum 工作站。
感謝 MIT 電腦科學實驗室及其主任 Michael Dertouzos 教授。LCS 為 FSF 提供了 Microvax 的貸款,用於程式開發。
感謝 MIT 人工智慧實驗室提供各種寶貴的協助。
感謝 T. Smith 博士、Dave Probert 以及 UCSB 的 CS 系,為 GNU 工作人員 Brian Fox 提供了資源和空間,並特別感謝 Brian 對 Matt Wette 的寶貴幫助和支持。
感謝 Thinking Machines, Inc. 的 Brewster Kahle 借給我們一台 Sun 4/110。
感謝 K. Richard Magill 捐贈了一台 AT&T Unix PC。
感謝 Arnold Robbins 和 Dave Trueman 在 GAWK 和 GAWK 手冊方面的工作。
感謝 Index Technology 的 Barry Kleinman 和 Andre Mesarovic 複製 Sun 卡匣磁帶,以及 Phoenix Technologies Ltd. 的 Mark Nahabedian 在最後一刻複製 Sun 卡匣磁帶。
感謝 MIT INFOODS 專案的 John Klensin 製作我們的 VMS 主磁帶。
感謝東京的 Sony Corp. 和 Software Research Associates, Inc. 向我們發送 Sony 工作站。SRA 還向我們捐贈了現金,並借給我們一名全職程式設計師和一名技術作家。
感謝 NeXT, Inc. 的現金捐款。
感謝卡內基美隆大學電腦科學系的 Mach 專案,借給我們一台 Sun 3/60 和 300 MB 磁碟機。
感謝所有為移植和擴充功能做出貢獻的人,以及所有為其他原始碼、文件和良好的錯誤報告做出貢獻的人。
感謝那些寄錢並提供幫助的人。也感謝那些透過訂購 Emacs 手冊和發行磁帶來支持我們的人。
製作此公告是我們感謝所有對我們正在做的事情表示興趣的人的方式。
------- | | Free Software Foundation, Inc. | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139 USA | here | | | -------