1. 程式人生 > >Linux不是Windows(轉載,強烈推薦…

Linux不是Windows(轉載,強烈推薦…

如果你像我一樣花些時間在Linux論壇上,那你就會像我一樣因為有太多這樣的帖子而惱怒:

"嗨!我用了幾天Linux,總體還行。但某某功能不能像Windows那樣,真糟糕。為什麼開發人員不能重寫一下讓它更像Windows一點?我相信這樣做的話Linux的使用者會更多!"

你也許嘗試過迴應這些問題,結果那個Linux新手卻和你吵得面紅耳赤,他根據自己幾年來在另外一個作業系統上和區區幾小時在Linux上的經驗,得出結論:他的想法是無比睿智的,而你不同意他的觀點是因為你是一個從“古董學校”出來的Linux使用者,認為GUI是惡魔的產物,所有人都應該強迫去用CLI (譯者:命令列介面)。

本文的目的就是向這樣的新手解釋為什麼他們的觀點會引發爭論而不是受到歡迎。

首先就是這個最常被提起的論斷: "如果Linux能這樣,那就會有更多的人從Windows轉過來!"

這樣,讓我先解釋一下為理解Linux所需的基本常識:Linux社群不會試圖去為一般的Windows使用者提供一個替代的作業系統。Linux的目標不是“每臺機器都裝Linux”。

千真萬確,真的不是。. 的確,它們都是作業系統,的確,它們都能做相同的事情,但是這讓Linux成為一種選擇,而不是替代品。這看上去也許算不上什麼區別,但實際上卻是最最重要的一點。

Linux<=>Windows就如同摩托車<=>小汽車:都是車,能通過公路吧你從甲地送到乙地,但它們有不同的形狀、不同的尺寸、不同的操作裝置,其基本工作方式也不同。它們是不可以隨意互換的。它們有不同的用途、不同的長處和短處,你要挑選一種適合自己的,而不要指望一種可以完全替代另一種。

一個開車的人遇到塞車時,看到摩托車自如在車堆中來回穿梭,他也許會羨慕摩托車所具備的這種能力。如果這個司機接著又說:“我對汽車瞭如指掌,所以我也一定同樣瞭解摩托車!”,那麼他就錯了。

    * 如果那個司機買了一輛摩托,然後發現很難適應用手旋轉握把來控制加速,而不是腳踏板,他可能會報怨摩托也應該裝油門踏板。
    * 如果那個司機有一個老婆兩個孩子,他也許覺得摩托車只能載一個乘客是個缺點。他會建議重新設計摩托車,使其可以兩兩肩並肩的坐四個人。
    * 如果那個司機想騎摩托車,卻發現無法控制平衡,總是摔倒,他也許會建議讓摩托車也安上四個輪子。
    * 如果這個司機發現轉彎時自己身體總會傾斜,那他會建議在摩托上裝穩定器使其可以在轉彎時總保持正直。
    * 如果這個司機怕摩托車被偷,他也許會報怨摩托沒有門,讓小偷容易得手。
    * 如果這個司機覺得頭盔礙事,他也許會建議在手把上裝一個安全氣囊以替代煩人的頭盔。

這些情況下他都錯了,因為他想用摩托車替代汽車,他想讓摩托做所有汽車能做的,他以為摩托的工作方式與汽車相同,比汽車缺少的功能只要嫁接上就行了。

同樣,一些好心的Linux新手也建議把Linux變成他們所熟悉的樣子,結果也因為相同的原因沒有任何所獲。也許Linux和Windows都可以被用於完成相同的任務,但汽車和摩托也是。這並不意味這你可以直接從一個換到另外一個,也不意味著它們的特性可以相互替換。

太多的人以為從Windows轉移到Linux就如同寶馬換賓士一樣,認為其控制方式應該相同,他們的經驗直接可以派上用場,而兩者之間所有的差別也僅僅是表層的。他們想:“在公路上行駛時,我需要汽車,在使用電腦時,我需要作業系統。汽車的工作方式都相同,因此作業系統的工作方式也應該都相同。”但這並不準確。“在公路上行駛時,我需要車,在使用電腦時,我需要作業系統。我知道如何開汽車,但我不懂摩托車。我知道如何使用Windows,但我不懂 Linux。”----這才是準確的。

Windows使用者必須意識到他只是一個有經驗的Windows使用者,而不是有經驗的電腦使用者,就像汽車司機僅僅是汽車司機,而不是所有種類車輛的司機。Windows使用者必須意識到當他在嘗試Linux時,他又成為了一個新手,就像汽車司機去嘗試開摩托。 Windows必須要願意去學習完成相同任務所需的不相同的手段,就像汽車司機必須要去適應替代方向盤的手把和他從沒戴過的頭盔。並且他們要作好心理準備:這些“不同”並不意味著“劣等”。

這個簡單的事實給有基礎的Windows使用者造成了更大的麻煩。他們來用Linux時帶著根深蒂固的Windows操作習慣和一種態度:“謝謝,我知道怎麼用電腦!”問題是,他們並不知道,他們只知道怎麼用Windows。當面對另一種作業系統時,這些高階使用者可能會遇到最糟的問題:他們有太多的經驗需要遺忘掉。

當一個新手說“我不知道”,接著就開始在論壇上探索、提問時,一個Windows高階使用者可能會說:“我知道怎麼做,我就這麼、這麼、這麼做,然後……居然不行!愚蠢的系統!”接著他們又說:“如果我這麼有知識的都搞不定,那新手就更不要想了,Linux離桌面應用還有十萬八千里呢!”他們恐怕沒有意識到他們的知識幫了倒忙,使他們比經驗少的使用者遇到更多的問題。他們錯誤的以為Linux是一種可以和Windows做相同事情的軟體,而事實上是它是一種不同於Windows的軟體,做的事也不同。不是Linux做與Windows相同的任務做得不好,而是它很好的完成了一個替代的任務。

Linux是一種可供選擇的作業系統,而不是Windows的替代品。它也永遠不會取代Windows,因為它們有完全不相容的目標。微軟的目標是讓他們的軟體裝到更多的電腦中,賺更多鈔票。而Linux不是這樣,它是免費的,它的著眼點不同。

要理解這一點就要先理解FOSS 。並不奇怪很多Linux新手現在還不能很好的理解它,他們是新手嘛,他們還是習慣於從私有軟體的角度思考。所以讓我解釋一下:

典型的FOSS軟體的作者往往因為對現存軟體的不滿,於是想到自己來寫一個。而他又是個大好人,他把軟體原始碼公之於眾之後對大家說:“你們自己折騰吧!”。他可以這樣做,因為複製軟體沒有任何成本,所以把軟體貢獻給世界也不會比自己留著用多花一分錢。他不會因為把軟體送人而感到痛苦。

然而,很重要的一點需要記住的是:他也不會因為送出軟體而獲利。不論是一人用還是一億人用,對開發者來說毫無區別。哦,當然,他一定樂意看到自己的產品廣受歡迎:使用者數是個自我吹噓的好題材,還能創造記錄。但這不會為他帶來任何金錢:因為這是FOSS。

如果這個軟體有所成功,別人就會對此感興趣,也願意幫助改善它。這是FOSS最大的優勢:每一個使用者都可能是潛在的開發者,每一個人都能參與使軟體工作得更好,功能更多,bug更少。如果一個軟體能吸引到一大幫開發者那將是非常好的事情。但這僅是對軟體本身而言的,它會使軟體變得更好,而開發者不會因此致富,只會讓他們為此投入更多的時間。

FOSS與如Windows一類的私有軟體截然相反:FOSS完全關注於軟體本身,而不在意終端使用者的數量。軟體執行很好,但使用者寥寥,這從商業軟體的標準來看是失敗的,但從FOSS的標準來看卻是成功的。

FOSS關注於編寫高質量的軟體,真正能做事的軟體。如果你想使用它,那你就需要投入時間來學習如何使用。FOSS軟體是免費供你使用的,為編寫它許多人不去計較個人利益,投入了大量的時間 。因此,在你報怨它不能像Windows中相對應軟體一樣工作之前,至少也應該投入一點時間,算是對軟體作者貢獻的一種尊敬吧。

“哈哈,現在我抓到你的破綻了,”一個新手自鳴得意的說:“有一些Linux專案的目的就是替代Windows,而不僅是提供一種選擇。”

不難看出這種想法從何而來。例如,KDE和Gnome提供了一種不同於Linux傳統的視窗管理器和CLI的桌面環境,它們更加類似於Windows。Linspire更一種要把Linux做的完全和Windows一樣的Linux發行版。

然而,這些論據更能支援我的觀點,而不是那個新手的。

為什麼?因為這些都是標準的FOSS專案,都是以把軟體做得更好為目的的。唯一的區別就是,在這些專案中品質的定義是“如何讓Windows使用者使用起來更方便?”

你一旦考慮了這個因素,你就不得不同意這些專案的目標都是改進軟體本身,它們都是100%的典型Linux軟體。這些專案由那些更加無私的開發人員編寫:他們這樣做不是為滿足自己的需要,因為他們已經太熟悉Linux了。相反,他們是為了使其它人從Windows過渡到Linux更加容易。

這些開發人員知道有一些Windows使用者希望轉投Linux陣營,於是他們花力氣建造一個能讓Windows使用者感到舒服、熟悉的Linux環境。他們無意去替代Windows,儘管最終的結果給人留下了這樣的印象,但他們的最終目的是不一樣的:不是製造一個Windows替代品,而是幫助 Windows使用者過渡到Linux上。

社群裡反對這些專案的聲音並不罕見。有些人理由也是合理的(“KDE太吃資源,還是用Fluxbox好”),有些人則抱著一種不夠理性的“像Windows樣的軟體都不好”的態度。事實上這不是反微軟或反Windows的態度,而是蠻不講理的憎恨自己不瞭解的東西。

典型的Linux使用者是一個電腦愛好者:他用電腦因為電腦好玩,程式設計好玩,hacking(譯者:這個詞非常難譯,沒有一個簡單的詞能夠代替,這裡主要是指修改軟體使之滿足自己需求)也好玩。而Linux是hacking愛好者的最愛,他可以把Linux分解到最基本的部分,然後再根據自己需要重新組裝起來。

然而,新來的Linux使用者很大部分不是電腦愛好著,也不是hacker(譯者:修改軟體使之滿足自己需求的人)。他們只要求電腦能工作,就像Windows那樣工作。他們沒興趣去花時間設定Linux,他們希望拿來就能用。

這很好,但在典型的Linux使用者看來,這就如同有人想要一輛已經組裝好並用膠水粘牢的樂高玩具汽車。這對他們來說實在無法想象:“怎麼會有人要這個?”

這的確難以理解。如果你想要一輛做好的汽車模型,那去買一輛玩具車。如果你想要一輛可以自己組裝的車,那就買樂高。怎麼會有人想要一輛只能當玩具車玩的樂高車呢?樂高的樂趣就在於自己組裝啊!

典型的Linux使用者也會如此回答那幫問“為什麼它就是不能工作呢?”的人:“如果你僅想讓電腦工作,用Windows好了,如果你想自己能動手修改,那就用Linux。如果你對開源軟體的這些好處毫無興趣,那你幹什麼還要轉去用Linux呢?”

答案通常是他們根本就不是真心想去用Linux,他們僅僅是想遠離Windows:他們希望遠離病毒,遠離惡意軟體,他們希望免除收費軟體的限制,不被E.U.L.A.所束縛。他們不是在嘗試投入Linux的懷抱,他們只想擺脫Windows。而Linux只是最廣為人知的一種選擇罷了。

稍後再進一步論述. . .

你可能想:“好吧,這樣可以解釋為什麼開發者不去盡力讓他們的軟體更像Windows,但是Linux軟體也可以在不違反FOSS的原則的前提下擁有有像Windows那樣友好的GUI呀。”

有一些理由可以說明為什麼不是這樣。

首先: 你真的認為寫軟體的人會故意去弄個很爛的使用者介面?

當一個人投入大量個人時間去編寫軟體時,他總會努力使軟體的使用者介面(UI)儘可能的好。UI對軟體來說太重要了:如果某個功能不能通過UI來訪問,那它就根本毫無意義。你也許不知道,但UI成為現在這樣不是沒有道理的,其原因是那就是軟體創造者能做出的最好的UI了。

如果你仍堅持類似Windows的UI使軟體更好,請不要忘了這樣一個事實:這些軟體的作者並不同意你的意見。他們對這些軟體的理解肯定比你要深刻得多,也許他們錯了,但可能性很小。

第二: 現在已經有很多漂亮的、易於被Windows使用者接受的GUI前端。我想不出有什麼功能不能通過GUI來控制,不管是多麼高階的。你可以編譯核心(make xconfig),設定放火牆(fwbuilder),硬碟分割槽(qtparted)……這些都可以由好看的、互動的、符合直覺的並且使用者友好的程式完成。

但是Linux的釋出週期與Windows不同,不可能從一開始就有一個精良的GUI介面。GUI只會增加軟體的複雜度,而不會給功能帶來什麼改進。開發者的本意可不是弄個花哨卻什麼也做不了的GUI,他們創作的是自己需要的軟體。

一個軟體最先能做的便是在命令列(CLI)方式下使用,它可能包含各式各樣的呼叫選項和長長的配置檔案。因為這是實現軟體功能所需要的最基本的東西,其它的都可以慢慢完善,即使日後有了漂亮的GUI,但我們仍應當看到:通常它還是完全可以用CLI和配置檔案來控制的。

    * 這是因為CLI有很多優勢:CLI通用;每個Linux系統都有CLI;所有程式都能從CLI執行;遠端訪問CLI也特別方便。而GUI則不然:有些Linux機器沒裝X11視窗系統;有些軟體不能通過GUI選單訪問;通常遠端使用GUI工具也不容易。

最後,可能會有不同GUI前端能做相同事情,別人無法知道你到底裝了哪一種。

所以請記住,當你問“我該怎麼弄……?”的時候,大部分情況下別人都會告訴你怎麼通過CLI解決。這並不意味著問題只能從CLI解決,而是恰恰反映了在軟體發展過程中CLI相對於GUI的重要性。

    * Windows是完全以GUI為中心的,它是一種基於GUI的作業系統,其CLI是爛得可以(但很快就要改善了)。幾乎沒有什麼Windows軟體是沒有GUI的。這也使人們認為GUI是一個軟體必不可少的重要元素。但對於Linux來說,軟體一旦能工作就可以釋出了,只有等它足夠穩定、沒什麼bug、功能也很豐富時才有必要增加GUI。
      請試著把一個沒有很好GUI介面的軟體理解為內部測試版,而不是一個已經完成的產品。FOSS還遠遠沒有“完成”,它還在不斷的改進中。只要時機成熟,它完全可以變得使用者友好。但在大部分情況下,使它工作的更好要比使它看上去感覺更好重要得多。你應該高興今天就有機會能用上未來軟體的功能,而那些只喜歡漂亮GUI的人就享受不到了。FOSS並沒有到達它旅途的終點,它才剛剛上路呢。

最後你還需要記住的是:軟體的GUI部分經常是分開提供的,甚至有可能是完全不同的開發人員獨立開發出來的。所以如果想要GUI,那一點也不奇怪你必須分開安裝,而不是一次性裝好。

誠然,為了獲得Windows式的GUI,分開安裝確實增加了額外的步驟,但這不影響這樣一個事實:你現在就可以通過“像Windows一樣”的GUI做幾乎所有事情。請不要忘記GUI通常只是最後一步,Linux絕不會只圖外表而不重內涵的。

第三: Linux是特別設計給知識豐富的老手使用的,而不是無知的新手。有兩個原因:

    * 無知乃與生俱來,但它很短暫,知識才是永恆的。也許要幾天、幾周、幾個月才能讓你從“Linux新手”成為“中等的Linux使用者”。但你一旦達到這個水平,你就可以一直用下去了。
      為了使軟體對新手來說比較易用而放進一大堆程式碼就如同給所有自行車焊上永久的平衡輪。也許這會讓起步變得比較容易,但之後呢?我相信你現在肯定不會想買一輛帶平衡輪的車。不是因為你是一個反對使用者友好的怪人,而是平衡輪對你來說毫無用處了,除了新手誰都用不上,放在那裡反而礙事。
    * 不管軟體多好,使用者要能用得好才行。就算有世界上最安全的門,如果你不關窗、不鎖門或者忘拔鑰匙,小偷一樣暢通無阻;就算有世界上最好的引擎,如果你加錯了燃料,一樣跑不了。Linux把所有的能力都交到了使用者手裡,這也包括破壞它的能力,當然沒人想這樣。想要保持Linux正常的運作,多學點讓自己知道自己在做什麼是唯一的辦法。如果使用者可以很容易的操作那些他根本不瞭解的功能,那麼他也很有可能會造成破壞。

第四: 從上面的文字中,你覺得FOSS有可能通過吸引典型的Windows使用者而獲得任何好處嗎?

不急,你可以重新看一遍,我等著。

Linux和FOSS的指導原則是“做好的軟體”,並非“做Windows的替代品”。一群典型的Windows使用者對Linux的唯一貢獻就是報怨。他們報怨什麼?“它工作得不像是在Windows上那樣。”

不,它不像。如果Linux工作得就和Windows一樣,那就太爛了,它將會是一個沒人要的劣質品。人們如此熱烈的喜愛Linux正是因為它不像Windows,它不會替你做每件事,它不會假設你永遠是個無知的新手,它不會所有把內部的工作都隱藏起來。

Windows是載著你四處跑的司機;Linux則給了你鑰匙並讓你坐上駕駛座。如果你不會開車,那是你的問題、你自己的錯。只要你肯問,很多人都會幫助你。如果你提建議類似於裝備定速巡航系統,你定是有所領悟:汽車還是自己控制在自己手上,只不過可以省不少力氣。但是如果你嘗試去勸說別人Linux真的真的需要一個司機,那你真該懺悔一下。

“但這將使Linux更加主流啊!”,新手叫到。

也許是這樣。但是Linux成為主流,開發者們又能從中得到什麼好處呢?Linux是免費的,就算Linux獲得了更大的使用者群,Linux的創造者們不會因此多賺錢,Linux論壇上的人們也不會由此獲利。Linux的目標不是“獲得更大使用者群”──那是私有軟體的目標。

Linux的目標是創造真正好用的作業系統。開發者們一直都在忙於增加功能、減少bug和改進現有的程式碼,他們可沒有閒功夫去舉著廣告牌宣傳他們的東西有多好。你不難發現在他們眼中什麼才是最重要的。

有意思的是這樣的模式使Linux的使用者群不斷增長,Linux開始很渺小,後來卻非常巨大。什麼原因使Linux得到如此廣泛的認同?原因是它一直將質量視為焦點。使用者被Linux自由和質量所吸引,而這隻有FOSS能夠提供。Linux能夠發展壯大正是因為它並不在乎自己有多大。開發者們僅僅關注如何使它工作得更好,於是他們吸引了那些想要一個能工作得更好的作業系統的使用者。

如果突然把這一切都拋棄,相反讓Linux去關注如何替代Windows,那就等於抹殺了Linux賴以成功的要素。有些公司已經看到了Linux成長潛力,希望從中掘出寶藏。但GPL成為了他們的障礙,他們無法把Linux買出Microsoft的價。“Linux如果還堅持開源的話那肯定長不了,”他們說,“因為沒人能這樣賺錢的。”

他們沒有意識到把Linux變為私有軟體是殺雞取卵的短視行為。正因為Linux是FOSS,也沒有人想用它去替代Windows,Linux才能發展到今天的規模。Linux繁榮的原因恰恰在於它在與Windows的競爭中選擇了一條Microsoft永遠無法對抗的陣線:開放和質量。

對於大多數Windows來說,Linux只是一個劣質的Windows摹仿品,它看上去功能不夠豐富、整合度差還特別複雜。對於這些使用者來說, Linux是個很差的作業系統。的確是這樣:Linux沒有滿足他們的需求。他們需要的是一個簡單易用的作業系統,不用任何學習就能上手。

Windows是設計給非技術人員使用的,他們普遍感到Linux很難用。儘管情況不是這樣,但這種誤解還是可以理解的。

事實上Linux很容易使用,真的非常非常易用。那為什麼他們都不這麼看呢?因為“易用”一詞含義被嚴重的扭曲了,“易用”現在被理解為“在沒有預先學習的情況下用起來也很容易”。但那真的不是“易用”的含義,而是“易懂”。其區別就如同:

    * 一個保險箱,上面有一張紙條寫道:“如需開此保險箱,請先把播盤播到32,然後到64,然後到18,然後到9,最後擰動鑰匙,同時向上提起把手即可。”



    * 一輛小汽車,只要按動搖控器上的“開鎖”按鈕就能開啟車門。

開車鎖相比要容易得多,對吧?只要靠近汽車,一個按鈕就能搞定,不像保險箱還得精確的來回轉動播盤。然而,對於兩種鎖都不會開的人來說開保險箱鎖要比開車鎖容易:保險箱上寫有清楚的開啟方法,而開車門的按鈕甚至都沒有裝在車上。

會者不難。Linux也是這樣,它很易用,但是學起來辛苦,只有當你願意投入時間去學習Linux時你才能發現它為什麼簡單。不可避免,你越是把任務分解為簡單的步驟,完成這個任務所需的步驟就越多。

讓我隨便來舉一個簡單的例子:把文字中的五行(段)從中間移到尾部。

如果用微軟的Word、寫字板、記事本等等“使用者友好”的Windows文字編輯器,最快的辦法是:
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-X
- Ctrl-End
- Ctrl-V

(這裡假設你使用鍵盤操作。不然,你需要好幾步滑鼠託拽操作和可靠的自動滾屏。)

在vi裡只需如此:
- d5d
- Shift-g
- p

論“使用者友好”性,vi可謂要多差有多差,但它完成同一操作所需的擊鍵次數卻比微軟的軟體少。為什麼?因為Vi注重於功能,而微軟更注重“使用者友好”。微軟把所有事情都分解為簡單步驟,所以完成同樣的任務要花多得多的步驟。

這使得不論是什麼樣的文字編輯任務,一旦你學會使用,相比之下vi都更加高效、易用。如果你不知道“d5d”的意思是“將五行文字放入緩衝,然後將其從文件中刪除”,那麼可能你用起vi來就會感到很痛苦。但如果你已經知道了,那用它起來就是隨心所欲了。

所以當一個新手看到有經驗的vi使用者可以如此快速、方便的做事時,他自然會很容易得出結論:編輯文字,vi要比Word強。然後他自己去嘗試,執行vi,看到的是滿屏的~s,打字,什麼反應也沒有。

後來他弄明白了文字錄入和命令模式,接著就想用vi做事。然而對vi過於有限的知識依舊使他步履維艱,在他能真正掌握vi之前還有太多的東西要去學習。然後他開始報怨:“vi如果能像Word那樣易用就好了。”

但實際的問題是:“我不知道怎麼用vi,學起來太麻煩了。”這是他自己的問題,他在指責自己的問題而不是軟體的。 有成千上萬的人樂意於使用vi,他們從沒報怨過說:它太難用了,必須改!

請相信我,如果他能寫出一個軟體既像Word那樣“使用者友好”又像vi那樣功能強大,那他一定能贏得無數掌聲。事實上,他應該還能贏得諾貝爾極度智慧獎,因為目前還根本沒有其它人能做到這一點。但他如果僅僅是訴苦vi太難用,那隻會遭到嘲笑,因為vi沒問題,問題在他自己。

轉至 UserFriendly.org 版權所有 © 2004 J.D. "Illiad" Frazer.
(譯者:
圖1,左:你有沒有給Niffle先生打電話,關於他的連線問題?右:有。
圖2,左:那分析結果是?右:經典PEBKAC問題。
圖3,左:PEBKAC?右:鍵盤和椅子之間存在的問題。)

這就像買了達芬奇的畫筆然後報怨自己還是不會畫畫。畫家的技巧才是成就名作的關鍵,畫筆本身創作不了蒙娜麗莎,它只是一個依賴使用者技巧的工具。而這種技巧必須通過練習才能獲得。

vi正是如此,很多Linux軟體也一樣。一些新手總是報怨這些文字編輯器、包管理器或者命令列本身太複雜、太不夠直觀。

在你堅持Linux某些東西必須修改之前,請問自己這樣一個問題:“那些老手們是不是也有同樣的意見呢?”

如果答案是“不”,那問題在你自己這一邊。如果其它人都能很好的使用,你為什麼就不行呢?你有沒有花時間去學呢?或者你是否打心底裡就沒有想去嘗試呢?

“使用者友好”和“底層的功能性”常常是矛盾的。那些小按鈕和下拉選單確實能使軟體變得易於使用,但對有經驗的使用者來說它們卻可能是麻煩。這就如同拿著地圖和指南針從A走到B,與看著路標走的區別一樣:誰都會跟者路標走,但這會比知道如何直接過去的人多走一倍的距離。

(譯者:藍色線條:“簡單”路徑;紅色線條:直接路徑)

如果我想在Excel中貼上公式的值,我只能通過選單選擇:編輯->選擇性貼上->貼上數值。我不想在這些“友好”的選單、子選單和對話方塊中選來選去,我就想直接完成。老實說,如果重設快捷鍵,再記錄一些巨集,我完全可以通過鍵盤來指揮Excel和Word做絕大部分的事。

但這就不是使用者友好了,對不對?它還是需要使用者投入大量時間來研究這個軟體。Linux要求你花時間學習如何使用現成的功能,而“使用者友好”的軟體卻要你花時間自己創造功能。

如果你喜歡這樣,沒問題,你就這樣做好了。只是你應當看到:問題出在你自己的知識水平上,而不是軟體本身。一旦知道如何使用,所有的Linux軟體都超級好用。但如果你不知道,那它就顯得很難使,這並不是軟體的錯。

現在也許你開始覺得Linux有點態度問題。它不想要使用者,它不想讓自己的使用者感到方便……它只是給那些自命不凡的l33t h4xx0r5用的!(譯者:l33t h4xx0r5又可寫作leet haxxors,指不受電腦系統許可權所約束、對自己的電腦技巧極有自信的人,通常指黑客)

這完全脫離事實。Linux當然想要使用者,它當然不想讓事情變得困難。正相反:按照Linux的定義,難用的軟體就是垃圾軟體。

但是你要知道,它的定義可能和你的不同,也和“傳統”的私有軟體的定義不同。

Linux想要那些真正需要Linux的使用者。這不僅是說需要一個名頭,而是所有的東西:自由、開源的軟體;自己修補軟體的能力;坐上駕駛座的感覺,一切盡在掌握。

這才是Linux,這才是Linux關注的。人們因為討厭病毒、討厭藍屏、討厭間諜軟體而轉去用Linux也是可以理解的。但這些人並不需要Linux,他們只想要一個沒有那麼多毛病的Windows。他們不要Linux,那Linux憑什麼一定要他們呢?

但如果他們因為病毒和間諜軟體而去嘗試Linux,然後慢慢接受了Linux的理念並開始被Linux自身的特點所吸引,繼而想要使用它,此時Linux也想要他們。

在你決定轉而使用Linux之前,問問自己“我為什麼要轉?”

如果答案是“我想要一個能賦予使用者所有的權力作業系統,我明白它要求使用者必須學習使用。”:那就選Linux。也許你要付出很多時間和努力才能達到你想要的高度,但最終你能得到一臺完全按照你的想法工作的電腦。

但是. . .

如果答案是“我想要個沒那些毛病的Windows”:那麼安裝一套乾淨的Windows XP SP2;設好防火牆;安好防毒軟體;永遠不要用IE瀏覽網頁;經常更新;每次裝完軟體都重啟;還要多瞭解安全方面的知識。我自己從Windows 3.1用到95、98、NT和XP,從來沒有中過病毒和間諜軟體,也沒被黑過。Windows可以很安全、很穩定,但是隻有你花力氣維護它才行。

如果答案是“我想要個沒毛病的Windows替代品”:那買一臺蘋果Mac。我聽說OS X的Tiger版很棒,蘋果機器的外觀也很漂亮。也許你為此要花錢買一臺新的機器,但你能獲得你想要的東西。

這兩種情況下,都不要去嘗試使用Linux。你會對Linux的軟體和社群感到失望的。Linux不是Windows。