在 Linux 開始釋出時,Linus Torvalds 為何選擇非 GPL 許可而不是 GPL ?讓我們一起來看看 Linus Torvalds 的回答。本文是 LinuxFr 2011 年對 Linus Torvalds 的採訪。
LinuxFR:截至目前,你已經從事了大約20年的Linux開發,我們知道這是一個辛苦的工作,不知道你現在是否還和當初一樣感覺很有趣,很興奮?
Linus Torvalds:哦,當然!我仍然覺得這是一件有趣的事情,部分原因恰恰是因為我為它做了20年的工作。我不想將其稱為一個“辛苦”的工作,它仍然充滿挑戰和趣味,但我認為我已經輕車熟路了。
LinuxFR:你為什麼選擇將Linux核心最初的非GPL版權轉為GPL許可?是出於道德還是現實需要?
Linus Torvalds:是為了現實需要。我最初選擇的許可考慮到了道德方面的原因,但它顯得過分嚴格,知名度也不高。轉向GPL解決了原許可樣式存在的問題,越來越多的人擁護,並主動為我宣傳。
LinuxFR:我知道你認為你自己是一個非常務實的人,而不是一個預言家,但不知你是否贊同GPL許可協議中關於道德部分的內容?
Linus Torvalds:我用兩個不同的方法來回答你這個問題,並說說我為什麼要用兩種方法。
首先,我個人非常鄙視那些將道德和GPL相提並論的人。我認為這完全是胡說,為什麼?因為道德是人們的隱私,無論何時,你在一份協議中使用道德來約束其他人應該做什麼事情,你首先就是不道德的,你只是一個道貌岸然的偽君子。
但第二個答案是,我個人覺得GPL(v2)和我的想法最吻合。我的確很喜歡程式設計,我希望將我的經驗和別人分享,我認為只要你能想到就一定能做到,但要提高的確需要前人的經驗,這對開發人員來說是一條捷徑。
因此,我個人認為GPL v2最符合我的口味,就好像生活找對了方法一樣美好,但我認為正確的方法不應該只有一個,我也從事一些商業程式設計,我也喜歡分享,我覺得這是平等的(噓,他們是付了錢的)。
我認為GPL v2是一個偉大的許可協議,我出於個人原因而使用它,我想很多人也和我有同樣的看法吧。但我真的想指出的是,許可協議和道德本身是沒有幹係的,好比很多人認為BSD許可協議具有更多的自由,所以它是一個更好的許可協議;但也有一部分人更喜歡使用保留所有權利的許可。當然每個人都有自己的選擇權,我沒有絲毫貶低他們的意思。
但是,企圖將任何特殊的許可當做道德選擇真的讓我憤怒。
LinuxFR:為什麼桌面如此特殊,為什麼比其它市場艱難?
Linus Torvalds:因為它更加有趣。在這個市場中,人們可以做許多不同的事情。的確,伺服器幾乎沒有做不了的事情,它可能有充足的CPU計算資源,快速的網路和大量的IO,但它一直做著相同的事情,而且是有限制的:它執行一個資料庫,一個郵件或Web伺服器,各種分析等。對企業來說,它可能是重要的,但它的工作負載不會經常發生變化,也沒有哪個個體會喜歡它。
相反,你的桌面是你每天都要看到的,即使有些東西你不需要,你也不會對它們產生反感,使用時間長了,你可能還會產生一種依賴。
桌面做的事情更多,你在它上面玩遊戲,編寫檔案,開發軟體,對某些人來說,只有一個瀏覽器就足夠了,正是要應付這麼多的任務,桌面比伺服器更複雜。有趣的是,智慧手機也慢慢開始出現桌面的複雜性。
LinuxFR:為什麼Linux桌面未被主流使用者採用?核心社群能改善這個情況嗎?還是這本身屬於使用者空間的問題?
Linus Torvalds:我認為在核心方面沒有太多的解決辦法,但我們會繼續想辦法改進。我們不是沒有主流使用者 – Android使用者就是Linux主流使用者,問題是桌面是一個困難的市場,有巨大的網路效應,大多數人都不希望改變他們的環境,如果必須轉移到新環境,他們也希望獲得幫助和支援,這裡的“支援”不一定非得是商業支援,只要有一個經驗豐富的人在你身邊給你提供一些建議即可。但這不全是技術問題,更多的是社會問題。
LinuxFR:下麵這個問題可能有點唐突,你現在仍然完全瞭解Linux內核的所有部分嗎?或者說你真正信任維護者嗎?例如,就複雜的路徑名查詢補丁,你是如何在Nick Piggin和Dave Chinner貢獻的補丁做出選擇的?你是否接受了A1 Viro的一些建議,還是你一個人做的決定?
Linus Torvalds:沒什麼,我肯定不能瞭解內核的所有部分,但我比大多數核心開發人員瞭解要多一些,不過有些地方我幾乎完全依賴於維護者,因為我對某些子系統幾乎一無所知,當然每個人都有自己感興趣的領域。
例如我非常熟悉VFS和VM層,因此在這些方面我可以自己做出決定,但這並不意味著我不希望獲得別人的幫助。
對於我不熟悉的領域,我一般不會做獨裁決定,但我會敦促維護者認真思考問題,並給予一定的指導性意見,協助他們做出正確的決定。
順便說一下,“正確的決定”不一定需要正確的表達,有時你僅僅需要做一個決定,並不一定要明確“正確”答案是什麼,有時說“我們不知道”可能更好,畢竟不能靠拍腦袋做決定,但有時我們必須做出技術選擇,這是一個痛苦的過程,完全可能做出錯誤的技術選擇,但有什麼辦法呢,在沒有任何可供借鑒的經驗之前,我們只有透過試錯的方法來找出正確的技術。
幸好這種情況並不多見,開發期間大多數時候不需要做出艱難的選擇,前進的方向都非常明瞭。
英文:linuxfr.org,編譯:51cto
譯文:http://os.51cto.com/art/201105/262279.htm
————廣告時間————
《馬哥Linux雲端計算及架構師》課程,由知名Linux佈道師馬哥創立,經歷了8年的發展,聯合阿裡巴巴、唯品會、大眾點評、騰訊、陸金所等大型網際網路一線公司的馬哥課程團隊的工程師進行深度定製開發,課程採用 Centos7.2系統教學,加入了大量實戰案例,授課案例均來自於一線的技術案例。
開課時間級地點:12月25日(28期鄭州面授班)
掃描二維碼領取學習資料
更多Linux好文請點選【閱讀原文】哦
↓↓↓