當我談開源時,我談些什麼?

發表於2012-07-18

來源:莊表偉

關於開源,我有很多的感想,但是在一篇文章之中,我可以談些什麼呢?在與程式設計師雜誌的編輯楊爽聊天時,我雖尚未理清自己的思路,卻想到了一個聽起來不錯的標題《當我談開源時,我談些什麼?》因為像這樣一個看起來完全開放的標題,似乎什麼都可以往裡面裝。簡直可以隨便塗塗就寫出一篇形散神不散的散文了。

一、關於創新

那麼,到底應該如何看待開源呢?近日我在讀的一本書:美國的Steven Weber寫的《開源的成功之路》其中說到一個非常重要的世界觀的區別:關於人類的動機,具體到編寫軟體上,究竟是為了掙錢?還是像真正的藝術家一樣就是為了創作和嘗試?在比爾蓋茲看來,盜版的行為,偷竊軟體,讓程式設計師免費幹活,最終會抑制創新。而在開源黑客看來,釋出軟體卻不釋出程式碼,限制了合作的範圍,也阻斷了別人可能的改進和進一步創新。看起來,兩邊都說的很有道理,而且有趣的是,都在拿創新說事兒。究竟什麼樣的激勵,才能激發更多更好的創新呢?是金錢?還是純粹的愛好、樂趣和榮譽感呢?

公平一點說,如果沒有軟體版權、專利法、程式碼編譯與加密技術,軟體產業可能遠遠沒有現在那麼龐大,也難以養活像現在那麼多的程式設計師。也許只會剩下一部分真正熱愛程式設計,有沒有錢都要編點什麼的人了。但是,我更想從另一個角度來提問:“這個世界上,最重要、最偉大、最具有影響力的創新,有多少是金錢激勵出來的呢?”

再提一個問題來問我們們程式設計師自己:“選擇程式設計師這樣以一個職業,是因為它能夠有一份足夠體面的薪水?還是因為它讓我有機會創造一些改變世界的東西呢?”最能夠激勵創新的,難道不是創新本身嗎?在《失控》中我讀到過一段話,曾令我激動萬分。研究人工生命的最高遠的動機是“目前,普通的計算機程式可能有一千行長,能執行幾分鐘。而製造人工生命的目的是要找到一種計算機程式碼,它只有幾行長,卻能執行一千年。”如果我們能夠創造出這樣的程式碼,那簡直就是一個程式設計師,最高的追求。

所以,在談開源的時候,我想談的第一點,是關於創新,是究竟什麼樣的模式,才能更好的激發創新?

二、關於生活方式

除了《開源的成功之路》,還有一本書,也很值得一讀。Steven Levy寫的《黑客–計算機革命的英雄》。豆瓣上有一位Pope寫書評,非常精當:“這本書並不是很有吸引力,因為每翻過幾頁,就恨不得撇開書,掄起胳膊大幹一場。”是的,那些黑客英雄的故事,令我們讀來大呼過癮,那樣的生活、那樣熱血的日子,真是令人神往的日子!

在《黑客》的第二章,以非常概括的方式,介紹了“黑客倫理”:任何人與任何規則,都無法阻斷人類的好奇心;沒有權威,憑實力說話;你可以在計算機上創造出藝術與美;計算機可以讓你的生活更美好……

如果你看了以後,也深有同感,那麼成為一個黑客就是你自然的選擇。成為一個黑客,就是選擇一種生活方式,選擇無盡的探索與創造;選擇用鍵盤書寫程式碼,來改變這個世界;選擇向全世界展示自己的成果;選擇和全世界的聰明頭腦聯接在一起。而對於黑客來說,無法看到原始碼,無法瞭解事情是如何運作的,無法掌握與控制那些系統,這簡直就是一種難以想象的罪惡。

所以,在談開源的時候,我想談的第二點,是關於生活方式,以及選擇這種生活方式時,背後的信仰。

三、關於現狀

我這篇文章,是用簡體中文寫的,面向的目標讀者是國內的開發者。無法否認的一點是:現狀的確不容樂觀!

曾經我在CSDN接受過一次書面採訪,CSDN的記者提了很多問題,整篇文章的標題是《擁抱開源從中受益》。但是,下面的跟貼評論,實在是令人喪氣:收入可憐,沒有屬於自己的居所,開毛源;開源在我們們的社會主義初級階段根本行不通。搞技術的都是窮人,開個狗屁的源;估計開源在中國,就是有錢,有房,有車,有老婆,有孩子,還沒什麼具體的事情乾的人,無聊瞭然後去弄弄的東西;

這是現狀之一。

在國內,我看到很多人自稱屌絲。而程式設計師,則自嘲為碼農。自我貶低,自我嘲諷,自憐自艾,自詡為苦逼。放眼望去,人家全是高富帥,官二代。唯獨自己是看不到未來,買不起房的矮窮挫。

這是現狀之二。

這個世界上有兩種奇怪的邏輯(而且在國內都很常見),一種是“國外有一個好東西,我們們克隆一個吧!”,另一種是“已經有一個很好的了,我們為什麼還要做一個?”。這兩種邏輯背後,其實掩藏著同一種不自信,那就是:“我們不可能有創新,不可能做出更好的東西來,不可能後來居上!”這是何等的可悲!?

這是現狀之三。

做開源的人,往往非常孤獨。一個開源專案,默默的誕生,默默的改進,然後默默的停止,最後默默的消失。這樣的孤獨感,很多開源人都體會過。國內的開源人,還有一些特別的體會:被人質問:做這個幹啥,又不能掙錢?被人貶低:國產的東西,會有好東西?被人反問:你們不是做免費軟體的嗎?怎麼還要收服務費?

這是現狀之四。

所以,在談開源的時候,我無法繞過現狀不談。

四、關於良性迴圈

有一種常見的思維方式,就是分析複雜現象背後的因果關係。通常我們會發現一個迴圈依賴的因果鏈。既可以用於解釋現狀,也可以用來指導破局之法。簡單的分析國內的開源領域,我們也可以發現這樣的迴圈。因為缺乏足夠多、足夠好的開源愛好者,自然無法做出更多優質的開源產品;因為缺乏優質的國內開源專案,大多數開源產品的使用者,都習慣於在國外的開源社群尋找專案;因為大家的眼光都放在外面,作為受益者的個人使用者與企業使用者,也難以興起回饋社群、捐贈開發者的念頭;因為國內的開源人難以得到足夠的贊助和支援,自然不會有很多人熱心的投入開源。這樣,開源人、開源產品、開源使用者的迴圈依賴,就成了一個死結。

當然,如果樂觀一點來看問題,我們也可以說:要建立一個良性迴圈的開源生態圈,既可以從任何一個要素入手,也不妨大家齊努力,從多個方向下手。日拱一卒、不期速成。逐步推動,總會有所進展。

如果要分一個輕重緩急,那麼我認為給國內開源,找到更多的生力軍,也許是可以優先考慮的做法。一方面要讓更多的程式設計師意識到,即使不掙錢,做開源也是有收益的。我想引用微博上的兩段話,來說明我的觀點:@姜寧willem:知識改變命運,想通過開源專案獲取知識,只要你願意,地球上沒有人能阻擋你。 在這裡不拼爹,不拼公司背景,拼的是對技術追求的那顆心。 通過開源專案能實現個人價值,只是在國內這樣的成功案例不多。 @Freeman小屋:相對於在閉源公司的工作,開源社群的工作決不會讓你成為nobody,每一次程式碼提交,每一次回答問題,都是對你自身reputation的積累,並且你的工作都有track,想想找工作的時候你只要說我是某社群的誰就能拿offer了。而且,我特別希望在校的大學生,能夠意識到這一點,在完全沒有經濟壓力、思想又最為活躍的階段,多多參與開源,絕對是有益無害,一本萬利的好事情。

其次,則是幫助國內現有的,優秀的開源專案,找到使用者,找到參與者,找到加盟者。讓他們能夠更好的發展起來,成為國內開源專案的榜樣。誕生一個一個的成功故事,使得做開源,也變得越來越有吸引力。這方面的工作,我想CSDN、《程式設計師》雜誌這樣的社群與媒體平臺,也許可以做得更多。如果能夠出現國外那樣的成熟的開源基金會,以某種公開、公平的方式,贊助各種開源專案。以及幫助那些頂級的開源專案,更好的走向商業化的方向。總之,可以做的事情非常多。

當然,幫助眾多的、不知名的開源專案,能夠出現、能夠發展,則是開源託管平臺這樣的服務,應該努力做的事情了。在知乎,我回答過一個問題《GitCafe 這樣的程式碼託管網站在國內的前景如何?》:我在盛大創新院工作,我們團隊,正在做一個叫做 www.teamhost.org 的開源託管服務。說起來,還是GitCafe的競爭對手。在我看來,中國的開源社群,不是太多,而是太少太少。應該有至少10~20家,努力的、優秀的、互相良性競爭的開源託管服務社群,大家一起來做開源服務,不但競爭,而且合作。不但努力爭奪使用者,而且共同把開源的愛好者服務得更好。這樣,中國的開源才能發展起來,而且發展得越來越好。

再其次,才是說服更多的企業,贊助開源。畢竟商業公司,不容易看到太虛幻的利益,只有實實在在的好處,才能夠有說服力。當然,這個事情總是困難的。所以,對於這種困難的事情,說得太多意義不大,倒不如各自努力去做。

就此擱筆。

 

相關文章