上海基诺彩票中奖号码

English [en]   ??????? [ar]   espa?ol [es]   fran?ais [fr]   hrvatski [hr]   italiano [it]   日本語 [ja]   português do Brasil [pt-br]   русский [ru]   Shqip [sq]   укра?нська [uk]   簡體中文 [zh-cn]  

這是針對英文原版頁面的中文翻譯。

BYTE雜志對Richard Stallman的采訪

由David Betz和Jon Edwards主持

Richard Stallman和BYTE雜志的編輯討論其公眾領域兼容Unix的軟件系統(1986年7月)

Richard Stallman目前從事著可能是最雄心勃勃的自由軟件開發工程,GNU系統。他寫的GNU宣言發表于Dr. Dobb's雜志的1985年3月刊。在此宣言中,Stallman這樣描述GNU工程:“我將編寫一個完整的、兼容Unix的軟件系統,這樣我就可以把它自由地分發給要使用它的人…GNU完成后,每個人都將能夠自由地獲得一個優秀的軟件系統,就像獲得空氣一樣。”(GNU是GNU's Not Unix的縮寫;其中的“G”要發音。)

眾所周知,Stallman是EMACS的作者,它是Stallman在MIT人工智能實驗室時開發的一個功能強大的文本編輯器。所以,毫不意外,GNU工程的第一部分軟件就是一個新的EMACS。GNU EMACS聲名卓著,是目前你可以找到的最好的EMACS之一。

BYTE:我們看了你在Dr. Dobb's雜志1985年3月刊上的GNU宣言。從那以后,發生了些什么?那就是GNU真正的開始嗎?你在那之后是怎么推進的?

Stallman:Dr. Dobb's的文章并不是GNU工程的開始。作為請求計算機制造商提供資助的提議,我在做好了開始GNU工程的準備之時,撰寫了GNU宣言。他們并不想介入,我進而決定與其花費時間尋求資助,不如花費時間編寫代碼。GNU宣言大約在我寫好它的一年半之后得以發表,此時我差不多已經開始發布GNU EMACS程序了。從那時起,我除了讓GNU EMACS更完善和運行在更多的計算機平臺上,我還基本上完成了C編譯器的優化,以及所有運行C程序所需要的其他軟件。其中包括一個代碼級別的調試器,它有許多其他Unix代碼調試器沒有的功能。比如,它帶有便利的調試器變量,這樣你就可以保存一些參數;它還有所有你打印的變量的歷史記錄,這樣你就能非常容易地追蹤列表結構。

BYTE:你已經完成了現在這個廣為流傳的編輯器,并且接近完成編譯器。

Stallman:我期望在10月份完成編譯器。

BYTE:那么內核怎么樣?

Stallman:我目前計劃從MIT寫的內核開始,該內核最近公開發布,其中包含有我要使用的一些想法。這個內核叫TRIX;它基于遠程過程調用。我仍然需要添加許多該內核目前還缺少但和Unix兼容所需要的功能。我還沒有開始這項工作。我將在完成編譯器之后著手內核的工作。我還要重寫文件系統。我計劃使之按照合理的順序寫入數據塊,以保持磁盤結構總是一致的,只需這樣做就可以使文件系統在出錯時安全。然后我會添加版本號。我會使用一套復雜的體系來調和人們通常在Unix系統上使用版本號的方法。你應當能夠不用版本號就可以定義文件名,但是你也可以明確地使用版本號來定義文件名;這兩個方法都不應該影響那些現存的、并未針對此功能做修改的常規Unix程序的使用。我認為我有一個體系可以實現這個功能,只需試一試就可以知道是否真的可以。

BYTE:你有沒有一個簡單的說明來告訴我們GNU系統怎么就比其他系統更優秀?但是從你剛才所說來看,至少在文件系統方面你將超越Unix做得更好。

Stallman:C編譯器也將輸出更好的代碼而且運行更快。調試器也更好。對于每個部件,我可能找到改進的方法,也可能找不到。但是你的問題沒有單一的回答。在某種程度上說,我通過重新實現獲益,因為這使許多系統都變得好得多。從另一方面說,這也因為我在此領域工作多年而且經歷過許多其他系統。因此,我可以引入很多想法。該系統更好的一個例子是該系統會支持任意大小的文件、任意長的文件行以及任意的文件字符。Unix系統在這方面較差。就軟件工程的原則來說,你本不應該有隨意的限制,這并不新鮮。但是在編寫Unix時,加入限制一直是實際的標準,可能只是因為他們在為很小的系統編寫Unix。GNU系統只有系統內存耗盡才是極限,因為此時它有太多的數據而沒有地方存儲。

BYTE:而如果你有虛擬內存,將不太可能達到系統極限。你可能只是要永遠等著結果的輸出。

Stallman:實際上,遠在你等待結果之前,系統極限就達到了。

BYTE:你可以談談GNU EMACS都能夠在什么機器和環境下運行嗎?現在它可以在VAX機器上運行;它可以運行在個人電腦上嗎?

Stallman:我不確定你說的個人電腦指的是什么。例如,Sun機器是不是一臺個人電腦?GNU EMACS要求至少1兆字節的內存,最好更多。它一般用在支持虛擬內存的機器上。除了某些C編譯器的各種技術問題之外,幾乎任何帶有虛擬內存并運行較新的Unix版本的機器都可以運行GNU EMACS,現狀也是這樣。

BYTE:是否有人試著把它移植到Atari或Macintosh機器?

Stallman:Atari 1040ST還沒有足夠的內存。我希望下一代Atari機器能夠運行它。我還認為未來的Ataris機器將有某些形式的內存映射。當然,我不是在為今天流行的計算機設計軟件。在我開始該工程時,我就知道這會歷時多年。所以,我決定我不會花費精力為目前受限的環境開發一個更差的系統;反之,我要按照最自然和最優秀的方式來編寫這個系統。我確信幾年之后,流行的機器將具有充足的內存。事實上,內存的增加速度是如此之快,以至于我在為人們引入虛擬內存的速度之慢感到吃驚了;而這是非常重要的。

BYTE:我覺得人們不會認為這對單用戶機器真的是必要的。

Stallman:他們不明白單用戶并不意味著單程序。對類Unix的系統來說,即使只有你一個人使用,能夠同時運行許多不同程序當然也是重要的。你也許可以在有足夠內存的非虛擬內存機器上運行GNU EMACS,但是你可能無法良好地運行GNU系統或Unix系統的其他部分。

BYTE:LISP占GNU EMACS的多大比例?我在想用它來作為學習LISP的工具是不是很有用。

Stallman:你當然可以這么做。GNU EMACS含有一個完整的、雖然不是非常強大的LISP系統。對編寫編輯命令來說,它足夠強大。雖然它不能和諸如Common LISP這樣能夠真正用來做系統編程的系統來比,但是它包含了一個LISP語言所需要的一切。

BYTE:你可否預告一下,什么時候你可能會發布一個可用的環境,如果把我們的機器或工作站置于該環境,我們就可以不用你發布的代碼之外的任何工具來完成相當部分的實際工作?

Stallman:很難說。可能是一年,當然也可能更長。也可以想象它會更短,但是看來不太可能了。我認為我會在一兩個月內完成編譯器。我要做的剩余的大塊工作就只有內核了。我最早預計GNU會花費大約兩年,但是現在兩年半過去了,我還沒有完成。部分原因是我在一個最終被發現是死胡同的編譯器上耗費了大量時間。我不得不全部重寫。另一個原因是我為GNU EMACS花費了大量時間。我最初認為我根本不用這么做的。

BYTE:請談談你的發行計劃。

Stallman:我不把軟件或手冊放到公眾領域,這么做的原因是我要確保所有的用戶有分享的自由。我不想有人改進了我的程序然后以專屬的形式發行。我不能讓那樣的事有機會發生。我要鼓勵這些程序的自由改進,最好的方法就是消滅人們做專屬改進的誘惑。是的,有人會不再做改進,但是更多的人會做出同樣的改進并使之自由。

BYTE:那么你如何保證做到這一點呢?

Stallman:我對這些程序使用版權并明確聲明人們獲得拷貝和修改這些程序的權利,但是只有在他們使用同樣的條款發布這些程序時才行,如果他們要發布的話。你不必非得發布你對我的程序做出的修改—你可以只是自用,你也不必把它交給或告訴別人。但是一旦你要交給別人,那么你就必須按照我所使用的條款來做。

BYTE:你對你的C編譯器產生的可執行代碼聲明權利嗎?

Stallman:版權法沒有賦予我對編譯器的輸出具有版權,所以我沒有方法根據版權法對編譯器的輸出聲稱任何權利,事實上,我也沒有想過這么做。我不贊成人們使用任何編譯器開發專屬軟件,但是不讓他們使用我的編譯器做開發看起來也不會特別有用,所以我不會這么做。

BYTE:你的限制也適用于人們使用你的程序的部分代碼去干其他的事這種情況嗎?

Stallman:是的,如果他們包含了比較大的代碼片段。如果只是兩行代碼,沒問題;版權法不用于這種情況。重要的是,我采取這些條款首先確立了版權,而版權正是所有軟件囤積者用來阻止其他人干事情的手段。所以這些條款只適用于版權法適用的場合。我相信人們應當遵守這些條款的原因并不是法律。人們應當遵守這些條款是因為每個正直的人在發布軟件時都會鼓勵他人繼續分享這些軟件。

BYTE:感覺你好像在用提供這些軟件工具的方法誘使人們進入你的思考模式:他們可以使用,但是只有在他們接受你的哲學時。

Stallman:是的。你還應當看到這是在用軟件囤積者構建的系統反過來對付他們。我在使用該系統來保護公眾不受軟件囤積者的傷害。

BYTE:考慮到制造商不想資助該工程,你覺得當GNU工程完成時,誰會使用它?

Stallman:不知道,但這不是重要的問題。我的目的是使人們有可能拒絕來自專屬軟件的枷鎖。我知道有人想要這么做。現在,也有人對此無所謂,但是這不用我操心。我對他們以及他們影響的人只是感到有些沮喪。現在,有個人覺得專屬軟件的條款不舒服,而且除了不再使用電腦他感到無所適從。好吧,我來給他一個舒服的選擇。

還有其他因為GNU系統的技術優勢而使用的人。比如,我的C編譯器可以產生和任何其他C編譯器一樣好的代碼。而GNU EMACS一般被認為比其商業對手要好得多。GNU EMACS也不曾被人資助,但許多人也在用。所以,我認為許多人也會因為其技術優勢而使用GNU系統的其他部分。即使我不知道如何使GNU系統更好,我也會開發它,因為我要使它對社會更好。GNU工程實際上是一個社會工程。它利用技術手段來改變社會。

BYTE:那么人們接受GNU對你相當重要。它不只是一個產生軟件并分發給人們使用的學術練習。你希望它將來改變軟件行業的運作模式。

Stallman:是的。有人說沒人會使用GNU,因為它不帶有誘人的商標;還有人認為它極其重要,所有人都將會使用它。我無法知道將來會發生什么。我也不知道其他改變這個我所處行業的丑行的方法,所以我只能這么做。

BYTE:你能談談這意味著什么嗎?你顯然覺得這是一個重要的政治和社會聲明。

Stallman:這是一個變革。我在試著改變人們獲取知識和信息的普遍方法。我認為,企圖私有知識、企圖控制人們是否有權使用知識或者企圖阻止人們分享知識都是蓄意破壞。它是一種耗費整個社會資源來謀私利的行為。就像一個人為了獲取一塊錢而去破壞兩塊錢的財富。我認為除非只有死路一條,任何有良知的人是不會這么做的。當然做這事的人是相當富足的;我只能認定他們是道德淪喪的人。我希望看到人們因為編寫自由軟件和鼓勵他人分享自由軟件而獲得嘉獎。我不希望看到人們因為編寫專屬軟件而獲得嘉獎,因為這不是真的在為社會做貢獻。資本主義的要義是人們通過制造獲得金錢,進而鼓勵人們進一步去制造有用之物,如此自動往復。但是這個道理對私有知識不成立。通過私有知識獲利不是在鼓勵真正有益的活動,相反真正有益的活動沒有被鼓勵。我覺得要重點說明的是,信息和諸如汽車、面包之類的實物不同,因為人們自己就能夠復制和分享信息,如果沒人阻止的話。這是有益的活動。而面包則不同,如果你有一塊面包,你想再來一塊,你不能把你的面包放到面包復制機再復制一個。你只有通過和制造第一塊面包一樣的步驟才能再做出一塊面包。所以,人們有沒有復制面包的權利沒有關系—沒法復制。

書籍直到最近才只在印刷機構印制。過去,你可以自己動手復制一本書,但是這并不實用,因為比起印刷機來手抄太費功夫了。而且手抄書本的質量也遠不吸引人,所以無論怎樣,除了能夠大規模生產,你是不會去用手抄來復制書本的。因此,版權實際上并沒有剝奪公眾的閱讀自由。版權并不能禁止買書人的所作所為。

但是計算機程序就不一樣了。磁帶也不一樣。現在,圖書也有些不一樣了,但是對大多數圖書來說用復印件復印還是比買一本要費太多的功夫,而且質量也不那么吸引人。目前,我們正處在一個階段,版權無害和可接受的情況正在變成有害和不可忍受的情況。因此,那些被污蔑為“盜版”的人實際上正在嘗試被禁止做的某些有益的事。版權法完全是設計來為幫助某些人徹底掌控某些信息的使用并為自己牟利的。但是它們沒有設計成幫助那些要確保公眾有權獲得信息并阻止他人剝奪公眾該權利的人。我認為法律應該承認公眾擁有的一類作品,它們不同于公眾領域的作品,正如公園不同于垃圾桶里的東西一樣。它不應該被任何人拿走,它是要為所有人不被干擾地使用。如果有人發現自己使用公眾作品的權利被剝奪了,那么他應該訴之法律。

BYTE:但是難道盜版者要獲得程序拷貝的原因不是要使用該程序,而是要使用該知識創造更好的東西?

Stallman:我看不出這里有什么重要的分別。更多的人使用該程序就意味著對社會的更多貢獻。就像你的面包,不是被吃一次而是被吃一百萬次。

BYTE:有些用戶是因為技術支持而購買的商業軟件。你的發行方法怎么提供技術支持?

Stallman:我懷疑這些用戶受到誤導而且沒有考慮清楚。有技術支持當然是好事,但是當他們思考這怎么會和銷售軟件或專屬軟件有關系時,他們就難以自圓其說了。專屬軟件并不保證就會有良好的技術支持。只是因為銷售商說他們會提供技術支持,并不意味著技術支持就會是優良的。 而且他們也會關門。事實上,人們認為GNU EMACS比商業EMACS有更好的技術支持。一個原因是我可能比編寫其他EMACS的人更高明,但是其他的原因是所有人都有源代碼,而許多人都會根據源代碼做研究,這樣你就沒必要非得讓我來做技術支持。即使只在下一個發布版里集成進去人們報告給我的問題的修復,也是一個良好的免費技術支持。你總可以雇人來為你解決問題, 當軟件是自由的,技術支持就是市場競爭。你可以雇傭任何人。我發布有一個EMACS的服務名單,它列舉了人名、電話和他們的技術支持費用。

BYTE:你是否收集他們的問題修復?

Stallman:奧,他們發給我。我要求所有希望列在名單上的人承諾,作為技術支持的一部分,他們不會要求客戶對提出的需求保密,也不會對為GNU軟件做出的變更保密。

BYTE:因此你不允許人們利用自己知道而別人不知道的解決方法來競爭。

Stallman不。他們可以從誰更聰明、誰更可能發現問題的解決方法、誰更了解更通用的問題或者誰能更好地向你解釋該如何做為基礎來競爭。他們有很多方面可以競爭。他們需要做得更好,但是他們不能主動妨礙競爭對手。

BYTE:我假設這就像購買一部汽車。你不必非得到原始制造商那里獲得技術支持或后續保養。

Stallman:或者說是購買房屋—如果只有原始建造商才能修復房屋的問題,那將是怎樣的情況?這就類似專屬軟件強加的不合理。人們給我講過Unix上發生的一件事。因為制造商銷售改進版的Unix,他們會收集問題修復但是最多只提供二進制代碼。結果就是問題并沒有真正被解決。

BYTE:大家都在獨自修復問題是重復勞動。

Stallman是的。這里還有一個幫助從社會視角了解專屬信息問題的觀點。請考慮責任險1危機。為了從社會得到補償,受損害的人不得不雇傭律師并把錢分給律師。這對事故的受害者是一個愚蠢和低效的幫助。想想人們為了和對手競爭而投入的時間。再想想比筆還貴的包裝盒—只是為了保證筆不被偷走。難道在每個街角投放一些免費的筆不是更好?想想那些阻攔交通的收費站。這是不可思議的社會現象。人們通過妨礙社會來掙錢。一旦他們能夠妨礙社會,他們就會收錢才放過人民。信息私有的內在浪費會變得越來越重要,最終會形成烏托邦社會和現實社會的差別:在前者,人們不必為謀生而工作,因為機器把工作都做了;而后者正如我們現在,每個人都把時間花費在重復別人的工作上。

BYTE:就像在軟件里鍵入版權聲明。

Stallman:更像是監督每個人確保他們沒有非法的復制品,并重復所有他人已經完成的工作,因為這些工作是專屬的。

BYTE;懷疑的人可能會關心你靠什么謀生。

Stallman:靠咨詢。當我做咨詢時,我總是保留把咨詢工作的代碼分享出來的權利。而且,我也能通過郵寄我寫的和其他人寫的自由軟件拷貝來謀生。很多人花150美元來要GNU EMACS,不過現在這些錢都歸于我創立的自由軟件基金會。基金會并不付我工資,因為這將導致利益沖突。反過來,基金會會雇人為GNU工作。只要靠咨詢我還能謀生,我覺得這是最好的謀生手段。

BYTE:目前GNU官方發布的磁帶里都有什么內容?

Stallman:現在,磁帶里有GNU EMACS(一個適用于所有電腦的版本); Bison,一個替代YACC的程序;MITScheme,是Sussman教授的超精簡LISP語言分支;以及Hack,一個類似Rogue的地牢探險游戲。

BYTE:打印手冊和磁帶一起發行嗎?

Stallman:不。打印的手冊每本15美元,或者你自己打印。請也復制本次訪談并分享之。

BYTE:如何獲得一份手冊的拷貝呢?

Stallman:請寫信給自由軟件基金會,675 Massachusetts Ave., Cambridge, MA 02139.

[現在的地址(從2005年起)是:Free Software Foundation 51 Franklin St, Fifth Floor Boston, MA 02110-1301, USA Voice: +1-617-542-5942 Fax: +1-617-542-2652]

BYTE:當GNU系統完成后,你將做什么呢?

Stallman:我不確定。有時我想我將在軟件的其他領域做同樣的事。

BYTE:因此,這只是對整個軟件行業一系列攻擊的第一波?

Stallman:希望如此。但是也許我將去過簡單的生活,做些足夠謀生的工作。我不必過昂貴的生活。閑暇時,我會找到一些有趣的人一起度過,或者學習一些我不懂的東西。

譯注

  1. liability insurance,責任險,又稱第三方責任險。通常指承擔第三方責任的保險。
最頂

[FSF 標志]“自由軟件基金會(FSF)是一個非盈利組織。我們的使命是在全球范圍內促進計算機用戶的自由。我們捍衛所有軟件用戶的權利。”

加入 購物

上海基诺彩票中奖号码 四肖三期必開79876 北单上下单双玩法 三公怎么玩详细介绍 重庆时时官网投注 七星彩最准确十专家 11选5任3技巧 稳赚 重庆时时彩龙虎和稳盈 彩票站承包合同 分分彩怎么样打最好 欢乐生肖彩票平台 虚拟篮球投注技巧 龙虎相斗惊天地 重庆开奖历史开奖记录 快三跟计划怎么稳赚 21点游戏下载 四川时时开奖视频