Ubuntu/Linux與Windows的區別
這個頁面寫給初識Linux的用戶。你可能:
- 讀了不少Linux的報導和文章
- 正打算從Windows轉向Linux
- 正心懷激動,又憂心忡忡
- 疑慮讓你無所適從
別擔心,這個頁面將解決你大部分的疑問。你將能夠決定是否選擇Linux。
Linux 和 Windows 很不一樣
編輯很多從Windows轉向Linux的人會很快發現:他們所期待的事情根本不存在。
他們奔向 Linux,希望找到一個免費的、開源版的 Windows。通常,這正是那些狂熱的 Linux 使用者所告訴他們的那種狀況。然而這卻是個荒謬的期待。 人們嘗試 Linux 的原因不盡相同,但所有的原因都可以歸結為一點:他們希望 Linux 會比 Windows 更優秀。
成本、選擇範圍、性能和安全性是通常衡量作業系統好壞的標準。當然,還有許多其它的方面。但當 Windows 用戶轉向 Linux 時,他們在這四方面將兩者做比較,因為他們希望在這些方面Linux做的更好。
這正是問題之所在。
從邏輯上講,在保持某樣東西與參考物體完全相同的前提下,將其做得更好是絕無可能的。正如一個完美的複製品將與它的母版毫無差異,但是它不可能會超越母版。所以當你帶著 Linux 會比 Windows更好的希望來嘗試它的時候,你便會不可避免地發現它的不同。太多的人都忽略了這樣一個事實,並且把這些不同之處看作是 Linux 的缺陷。
舉一個簡單的例子,升級驅動程序:在 Windows 下升級某個硬體驅動,通常的情況下,我們需要去硬體製造商的網站上找到並下載最新的驅動,如今Windows 7已經可以自動更新最新的驅動程序,而不需要用戶過多的參與;然而在 Linux 下,我們要做的是升級核心。
這意味著在 Linux 下,僅僅一次下載和升級便能提供所有適用的最新驅動,然而在舊版本的Windows 下我們卻不得不瀏覽多個網站並分別下載升級程序。只是過程有所不同,但是絕對不是說更糟糕。然而卻有很多人對此抱怨不停,只因為這不是他們習慣的方式。
或者從另一個更經常接觸到的例子來看,想一想 Firefox ——開源軟體最成功的案例之一。這是一個席捲全球的瀏覽器,難道它是通過模仿 IE ——那個「最流行的瀏覽器」而取得成功的嗎?
不,它的成功是因為它比 IE 更好,它之所以更好正是因為它的不同。它有標籤頁瀏覽方式,實時動態的書籤,內建搜索工具欄,PNG圖像格式支持,廣告過濾擴展,以及其它的好東西。「查找」工具條顯示在底部的工具欄中,它能夠在你鍵入的時候就查找內容並且以紅色表示沒有相匹配的內容。而 IE 卻沒有標籤頁瀏覽,沒有 RSS 訂閱功能,搜索條只能通過第三方擴展實現,它的查找對話框還得通過點擊「確認」按鈕開始查找,而且還要再點擊一次「確認」才能清除「未發現」的錯誤提示。這個鮮活的案例,證明了一個開源的應用程式通過「不同」而做到了「更好」,依靠「更好」進而取得了成功。如果 Firefox 只是一個 IE 的克隆,它必然早已銷聲匿跡於 IE 的陰影之下了。如果 Linux 是 Windows 的一個克隆,同樣的事情也會發生在 Linux 身上。
因此問題一的答案就是:記住 Linux 其實與你熟悉的東西很相似,很有親和力,它並不是全新和改進過的。積極地面對那些不同之處,因為只有不同,Linux 才有機會真正閃耀出其光彩
更多不同
編輯當人們期待著 Linux 有所不同時,又一個問題接踵而至。Linux 和 Windows 實在是太不一樣了,一些差異簡直難以讓人適應。也許最典型的例子就是可供 Linux 用戶選擇的東西實在是太多了。對於一個剛上手的 Windows 用戶,他已擁有一個經典的或 Windows XP 風格的桌面主題、一個寫字板程序、一個IE 瀏覽器、一個Outlook Express來收發郵件;然而對於一個初學 Linux 的傢伙,他面前有上百種發行版供其挑選,然後,是 Gnome、KDE 或者 Fluxbox(桌面環境),vi、emacs 或者 kate(文本編輯器),Konqueror、Opera、Firefox 或者 Mozilla(網頁瀏覽器),或者其他一系列可供選擇的工具。 Windows 用戶不曾為了安裝和使用(作業系統)而面對過如此豐富的選擇。「有必要提供那麼多種選擇嗎?」這樣的抱怨帖子很常見。
Linux 真的和 Windows 有那麼大的區別嗎?不管怎麼說,它們都是作業系統。它們都做同樣的工作:操作你的計算機,讓你有個運行應用程式的東西,自然它們多少都有些共通的地方吧?
讓我們從這個角度看問題:出門看看路上行駛的各種不同車輛。所有的車輛不管是什麼樣的設計,都有同樣的目的:從路上把你由 A 處運到 B 處。注意它們有不同的設計。
但是你會想,汽車之間的差異非常小:它們都有方向盤、腳踏板、變速杆、手剎車、車窗、車門、油箱……如果你能夠開這部車,你就能開任何一部車。
確實如此。但你有沒看見過有些人不開汽車──他們騎摩托車?
從一個版本的 Windows 切換到另一個版本就像從一輛汽車換到另外一輛汽車。Win95 到 Win98 ,老實說我說不出有什麼區別。Win98 到 WinXp,差別大一些但是也沒有什麼真正的重大區別。
但是從 Windows 切換到 Linux 就象從騎摩托車切換到開汽車。他們都是作業系統(在道路上行駛的車輛)。他們可能都使用同樣的硬體(道路)。他們可能都提供一個運行應用程式的環境(把你從甲地運到乙地)。但他們使用本質不同的兩種方法來達到目的。
- Windows(摩托車)對於病毒(小偷)並不安全,除非你安裝反病毒軟體(車鎖)。Linux(汽車)對於病毒(小偷)是比較安全的,所以即使你沒有安裝反病毒軟體(不鎖車門)也非常安全。
或者從另一個角度看:
- Linux(汽車)從根本上用於多用戶(多名乘客)。Windows(摩托車)用於單用戶(乘客)。Windows 用戶(摩托車駕駛員)習慣於任何時候完全地控制他的計算機(摩托車)。而一個Linux 用戶(汽車乘客)只有在以 root 根用戶身份登錄(坐在駕駛座上)時才要去控制計算機(車輛)。
通過兩種不同的方法來達成同樣的目標,他們各有優缺點:當載上一家子的成員和大包小包的貨物從甲地至乙地時,一輛車顯然是明智的選擇:因為它有充裕的座位以及足夠的儲存空間。而對於一個人從甲地到乙地的情況,摩托車則是更好的選擇:因為它不怎麼會遇上堵車,消耗的燃油也更少。
無論選擇摩托車或是汽車,仍有很多事情不會改變:你總歸要給油箱裡加油,而車還是開在同一條道上,而且必須遵守紅綠燈,在轉彎前要打轉向燈,你同樣也要注意限速。
但是也終究有很多情況不同了:開汽車的人不必帶著安全頭盔開車,摩托騎手不用系安全帶;開汽車的人轉動方向盤來轉彎,摩托車騎手則要傾斜身子改變重心;開車需要踩油門踏板來加速,而騎摩托車通過手旋轉手把來控制加速
一位汽車司機如果試圖通過轉移重心來拐彎,肯定是行不通的。同樣的,一個 Windows 用戶如果認為自己的經驗可以直接派上用場,結果也會因為相同的原因而徒勞無獲。事實上,較之電腦新手,一個 Windows 「高級用戶」在 Linux 的使用過程中常會遇上更多麻煩。那些經驗豐富的 Windows 用戶在面對問題時,如果無法解決,常會覺得「如果我這麼有知識的用戶都搞不定,那新手就更別想了」,因而得出「Linux離桌面應用還有十萬八千里呢」的想法,其實事實恰好相反。
解決方法在於:Windows 用戶必須意識到他只是一個有經驗的 Windows 用戶,而不是有經驗的 Linux 用戶。對於剛開始使用 Linux 的 Windows 高級用戶,他應該意識到,他是個新手。
文化衝突
編輯Linux 有自己的文化
編輯Windows 用戶或多或少地處於一種消費者和供應商之間的關係:他們花錢買軟體,獲得授權,得到支持,等等。他們希望軟體能夠有確切的可用性。因此他們習慣於去得到使用軟體的權利:他們花錢去得到技術上的支持以及他們得到他們想要的權利。他們也經常要與一些除了個人之外的實體打交道:例如他們與一家公司簽一份合同。
Linux 用戶則更多的是處於一個社團當中。他們不需要花錢去買軟體,不需要為得到技術上的支持而耗費財力。他們免費下載軟體,並且使用即時通信工具和論壇尋求幫助。他們和個人打交道,而不是公司。
一個 Windows 的用戶如果只是把他的觀點帶到 Linux 中,那麼他是不會喜歡上 Linux 的,這需要慢慢地適應。
引起矛盾的最大原因就在在線交流當中:一個初學 Linux 的菜鳥在遇到問題時尋求幫助,當他沒有得到他可以接受的答案的時候,他便開始抱怨並且想要得到更多的幫助。因為這正是他以前用付費來獲得幫助的方式。問題就是這不是付費提供幫助的系統,而是很多熱心人出於善意幫助其他人解決問題的系統。一個新的用戶沒有任何權利去向這些熱心人索要幫助,這就如同一個想要得到施捨的人,還要求從捐贈者那裡獲得更多的捐贈品一樣。
同樣,一個 Windows 用戶習慣了使用商業軟體。這些軟體在沒有做到足夠的可靠性、功能性以及對用戶友好的界面之前,公司是不會發布該軟體的。因此這正是 Windows 用戶希望軟體是從 1.0 版本開始的。而 Linux 軟體幾乎一旦寫出就會立即發布,因此是從 0.1 版本開始的。這樣的,真正需要這些功能的人就會馬上得到它;感興趣的開發者會來幫助改進代碼,而整個社區都會關注接下來的發展情況。
如果菜鳥在使用 Linux 時遇到了困難,他會抱怨:這個軟體沒能滿足我的需求,並且他認為他有權得到這樣的滿足。如果他得到這樣帶有諷刺性的回答:「如果我是你,我要求退款!」,他的情緒恐怕會更糟。
因此,為了避免這些問題,應做到:要記住,你並沒有付給那些軟體開發者或者在線幫你提供技術指導的人任何錢。他們並不欠你任何東西。
新用戶 vs. 老用戶
編輯Linux 幾乎是因駭客的業餘愛好而誕生的。它的成長源於它吸引了更多志同道合的駭客們。Linux 在變得不只是一些奇客(Geek),而是讓任何人都能使用之前經歷了相當長的時間。可以說 Linux「始於奇客,饋於奇客」。直至今日,大多數 Linux 的老用戶仍自認為是奇客。 這是件非常好的事情:如果你在硬體或軟體方面有問題,存在一大群奇客們不斷尋找解決方案這個狀況,這難道不好嗎?
但 Linux 自它誕生以來,已經成長變化了很多。已經有了一些幾乎任何人都能安裝使用的發行版,甚至一些發行版可以運行於 CD 上並且可以完全自動檢測並配置好各種硬體。當 Linux 開始因其無病毒和廉價的升級而吸引一些非發燒友用戶時,兩大用戶陣營間就會出現矛盾,這很正常。但有一點應當明確:雙方都沒有惡意,僅僅是缺乏相互理解而已。
首先,你面臨的是核心奇客們仍然假設所有使用 Linux 的用戶們都是奇客或在向這方面發展。這即是說他們認為所有 Linux 用戶都應當很了解計算機和 Linux,這導致了他人指責他們的一些行為是傲慢、自大和無禮的。其實,雖然有時確實如此,但大多時候卻並非這樣,只是「每個人都應該知道」這樣的善意表達變成了「地球人都知道!」——大相逕庭。
其次,你面臨著從使用的商用作業系統轉投而來的新用戶,這些用戶已習慣使用那些任何人拆箱就能用的軟體。
這類問題起因於不同使用習慣的碰撞:第一類人沉醉於不斷地按自己喜好改造自己的作業系統,而第二類人對作業系統怎麼運行並不關心,只要它能運行就行了。
在樂高(Lego)玩具發生的類似的情況正好闡述這種問題。試想下面的情景:
- 新用戶(以下簡稱「新」):我想要一個新玩具汽車,每個人都因樂高汽車的好玩而著了迷。所以我也買了它,但當我到家後我才發現,我的盒子裡只有積木和齒輪!我的車子在哪裡?
- 老用戶(以下簡稱「老」):你應該用積木組裝一輛車,這才是樂高的真諦。
- 新:什麼??我不知道應怎樣拼裝這個車子。我不是個機械師。我該怎麼知道如何組裝它?
- 老:盒子裡有使用手冊。它上面寫著拼裝車子的步驟。你不用知道原理,只要按照按部就班就好。
- 新:好吧,我找到了說明。這得花多久啊!為什麼他們不能裝好了再賣給我,還得讓我自己動手??
- 老:並不是所有人都滿足於將樂高做成玩具車。這些積木可以被我們組成萬物。這才是遊戲的真諦。
- 新:我仍舊不明白為什麼廠商不能給我們這種想要車子的人一個成品,如果那些喜歡動手的人高興可以自己拆了它阿。不管怎樣,我還是將它組裝起來了,儘管某些部件時不時地掉下來。我有什麼方法可以解決嗎?我能將它們粘起來嗎?
- 老:這就是樂高。他就是用來拆裝的。這才是遊戲的真諦。
- 新:但我不希望總是拆拆裝裝,我僅僅希望一個玩具車而已!
- 老:呃,你到底是為什麼要買樂高?
很明顯,對那些只想要一個玩具車的人來說,樂高並不是為他們準備的。上面的情景應該不會發生在你的生活中。樂高的價值在於你可以建造過程中體會樂趣而且你也可以將它組裝成任何你想要的東西。如果你不想動手拼裝,只能說樂高不適合你。這很容易理解。
由於長久以來一直關注 Linux 的老用戶,同樣的問題在 Linux 上越發明顯:它是開源的、完全可定製的軟體集。這才是真諦。如果你不想自己動手,為什麼自找麻煩來用它呢?
與樂高出售成品玩具的做法略有相似,通過最近的一系列的成果提升了非駭客用戶使用 Linux 的舒適性,這使得更廣大的用戶可以使用 Linux。也正因如此,你仍可以聽到與上面相似的對話,程度也僅是略有不同。新用戶抱怨那些老用戶所謂的「基本特性」幹嗎要讓我們看到,他們討厭閱讀手冊後才能實現一些功能。對太多發行版本的抱怨,對軟體過多配置選項的抱怨和對剛拿到的軟體用起來不順手的抱怨,不正如對樂高有太多模塊的抱怨一樣,忽略了它可以被用來按你想法拆裝成事實嗎?
因此,為了避免這個問題:請記住現在 Linux 的外表並不代表它的過去。Linux 社區最大的也是最關鍵的組成部分——駭客和開發者們,他們因 Linux 的可以按需定製而歡喜;他們也會為可定製能力的喪失因而神傷。
註: 奇客:geek,詞典中解釋為因穿著不時尚和不懂得如何在社會中行事而作出一些怪事的人。現在指那些可以在電子和虛擬世界中非常有才華和想像力的發燒友。Geek宗教一般信仰科技或者顛覆科技。--chronmancer
為設計者而設計
編輯在汽車工業中,你很難發現一個人既設計車輛引擎也設計車輛內飾:這需要完全不同的技能。沒有人想要只是看起來可以跑得很快的引擎,同樣也沒有人想要做工出眾但狹小且難看的車廂。基於同樣的道理,在軟體產業,用戶界面(UI)往往不是由軟體編程人員設計的。 但在 Linux 的世界卻大不相同:一個項目往往是因個人的興趣而產生。個人也包辦了所有的工作,因此這些項目的界面往往缺乏了「用戶友好」 的特性:用戶對這個軟體瞭如指掌,所以他也就不需要幫助文件等。vi 就是一個很好的例子,最初它的目標用戶就是為那些了解它工作方式的人。因而設計者從來都沒有想過如何用其他方式退出 vi ,所以新用戶不得不靠重啟計算機退出的事情時有發生。
但是,自由開源軟體(FOSS,Free and Open Source Software)程式設計師與商用軟體程式設計師的一個最重大區別在於, FOSS 程式設計師的作品都是他們自己想要使用的東西。這些作品新手用起來也許不舒服,但試想一下如果開發人員了解最終用戶的需求,那這作品用起來一定很舒服。而實際情況確實如此,因為作者自己就是最終用戶,他了解他自己(最終用戶),因此該軟體應該用起來很舒服。商用軟體的程式設計師卻大不相同,他們總是為其他人編寫軟體,而且這些用戶都不是專家。
所以儘管 vi 擁有一個令新手望而生畏的界面,但它仍然在當今流行,這又歸功於他的界面:當你熟悉後就會發現它原來無比強大。Firefox 也是被經常瀏覽網頁的人編寫出來的。GIMP 同樣是出自經常處理圖形文件的人之手。不勝枚舉。
Linux 的界面對於新手而言同樣的有些「難度」。儘管 vi 名聲在外,但他仍然不在那些需要快速修改一些文件的新手的考慮之列。如果你在一個軟體生命周期的早期使用它,打磨過的友好用戶界面只會高掛在「計劃」列表之上:主要功能肯定是先被實現的。沒人先做個超級界面,再慢慢添加功能,程式設計師們都是先實現功能再不斷改進界面。
所以,為了避免這個問題:你要麼尋找那些以便於上手為目的而設計的軟體,要麼接受確實需要一個較長的磨合期來適應的軟體。抱怨 vi 對新手不夠友好只是舍本求末罷了。
「用戶界面友好」的神話
編輯在電腦世界裡,「用戶友好「指代非常廣泛,甚至有一個不錯的網絡漫畫就叫這個名字。但這個詞卻名不副實。
基本實現方法聽起來似乎不錯:軟體的設計要從用戶的想法和需要出發。實現的時候人們總是期望達到一個「最好」的界面,但事實並非想像的簡單。
如果你一輩子都在做編輯文本文件的工作,理想的軟體對你來說應當快速、強大,能讓你以最少的操作來做最多的工作。簡單的鍵盤快捷鍵和無需滑鼠的操作將是最關鍵的需求。
但如果你很少編輯文本文件,只是要偶爾寫一封信,那麼你不會想著去學會那些鍵盤快捷鍵操作方法。排列有序的菜單和一目了然的工具欄圖標就是你的理想環境。
很明顯,你為第一個用戶的需求所設計的軟體並不適合與第二個用戶,反之亦然。如此說來,若我們每個人都對軟體有不一樣的需求,那這些軟體怎麼能自稱「用戶友好」呢?
簡單來說:「用戶友好」這個叫法並不妥當,只能讓複雜的情況看上去變得簡單一點而已。
那麼「用戶友好」到底是什麼意思呢?好吧,從那些使用這個詞的文章中來看,「用戶友好」的軟體實際上意味著「該軟體對那些以前從未使用這個軟體的用戶們來說也不是那麼難上手」。這樣一來,只要跟自己用過的軟體長的像,不管它是不是真的好用,都可以叫做「用戶友好」。
熟悉的就是友好的
編輯vi 方式實際上更通用和也更直觀 。「X」 和 「V」 並不是能夠直觀記憶「Cut」和 「Paste」 命令的,反之 「dw」 對於 「delete」(刪除) 更加直觀,明顯vi 是更好的。可是由於它不是大家所熟悉的,因此它被認為是不友好的。沒有其他任何因素,純粹的由於習慣使得 Windows 成為了更加友好的系統。根據問題一中我們得到的:Linux 有必要與 Windows 不同,因此不可避免,Linux 經常顯得沒有 Windows「友好」。
為了避免這個問題,你們要記住「友好」並不意味著習慣。試著用你的方式來做事,如果沒有用的話,試著想想一個初學者會怎麼做,然後你就知道了更簡單的方法。
低效的就是友好的
編輯這是一個可悲的但無法逃避的事實。似乎你把一個軟體的功能埋的越深,它就看起來越友好。
這是因為友好性是通過在用戶界面中使用簡單、可視化的「線索」實現的——越多越好。畢竟,如果一個完全的計算機新手被放到一個所見即所得的字處理軟體前並被要求把一些文本變成粗體,接下來很有可能:
- 他會認為 "Ctrl+B" 是通常的方法。
- 他會尋找線索,並嘗試點擊 "編輯" 菜單。如果不成功,他就會從接下來的一系列菜單中嘗試比較像的那個:「格式」。新的菜單有一個看起來很有希望的「字體」選項。嗨!這裡有我們想要的「粗體」選項。成功了!
下次你再做任何文字處理,都想試著通過菜單來完成每一件工作:不用快捷鍵,也不用工具欄圖標。菜單就是一切。你會發現你比爬還慢,因為所有任務突然都需要大量擊鍵/點擊來完成。
這樣使軟體變得「用戶友好」就像在自行車上裝輔助輪一樣:它讓你能馬上騎起來,不需要任何技巧和經驗。這對一個初學者來說非常好。但是沒有人會覺得所有的自行車都應該加上輔助輪銷售。如果你今天得到這樣的一輛自行車,我敢打賭你要做的第一件事就是除去這不必要的阻礙:一旦你知道怎樣騎車了,輔助輪就沒用了。
同樣的道理,大量的 Linux 軟體是設計成不帶「輔助輪」(輔助工具)的——它是為已經有一些使用的基本技能的用戶設計的。畢竟,沒有人是永遠的新手:無知是暫時的,知識是永遠的。因此 Linux 軟體其實是考慮到了用戶中的多數的。
這聽起來也許像是藉口:畢竟,微軟的 Word 有全部的友好菜單,並且有各種工具欄按鈕, 而且有快捷鍵……它是世界上最棒的,對嗎?既友好,又高效。
然而,我們必須透過表象看問題。首先,這個想法的可行性:讓一個軟體擁有菜單、工具欄、捷徑等一切意味著大量的原始碼編寫,而沒人為 Linux 開發者花費的時間付帳;其次, 這樣做依然沒有真正考慮到那些高端用戶:極少有專業的文字錄入者使用微軟的 Word。你見過哪個編程的人用 Word 嗎?與此相比,想想有多少人用 emacs 和 vi。
為什麼會這樣?首先,這是因為正是某些「用戶友好」的行為導致了低效:參看上面的「剪切和粘貼」的例子。其次,這還因為 Word 大部分的功能被放在了菜單裡,因此你不得不使用菜單。只有某些最常見的功能可以作為按紐被放在屏幕上方的工具欄上。高級用戶不得不花大量的時間來找到那些普通用戶較少用到,但對高級用戶來說依然很常用的的功能。
請記住,其實那些「輔助輪」在 Linux 軟體中也同樣有,通常作為可選的附加組件,儘管他們不是那麼容易被發現,但實際通常都會有。
以 mplayer 播放器為例。你可以在終端輸入 mplayer 視頻文件名命令來播放視頻文件。你可以使用方向鍵,PageUp、PageDown 鍵進行快進、後退等操作。這些可能還不能稱之為完全的「用戶友好」,但如果你在終端輸入 gmplayer 視頻文件名,你就會看到圖形版的播放器,它同樣擁有漂亮、友好的界面,熟悉的按鈕。
再用從 CD 轉換到 MP3(或 Ogg)為例:如果使用命令行, 你需要先使用 cdparanoia 命令把 CD 的內容錄製為磁碟文件,然後你再需要一個編碼器……這會是一個噩夢,就算你完完全全清楚如何使用 imho 包。所以,下載和安裝 Grip 吧。這是一個容易使用的圖形軟體,自動的在背後使用 cdparanoia 命令和編碼器,令你的轉換過程變得簡單,甚至支持 CDDB,能自動為你的檔案命名。
同樣發生在抓取 DVD 上:選擇正確的編碼是一場噩夢。但是使用 dvd::rip 軟體,可以在一個任何人都能操作自如的圖形界面中來完成整個編碼過程。
因此避免這個問題:要記住「輔助輪」(輔助工具)僅作為 Linux 的擴展,而不是自動跟著主程序安裝的。而且有時,「輔助輪」還不成為設計的一部分。
模仿 vs. 趨同
編輯當人們發現 Linux 不是他們想要的 Windows 複製品時,經常爭論一件事,就是堅持認為 Linux 一誕生,這(不成為Windows複製品)就是(或應該是)其努力的方向,而且那些不明白這一點的人錯誤地努力使 Linux 更像 Windows。由於這一點,他們展開激烈的爭論:
Linux 已經從命令行時代進入了圖形界面時代,這明顯是在學 Windows。
不錯的理論,但卻是錯誤的:最初的 X 窗囗化系統(見附錄)是於1984年發布,繼承自1983年移植到 Unix 上的 W 窗口化系統。而 Windows 1.0 是在1985年才發布的。Windows 在1990年發布第三版之前並沒有做大——那時,X 窗口化系統已經演化成我們今天使用的 X11 版本好幾年了。Linux 在1991年才開始,所以 Linux 沒有開發一個 GUI(圖形用戶界面)來模仿 Windows:它只是使用了一個在 Windows 出現之前就已經存在的 GUI。
Windows 3 的續作 Windows 95,帶來了圖形界面的革命性變化。在這以後很多年,微軟都沒能作出與此類似的創舉。Windows 95 帶來了多項創新的特性:拖放功能、任務欄等等。因而 Linux 借鑑了這些東西。
事實上……不是這樣的。上述所有的特性在微軟使用前就已經出現了。例如,NeXTSTeP(見附錄介紹)是一個非常先進的圖形用戶界面(就當時而言),它明顯早於 Win95 ──1989年發布了第一版,1995年發布了最後一版。
好吧,好吧,這樣看來我們熟悉的「Windows 界面」,其實其中的元素並不是微軟自己創造的。但它還是創造了一種整體界面,Linux 從那時起嘗試模仿它。
為了反駁這一條,我們來討論一下「趨同進化」的概念。它說的是:兩個不同的、各自獨立的系統隨著時間的推移會逐漸變得類似。這種現象經常發生在生物學領域。舉例來說:鯊魚和海豚,他們都有著類似的背鰭、胸鰭和尾鰭,以及同樣的流線型外形。
但是,鯊魚是由魚進化而來的,而海豚則是由陸地上某種四條腿的哺乳動物進化而來的。他們擁有類似外形,是由於他們都生活在同樣的海洋環境中,他們必須朝最大效率適應海洋環境的方向進化。實際上不會有一幕這樣的場景:未進化的海豚(相對的後來者)看到鯊魚以後就開始想「哇,看看鯊魚的鰭,它們非常有用。我也要這樣進化一套自己的鰭!」
同樣,如果先看早期的 Linux 桌面、FVWM 和 TWM 以及許多簡陋的 GUI(圖形用戶界面),然後再看看今天的 Linux 桌面、Gnome 和 KDE,以及它們帶有的任務欄、菜單、視覺效果。是的,不得不說現在的 Linux 比早期的更像 Windows 了。
另一方面,Windows也同樣如此;我印象中 Windows 3.0 沒有任務欄。那麼開始菜單呢?什麼是開始菜單?
Linux 過去沒有任何桌面像今天的 Windows,微軟過去也沒有(一個像今天的 Windows 的桌面)。現在他們都有了,這說明什麼問題呢?
這說明來自兩個陣營的開發人員都在尋找提升GUI(圖形用戶界面)性能的方法,但是解決相同的問題可供選擇的方法並不多,他們難免會使用類似的方法。類似並不能說明或暗指一方在模仿另一方。記住這一點,你就不會受到這個問題的困擾了。
FOSS──自由和開源
編輯問題要來了。自由和開源是整個事情中一個很有意思並且相當重要,但卻不是根本的部分。但是對於一些人看來,不過對於開源軟體和專有軟體之間的區別這個問題,對一些人來說實在是有些太寬泛而難以理解的。
我已經舉了一些例子,人們認為他們有權要求技術支持和他們的東西。但是事實並不是這樣。
微軟的使命是「A computer on every desktop(讓每個桌面上都有電腦)」——他們沒有說出口的是每台電腦都運行著 Windows 。微軟和蘋果公司都銷售作業系統,都盡他們最大的努力來保證儘可能多的人使用他們的產品:他們是來做生意,要賺錢的。
然而看看FOSS,直至今天,幾乎完全是非商業性質的。
當你發電子郵件告訴我,Red Hat、Suse、Linspire ……是的,我知道他們在「銷售」 Linux。我知道他們都希望 Linux 被廣泛的採用,特別是他們自己的版本。但是不要混淆提供商和製造商。Linux 核心不是被某個公司製造,不是由靠它獲利的人來維護它。GNU 軟體不是被某個公司製造,同樣也不是由靠它們獲利的人來維護。X11 視窗系統……好,當前最流行的實現方案是 xorg,「.org」的名字應該能告訴你想知道的(註:.org為非盈利組織)。桌面軟體:好的。你提出一個例子,比如 KDE ,由於其基於的 Qt 是商業化的。(譯者註:現在 Qt 已經不是商業化的了,是雙重授權)。但是 Gnome、Fluxbox、Enlightenment 等等,都是非盈利的。確實有人銷售 Linux,但是那只是極少數。
私有軟體最終用戶數量的增加可以直接變為製作公司的直接經濟效益。對於 FOSS來說,並不是這樣,使用人數的增加並不會產生直接的收益。非直接收益當然是有的:個人的自豪,更多發現 Bug(錯誤)的機會,更多可能得吸引新的開發者,可能有機會得到個好的工作,等等。
但是 Linus Torvalds( Linux 的創始人)並沒有因 Linux 用戶的增加而賺錢。Richard Stallman( GNU 創始人)也沒有從 GNU 用戶的增長中獲利。所有運行 OpenBSD 和 OpenSSH 的伺服器也沒有放一分錢到 OpenBSD 項目的口袋中去。因此我們來到了在 Linux 和新用戶之間最大的問題:
他們發現,他們不是 Linux 製造商請來的。
來到 Linux 之前,這些新用戶使用的作業系統當中,最終用戶的需求至高無上的,並且「用戶友好性」和「以用戶為中心」 被認為是第一位的。他們突然發現他們自己將要使用的作業系統仍然依賴於「man」文檔、命令行、手動編輯的配置文件和 Google。而且當他們抱怨時,還沒得到全方位的服務,也沒得到什麼承諾:被直接拒之門外。
當然是有些誇張了。但是確實,很多人像這樣,以自己熟悉的方式來試著嘗試 Linux,卻遭到了失敗。
從另一方面來說,FOSS 事實上是一種非常自私的發展方法:人們想工作的時候才工作,並且只做他們想做的工作。大部分人都不認為讓 Linux 增加一些對沒有經驗的用戶的吸引力有任何的必要:Linux 已經能做他們(設計者)想要它做的事情了,別人如果用不來,他們為何要在意呢?
FOSS 和 Internet 自身有很多相似的地方:你不需要付錢給一個網頁(軟體)的作者,就可以去下載和閱讀(安裝)它。對於已經有了寬頻網(知道如何使用軟體)的人們來說,全民安寬頻(用戶友好的界面)沒什麼吸引力。博客主人(軟體開發者)不需要很多的讀者(用戶)來作為動力以繼續寫博客(編寫軟體)。 確實有許多人從中賺到許多錢,但不是靠通常的大多數生意的規矩:「這是我的,如果你想要,請付錢」;它是靠提供技術支持(電子商務)的服務來賺錢。
Linux 對市場佔有率不感興趣。Linux 也沒有客戶。Linux 沒有股東,也沒有盈利的責任。Linux 不是為了賺錢而創造的。Linux 的目標不是成為地球上最流行和最普及的作業系統。
Linux 社區想要的是一種真正品質優良、充滿特色、自由的作業系統。如果這使 Linux 最終成為一種非常流行的作業系統,那麼非常好。如果這使 Linux 最終擁有直觀的、用戶友好的界面,那麼也非常好。如果這使 Linux 最終成為一個數十億美元的產業,那也非常好。
這僅僅是很好,但不是重點。重點是,讓 Linux 成為社區能力範圍之內的最好的作業系統。不是為了別人:為了社區自己。如此普遍關於「除非 Linux 如此這樣,否則永遠不會佔領桌面」的威脅論是不恰當的:Linux 社區沒有嘗試佔領桌面。他們完全不關心它是否能夠好到進駐你這個新用戶的桌面上,只要在他們自己的桌面上運行的夠好就行了。 高呼憎恨微軟的人,深度Linux 的狂熱者,靠FOSS賺錢的人或許會在這裡站出來說兩句,但他們仍然只是少數。
這就是 Linux 社區的目標:一種能夠被任何想要它的人安裝的作業系統。所以如果你在考慮轉向 Linux。首先,問你自己,什麼是你真正想要的。
如果你想要一種作業系統,就像一輛汽車,沒有雇來的司機,給你把鑰匙,讓你自己做在駕駛員的位置上,並且希望你知道該做什麼:用 Linux吧。你得花些時間去學習如何使用它,但是一旦你學會了,你將擁有一個讓人著迷的作業系統。
如果你只是想要沒有惡意軟體和安全問題的 Windows:閱讀一些安全方面的資料,安裝好的防火牆,惡意軟體檢測工具和殺毒軟體;用一個更安全的瀏覽器替換 IE ;保持安裝最新的安全更新。有人(包括我自己)使用 Windows 從 3.1 到 XP,從來不曾被病毒或者惡意軟體感染,你也能做到。不要用 Linux,它不會成為你想要它的那個樣子。
如果你想要一種基於 Unix 的作業系統的安全性和性能,以及客戶至上和世界著名的界面:購買蘋果公司的 Mac 電腦。Mac OS X是不錯的。但是不要用 Linux:它不會做你想要它做的。(譯者註:目前 Linux 上的 Compiz 已經成為最花哨的窗口管理器了。)
問題不僅僅是「為什麼我想要 Linux?」。還有「為什麼 Linux 想要我?」