GNU 公告,第 1 卷第 4 期,1988 年 2 月

目錄


GNU 公告是由自由軟體基金會不定期發行的電子報,為您帶來關於 GNU 專案的新聞。

請注意: 我們已搬遷到新的地址
自由軟體基金會,     電話:(617) 876-3296
麻薩諸塞州劍橋市麻薩諸塞大道 675 號,     電子郵件:gnu@prep.ai.mit.edu
Cambridge, MA 02139 USA

GNU 是誰

GNU 團隊在過去幾個月中擴大了規模:Brian FoxOpus Goldstein 加入了 Jay Fenlason,成為基金會僅有的員工。最近,Brian 創建了一個獨立的 texinfo 格式器和瀏覽器,現在正在開發 shell 程式 sh。Stacey 負責郵件室的運作,分發磁帶和手冊,以及處理所有程式設計師不做的事情(例如,與「真實」世界互動)。Jay Fenlason 剛剛完成了效能分析器,現在正在開發各種實用程式。

Richard Stallman 繼續執行無數任務,包括改進 C 編譯器、GDB、GNU Emacs 等;他還編寫了 termcap 手冊和其他幾份文件。Robert J. Chassell 出版我們的手冊,並擔任基金會的財務主管。Chris Hofstader 已成為我們的募款人。(如果他向您募款,請不要感到驚訝。)最後,Len Tower 繼續處理電子管理事務(郵寄列表、資訊請求和系統管理)。

GNU 公告

版權所有 (C) 1988 自由軟體基金會有限公司。

編輯:Stacey (Opus) Goldstein、Robert J. Chassell、Leonard Tower Jr.

作者:Richard M. Stallman、Opus Goldstein、Michael Tiemann

插圖:Etienne Suvasa、Jean-Marie Diaz

訂購單:Karl Berry、Kathryn Hargreaves

在收到本文件的情況下,任何人均被授權製作或散布本文件的逐字副本,無論以任何媒介形式,前提是版權聲明和許可聲明均被保留,且散布者向接收者授予本通知允許的進一步散布許可。

什麼是自由軟體基金會?

作者:Richard M. Stallman

自由軟體基金會致力於消除對軟體的複製、散布、理解和修改的限制。

我們名稱中的「自由」一詞並非指價格;而是指自由。首先,是複製程式並將其散布給您的鄰居的自由,以便他們可以像您一樣使用它。其次,是變更程式的自由,以便您可以控制它,而不是讓它控制您;為此,必須向您提供原始碼。

基金會致力於透過開發與專有軟體相容的自由替代品來賦予您這些自由。具體而言,我們正在整合一個完整的、整合的軟體系統「GNU」,該系統與 Unix 向上相容。當它發布時,每個人都將被允許複製它並將其散布給他人;此外,它將隨原始碼一起散布,因此您將能夠透過閱讀它來了解作業系統、將其移植到您自己的機器、改進它以及與他人交換變更。

已經有一些組織在散布免費的 CPM 和 MSDOS 軟體。自由軟體基金會正在做一些不同的事情。

  1. 其他組織主要為了散布而存在;他們散布任何碰巧可用的東西。我們希望提供一個完整的整合自由系統,消除對任何專有軟體的需要。
  2. 一個後果是,我們現在只對與 GNU 系統環境相容的軟體感興趣。散布免費的 MSDOS 或 Macintosh 軟體是一項有用的活動,但這不是我們的目標。有關如何取得我們確實散布的軟體的資訊,請參閱本期稍後的文章「如何取得 GNU 軟體」。
  3. 另一個後果是,我們將積極嘗試改進和擴展我們散布的軟體,盡可能快地在我們的人力許可範圍內。因此,我們將始終尋求金錢、電腦設備或時間、勞力、文件和原始碼的捐贈,以改進 GNU 系統。
  4. 事實上,我們的主要目的是這項軟體開發工作;散布只是一個附屬活動,它也帶來了一些資金。我們認為使用者將自行完成大部分散布,而不需要或不想要我們的幫助。

為什麼是類 Unix 系統?

有必要與一些廣泛使用的系統相容,以便我們的系統立即擁有可以輕鬆切換到它的受過訓練的使用者基礎,以及可以在其上執行的應用程式軟體的立即基礎。(最終我們也將提供專有應用程式軟體的自由替代品,但那將是幾年後的事情。)

我們選擇 Unix 是因為它是一個相當簡潔的設計,已知具有可移植性,但其普及性仍在上升。Unix 的缺點似乎是我們可以解決的問題,而不會移除 Unix 中的優點。

為什麼不模仿 MSDOS 或 CP/M?它們確實更廣泛地被使用,但它們也是非常弱的系統,專為小型機器設計。Unix 功能更強大且更有趣。當一個系統需要數年才能實作時,為未來可用的機器編寫它是很重要的;而不是讓它受到目前最廣泛使用但將在新系統完成時過時的機器的功能限制。

為什麼不以新的、更先進的系統為目標,例如 Lisp Machine?主要是因為這仍然更像是一項研究工作;有相當大的機率會做出錯誤的選擇,並且系統最終會變得不太好。此外,此類系統通常與特殊的硬體綁定。與一家製造商的機器綁定會使其難以保持獨立於該製造商並獲得廣泛的社群支持。

我們收到的第一筆大額捐款。

日本軟體公司 Software Research Associates 已向 GNU 專案捐贈了 10,000 美元。此外,他們計劃向我們寄送一台類似 Sun 的 SONY 工作站,並借給我們一名員工程式設計師 6 個月。

這代表了岸田公一的影響力,他組織了日本 Sigma 專案(旨在刺激日本的 Unix 能力),但後來得出結論,該專案已誤入歧途,而更需要「草根運動」。我們希望成為這場運動。

GNU 快訊,1988 年 2 月

作者:Richard M. Stallman

GNU C++

將物件導向程式設計帶入 GNU

作者:Michael Tiemann

C++ 是最受歡迎的物件導向程式設計語言之一,原因有二:它幾乎是 C 的超集,因此 C 使用者社群很容易接觸到它,並且它受到 AT&T 的支援,這導致渴望標準的公眾相信,透過訂閱 C++(而不是 SmallTalk、Objective C 或許多其他替代方案),他們正在遵循「標準」。已經用 C++ 編寫了約一百萬行的程式碼。

去年夏天,我面臨著為一個新的電腦架構專案選擇一種語言的任務。C++ 的影響力如此之大,以至於我唯一能做的決定是「選擇哪一個」。來自 AT&T 的 C++ 看起來像是合乎邏輯的選擇,但有兩個問題:它是專有軟體,並且它是一個將 C++ 程式碼轉換為 C 程式碼的前處理器。這很慢,並且意味著偵錯器中無法使用 C++ 的建構和概念。

我決定看看我們是否可以快速地將 GNU C 修改為 C++ 編譯器,使其具有人們期望從其他語言的編譯器獲得的品質,例如易於重新定向和原始碼層級的偵錯支援。我可以——而且我已經做到了。

GNU C++ 編譯器旨在實作 C++ 程式設計語言,如 Stroustrup 的參考手冊中所述。由於 GNU C 編譯器的大部分是與語言無關的,因此僅花了六個月的時間就完成了通用 beta 測試版本。仍然存在差距和錯誤,但我正在努力完成它。GNU C 的所有最佳化也同樣適用於 C++。我也添加了受 C++ 啟發的最佳化。其中一些,例如內聯函數,在某些情況下也適用於 C;其他一些,例如最佳化虛擬函數,則嚴格來說是 C++

GNU C++ 不僅是第一個免費的 C++ 編譯器;它還是第一個直接 C++ 編譯器,以任何價格提供,並且它是第一個與 C++ 原始碼層級偵錯器(GDB+,現有 GNU 偵錯器的修改版)介接的 C++ 實作。

因此,從技術角度來看,GNU C++ 非常卓越,但從組織角度來看,它更為卓越,因為它是免費軟體,其開發由微電子暨電腦技術公司 (MCC) 支付,MCC 是一個於 1982 年成立的聯盟,旨在為約 20 家股東公司進行長期研究。

在 1 月,在我開始開發 GNU C++ 六個月後,贊助電腦架構專案的 MCC 股東群組首次被告知我正在編寫免費軟體。很容易想像他們可能會像守財奴一樣不贊成,甚至堅持停止這項工作。但事實恰恰相反:我們與自由軟體基金會的合作對他們來說是個好消息。技術轉移是股東在接受 MCC 研究時最難克服的障礙之一。

當 MCC 交付專業軟體時,除了編寫軟體的人員外,沒有其他專家,而且除非經過痛苦的學習,否則幾乎無法使用。當我們交付依賴他們無法訪問的專有環境的軟體時,該軟體將成為其環境的昂貴人質。透過提供可以讓任何人訪問的軟體,而無需擔心損害合作協議,它可以讓股東自由地以以前無法使用的方式使用該技術。

我們的小組因其交付了他們想要的技術,並透過自由軟體基金會提供該技術的成就而受到特別祝賀。考慮到這是 MCC 有史以來贊助的第一個免費軟體,以及我們收到的令人難以置信的正面反應,想到未來的可能性真是令人興奮。

現在可用的 GNU 軟體

GDB 之歌

感謝 Joel Bion、Mark Baushke 和 Lynn Slater

有人問我們 GDB 是什麼。我們向 Oscar Hammerstein II、Richard Rodgers 和 Julie Andrews 道歉,並提供了以下回覆

讓我們從頭開始,一個很好的起點,

當你學習唱歌時,它是 Do、Re、Mi;
當你學習編碼時,它是 G、D、B。

(背景)G、D、B。

前三個字母恰好是,G、D、B。

(背景)G、D、B。

(合唱)

G!
GNU!,這是 Stallman 的希望,
B,
我為自己設定的休息時間。
D,
偵錯那些糟糕的程式碼,
Run,
還有很長的路要走。
Print,
看看你做了什麼,
Set,
列印後面的修補程式。
Quit,
並重新編譯你的程式碼 - - -
That will bring it back to G,
                                        D,
                                             B,
                                                   <link>

(從合唱繼續)

為什麼要發明版權?

作者:Richard M. Stallman

現在版權正成為公眾試圖忽略的公害,版權所有者試圖透過稱其為內在權利來證明這種強加是合理的。正如他們所說,他們的內在權利是一種傳統,它使公共利益變得無關緊要。

這與版權歷史的事實相反。

最高法院已明確說明版權的用途。大法官 Stewart 在為法院撰寫時解釋說

我們版權法的直接影響是確保「作者」的創造性勞動獲得合理的回報。但最終目的是透過這種激勵,刺激藝術創造力以造福公眾。「美國的唯一利益和授予 [版權] 壟斷的主要目的,」本法院曾表示,「在於公眾從作者的勞動中獲得的普遍利益。」

             ---Fox Film Corp. v. Doyal (286 US 123, 127)

因此,當版權干擾公眾對程式的使用時,這直接攻擊了擁有版權的原因。

程式何時可用

或者,更確切地說,如何不要找出程式何時可用...

作者:Richard M. Stallman

我曾大膽預測某些程式何時可以發布。現在,事後看來,我希望那不是一個錯誤。

建立給定的程式通常比預期的要花費更長的時間。如果發生這種情況,許多渴望使用它的您可能會想到打電話或寫信來問我程式是否已可用。或者,更糟糕的是,描述哪些部分已完成,或將移植到哪些機器,或移植到某些機器有多容易,或將要實作哪些功能。

其中一些問題沒有答案。當程式尚未完成時,我們不知道在完成程式時我們會添加哪些功能。我們不制定移植程式的計劃,因為我們通常的政策是將移植留給您。這是招募更廣泛參與的一種方式。

回覆所有可能的詢問會分散時間和精力,並減慢程式的完成速度,從而導致更多的詢問。如果我們允許這種情況發生,那麼用於程式設計的時間量可能會接近於零。

只有您可以將 GNU 專案從這種荒謬的命運中拯救出來。請發揮您的意志力,保持耐心,並等待我們宣布程式可用。如果您希望看到更多 GNU 軟體更快地出現,最好的方法是自願投入大量的時間。

快速找出何時發布或更新某個 GNU 軟體以進行一般線上散布的最佳方法,是安排接收發布我們公告的 info-gnu 郵寄列表。要接收 info-gnu,請發送請求至

ucbvax!prep.ai.mit.edu!info-gnu-request (usenet)

info-gnu-request@prep.ai.mit.edu (internet)

某些特定程式(例如 Emacs、GCC、GDB、GNU Chess 和 G++)有其自己的特定郵寄列表,新版本會在這些列表中公告。若要加入這些列表,只需在您的請求中提及您感興趣的程式即可。

磁帶散布通常比線上散布晚幾週開始,原因要么是我們對無法輕易獲得升級的使用者要求更高的可靠性標準,要么是因為我們一團糟,無法將我們的行動統一起來。當磁帶散布開始時,我們通常會發布另一份電子公告。如果您願意,您可以提前訂購磁帶,如果您了解在我們致力於提高可靠性的同時,交貨可能會延遲數週。

當我們預計真正的可靠性需要數月才能實現時,我們可能會在較早的日期提供 beta 測試磁帶,正如我們對 GNU C 所做的那樣。我們以通常的方式公告這些磁帶。

如果您無法接收 Usenet 或網際網路郵件,並且您計劃訂購特定程式的磁帶,您可以致電基金會以了解該程式是否可用於磁帶散布。我們的電話號碼是 (617) 876-3296。最好在美國東部時間上午致電,因為您更有可能聯繫到我們的辦公室和發貨人員 Opus Goldstein,而不是我們的磁帶機。一般來說,Opus 無法單獨聯繫每個人以告知磁帶何時準備就緒,但如果很重要,或許可以做出安排。

如果您計劃從其他人那裡取得副本,請要求該人告知您何時準備就緒。這將分散負擔。

如果您真的迫切需要預測,您可以嘗試諮詢當地的算命師。他們對未來的了解不比我們少。

GNU 願望清單

如何取得 GNU 軟體

自由軟體基金會發行的所有軟體與出版品,皆授權複製與再散布。取得 GNU 軟體最簡單的方式,就是向已經擁有軟體的人索取,直接向他們複製即可。

如果您可以連上網際網路,就能從主機「`prep.ai.mit.edu`」取得最新的軟體。如需更多資訊,請閱讀該主機上的「`/u2/emacs/GETTING.GNU.SOFTWARE`」檔案。

如果您無法從朋友或網路上取得軟體,自由軟體基金會也以複製與散布工本費的方式發行磁帶。請參閱封底內頁的訂購單。

如果您無法連上網路,且您的電腦無法使用我們發行的兩種媒體,您必須從第三方團體取得我們的軟體,這些團體與我們並無合作關係,但以其他形式擁有我們的軟體。為了您的方便,以下列出其他協助散布 GNU 軟體的團體。請注意,自由軟體基金會並未以任何形式與他們有所關聯,且不為其版本的即時性或回應的迅速性負責。

下列網際網路站點提供一些 GNU 程式,可透過匿名 FTP 取得:louie.udel.edunic.nyser.netbu-it.bu.eduuunet.uu.netspam.istc.sri.com 以及 simtel20.arpa (位於 PD:<Unix.GNU> 目錄下)。

關於如何使用 uucp 取得某些 GNU 程式的資訊,可透過電子郵件向下列地址索取:arnold@skeeve.UUCPihnp4!hutch!barberhqda-ai!merlin。您也可以向 hao!scicom!qetzal!upba!ugn!nepa!dennypostmaster@uunet.uu.net 詢問。

俄亥俄州立大學也提供 uucp 傳輸 GNU 程式。他們每月在 Usenet 的新聞群組 comp.sources.d 上張貼說明。目前的詳細資訊請洽 Karl Kleinpaste karl@tut.cis.ohio-state.edukarl@ohio-state.arpa...!cbosgd!osu-cis!karl;或 Bob Sutterfield(在上述地址中將 karl 替換為 bob)。

關於如何取得適用於 AT&T Unix PC(又名 3B1 或 PC7300)的 GNU Emacs 軟碟的資訊,可透過電子郵件向下列地址索取:brant@manta.uucp

感謝 GNUs

感謝 GNU 快訊中提及的所有人士。

感謝麻省理工學院電腦科學實驗室及其負責人 德圖佐斯教授。LCS 向 FSF 租借了一部 Microvax 用於程式開發。

感謝麻省理工學院人工智慧實驗室提供各種寶貴的協助。

感謝東京軟體研究協會的 引地信之 將 GCC 移植到 SONY NEWS 工作站。也感謝他們捐贈的 10,000 美元。

感謝 NeXT 公司對 GNU 組合器和 Gnu 除錯器所做的改進。

感謝 MCC 的 麥可·蒂曼 擴展 GCC 和 GDB 以處理 C++,並將 GCC 移植到 32000 架構,其中 Chalmers 電腦俱樂部的 揚·斯坦 也貢獻了一部分。

感謝 泰德·雷蒙 編寫了 GCC 的 RTL 讀取器和印表機部分。

對於 GCC 的移植工作,感謝 查爾斯·拉布雷克 (Integrated Solutions 68020 系統);格雷格·薩茨 (HPUX);大衛·卡什坦 (VMS)。

感謝 大衛·S·海耶斯 增強了 GNU diff 工具。

感謝 丹·拉利伯特 帶頭編寫 GNU Emacs Lisp 程式設計師手冊,以及 比爾·路易斯湯姆·史考特 致力於將其整理成冊。

感謝 沃爾夫岡·魯普雷希特 為 GNU Emacs 提供浮點數支援。

感謝 托爾比約恩·格蘭隆德 快速實作了 splitwccmpcatcp 指令。

感謝所有貢獻移植和擴展的人士,以及所有貢獻其他原始碼、文件和優良錯誤報告的人士。

感謝那些捐款和提供幫助的人。也感謝那些透過訂購 Emacs 手冊和散布磁帶來支持我們的人。

發行這份公告是我們感謝所有對我們的工作表達興趣的人的方式。

                                                -------
                                               |       |
Free Software Foundation, Inc.                 | stamp |
675 Massachusetts Avenue                       |       |
Cambridge, MA  02139                           | here  |
                                               |       |
                                                -------