這本來是一篇打算投稿給《程序員》雜志的稿子,可惜他們用不上了。于是我就打算發(fā)在這里,歡迎大家多多批評(píng)。
關(guān)于開源,我有很多的感想,但是在一篇文章之中,我可以談些什么呢?在與程序員雜志的編輯楊爽聊天時(shí),我雖尚未理清自己的思路,卻想到了一個(gè)聽起來不錯(cuò)的標(biāo)題《當(dāng)我談開源時(shí),我談些什么?》因?yàn)橄襁@樣一個(gè)看起來完全開放的標(biāo)題,似乎什么都可以往里面裝。簡(jiǎn)直可以隨便涂涂就寫出一篇形散神不散的散文了。
一、關(guān)于創(chuàng)新
那么,到底應(yīng)該如何看待開源呢?近日我在讀的一本書:美國(guó)的Steven Weber寫的《開源的成功之路》其中說到一個(gè)非常重要的世界觀的區(qū)別:關(guān)于人類的動(dòng)機(jī),具體到編寫軟件上,究竟是為了掙錢?還是像真正的藝術(shù)家一樣就是為了創(chuàng)作和嘗試?在比爾蓋茨看來,盜版的行為,偷竊軟件,讓程序員免費(fèi)干活,最終會(huì)抑制創(chuàng)新。而在開源黑客看來,發(fā)布軟件卻不發(fā)布代碼,限制了合作的范圍,也阻斷了別人可能的改進(jìn)和進(jìn)一步創(chuàng)新。看起來,兩邊都說的很有道理,而且有趣的是,都在拿創(chuàng)新說事兒。究竟什么樣的激勵(lì),才能激發(fā)更多更好的創(chuàng)新呢?是金錢?還是純粹的愛好、樂趣和榮譽(yù)感呢?
公平一點(diǎn)說,如果沒有軟件版權(quán)、專利法、代碼編譯與加密技術(shù),軟件產(chǎn)業(yè)可能遠(yuǎn)遠(yuǎn)沒有現(xiàn)在那么龐大,也難以養(yǎng)活像現(xiàn)在那么多的程序員。也許只會(huì)剩下一部分真正熱愛編程,有沒有錢都要編點(diǎn)什么的人了。但是,我更想從另一個(gè)角度來提問:“這個(gè)世界上,最重要、最偉大、最具有影響力的創(chuàng)新,有多少是金錢激勵(lì)出來的呢?”
再提一個(gè)問題來問咱們程序員自己:“選擇程序員這樣以一個(gè)職業(yè),是因?yàn)樗軌蛴幸环葑銐蝮w面的薪水?還是因?yàn)樗屛矣袡C(jī)會(huì)創(chuàng)造一些改變世界的東西呢?”最能夠激勵(lì)創(chuàng)新的,難道不是創(chuàng)新本身嗎?在《失控》中我讀到過一段話,曾令我激動(dòng)萬分。研究人工生命的最高遠(yuǎn)的動(dòng)機(jī)是“目前,普通的計(jì)算機(jī)程序可能有一千行長(zhǎng),能運(yùn)行幾分鐘。而制造人工生命的目的是要找到一種計(jì)算機(jī)代碼,它只有幾行長(zhǎng),卻能運(yùn)行一千年?!比绻覀兡軌騽?chuàng)造出這樣的代碼,那簡(jiǎn)直就是一個(gè)程序員,最高的追求。
所以,在談開源的時(shí)候,我想談的第一點(diǎn),是關(guān)于創(chuàng)新,是究竟什么樣的模式,才能更好的激發(fā)創(chuàng)新?
二、關(guān)于生活方式
除了《開源的成功之路》,還有一本書,也很值得一讀。Steven Levy寫的《黑客–計(jì)算機(jī)革命的英雄》。豆瓣上有一位Pope寫書評(píng),非常精當(dāng):“這本書并不是很有吸引力,因?yàn)槊糠^幾頁,就恨不得撇開書,掄起胳膊大干一場(chǎng)?!笔堑模切┖诳陀⑿鄣墓适?,令我們讀來大呼過癮,那樣的生活、那樣熱血的日子,真是令人神往的日子!
在《黑客》的第二章,以非常概括的方式,介紹了“黑客倫理”:任何人與任何規(guī)則,都無法阻斷人類的好奇心;沒有權(quán)威,憑實(shí)力說話;你可以在計(jì)算機(jī)上創(chuàng)造出藝術(shù)與美;計(jì)算機(jī)可以讓你的生活更美好……
如果你看了以后,也深有同感,那么成為一個(gè)黑客就是你自然的選擇。成為一個(gè)黑客,就是選擇一種生活方式,選擇無盡的探索與創(chuàng)造;選擇用鍵盤書寫代碼,來改變這個(gè)世界;選擇向全世界展示自己的成果;選擇和全世界的聰明頭腦聯(lián)接在一起。而對(duì)于黑客來說,無法看到源代碼,無法了解事情是如何運(yùn)作的,無法掌握與控制那些系統(tǒng),這簡(jiǎn)直就是一種難以想象的罪惡。
所以,在談開源的時(shí)候,我想談的第二點(diǎn),是關(guān)于生活方式,以及選擇這種生活方式時(shí),背后的信仰。
三、關(guān)于現(xiàn)狀
我這篇文章,是用簡(jiǎn)體中文寫的,面向的目標(biāo)讀者是國(guó)內(nèi)的開發(fā)者。無法否認(rèn)的一點(diǎn)是:現(xiàn)狀的確不容樂觀!
曾經(jīng)我在CSDN接受過一次書面采訪,CSDN的記者提了很多問題,整篇文章的標(biāo)題是《擁抱開源從中受益》。但是,下面的跟貼評(píng)論,實(shí)在是令人喪氣:收入可憐,沒有屬于自己的居所,開毛源;開源在咱們的社會(huì)主義初級(jí)階段根本行不通。搞技術(shù)的都是窮人,開個(gè)狗屁的源;估計(jì)開源在中國(guó),就是有錢,有房,有車,有老婆,有孩子,還沒什么具體的事情干的人,無聊了然后去弄弄的東西;
這是現(xiàn)狀之一。
在國(guó)內(nèi),我看到很多人自稱屌絲。而程序員,則自嘲為碼農(nóng)。自我貶低,自我嘲諷,自憐自艾,自詡為苦逼。放眼望去,人家全是高富帥,官二代。唯獨(dú)自己是看不到未來,買不起房的矮窮挫。
這是現(xiàn)狀之二。
這個(gè)世界上有兩種奇怪的邏輯(而且在國(guó)內(nèi)都很常見),一種是“國(guó)外有一個(gè)好東西,咱們克隆一個(gè)吧!”,另一種是“已經(jīng)有一個(gè)很好的了,我們?yōu)槭裁催€要做一個(gè)?”。這兩種邏輯背后,其實(shí)掩藏著同一種不自信,那就是:“我們不可能有創(chuàng)新,不可能做出更好的東西來,不可能后來居上!”這是何等的可悲!?
這是現(xiàn)狀之三。
做開源的人,往往非常孤獨(dú)。一個(gè)開源項(xiàng)目,默默的誕生,默默的改進(jìn),然后默默的停止,最后默默的消失。這樣的孤獨(dú)感,很多開源人都體會(huì)過。國(guó)內(nèi)的開源人,還有一些特別的體會(huì):被人質(zhì)問:做這個(gè)干啥,又不能掙錢?被人貶低:國(guó)產(chǎn)的東西,會(huì)有好東西?被人反問:你們不是做免費(fèi)軟件的嗎?怎么還要收服務(wù)費(fèi)?
這是現(xiàn)狀之四。
所以,在談開源的時(shí)候,我無法繞過現(xiàn)狀不談。
四、關(guān)于良性循環(huán)
有一種常見的思維方式,就是分析復(fù)雜現(xiàn)象背后的因果關(guān)系。通常我們會(huì)發(fā)現(xiàn)一個(gè)循環(huán)依賴的因果鏈。既可以用于解釋現(xiàn)狀,也可以用來指導(dǎo)破局之法。簡(jiǎn)單的分析國(guó)內(nèi)的開源領(lǐng)域,我們也可以發(fā)現(xiàn)這樣的循環(huán)。因?yàn)槿狈ψ銐蚨?、足夠好的開源愛好者,自然無法做出更多優(yōu)質(zhì)的開源產(chǎn)品;因?yàn)槿狈?yōu)質(zhì)的國(guó)內(nèi)開源項(xiàng)目,大多數(shù)開源產(chǎn)品的使用者,都習(xí)慣于在國(guó)外的開源社區(qū)尋找項(xiàng)目;因?yàn)榇蠹业难酃舛挤旁谕饷?,作為受益者的個(gè)人用戶與企業(yè)用戶,也難以興起回饋社區(qū)、捐贈(zèng)開發(fā)者的念頭;因?yàn)閲?guó)內(nèi)的開源人難以得到足夠的贊助和支持,自然不會(huì)有很多人熱心的投入開源。這樣,開源人、開源產(chǎn)品、開源用戶的循環(huán)依賴,就成了一個(gè)死結(jié)。
當(dāng)然,如果樂觀一點(diǎn)來看問題,我們也可以說:要建立一個(gè)良性循環(huán)的開源生態(tài)圈,既可以從任何一個(gè)要素入手,也不妨大家齊努力,從多個(gè)方向下手。日拱一卒、不期速成。逐步推動(dòng),總會(huì)有所進(jìn)展。
如果要分一個(gè)輕重緩急,那么我認(rèn)為給國(guó)內(nèi)開源,找到更多的生力軍,也許是可以優(yōu)先考慮的做法。一方面要讓更多的程序員意識(shí)到,即使不掙錢,做開源也是有收益的。我想引用微博上的兩段話,來說明我的觀點(diǎn):@姜寧willem:知識(shí)改變命運(yùn),想通過開源項(xiàng)目獲取知識(shí),只要你愿意,地球上沒有人能阻擋你。 在這里不拼爹,不拼公司背景,拼的是對(duì)技術(shù)追求的那顆心。 通過開源項(xiàng)目能實(shí)現(xiàn)個(gè)人價(jià)值,只是在國(guó)內(nèi)這樣的成功案例不多。 @Freeman小屋:相對(duì)于在閉源公司的工作,開源社區(qū)的工作決不會(huì)讓你成為nobody,每一次代碼提交,每一次回答問題,都是對(duì)你自身reputation的積累,并且你的工作都有track,想想找工作的時(shí)候你只要說我是某社區(qū)的誰就能拿offer了。而且,我特別希望在校的大學(xué)生,能夠意識(shí)到這一點(diǎn),在完全沒有經(jīng)濟(jì)壓力、思想又最為活躍的階段,多多參與開源,絕對(duì)是有益無害,一本萬利的好事情。
其次,則是幫助國(guó)內(nèi)現(xiàn)有的,優(yōu)秀的開源項(xiàng)目,找到用戶,找到參與者,找到加盟者。讓他們能夠更好的發(fā)展起來,成為國(guó)內(nèi)開源項(xiàng)目的榜樣。誕生一個(gè)一個(gè)的成功故事,使得做開源,也變得越來越有吸引力。這方面的工作,我想CSDN、《程序員》雜志這樣的社區(qū)與媒體平臺(tái),也許可以做得更多。如果能夠出現(xiàn)國(guó)外那樣的成熟的開源基金會(huì),以某種公開、公平的方式,贊助各種開源項(xiàng)目。以及幫助那些頂級(jí)的開源項(xiàng)目,更好的走向商業(yè)化的方向??傊?,可以做的事情非常多。
當(dāng)然,幫助眾多的、不知名的開源項(xiàng)目,能夠出現(xiàn)、能夠發(fā)展,則是開源托管平臺(tái)這樣的服務(wù),應(yīng)該努力做的事情了。在知乎,我回答過一個(gè)問題《GitCafe 這樣的代碼托管網(wǎng)站在國(guó)內(nèi)的前景如何?》:我在盛大創(chuàng)新院工作,我們團(tuán)隊(duì),正在做一個(gè)叫做 www.teamhost.org 的開源托管服務(wù)。說起來,還是GitCafe的競(jìng)爭(zhēng)對(duì)手。在我看來,中國(guó)的開源社區(qū),不是太多,而是太少太少。應(yīng)該有至少10~20家,努力的、優(yōu)秀的、互相良性競(jìng)爭(zhēng)的開源托管服務(wù)社區(qū),大家一起來做開源服務(wù),不但競(jìng)爭(zhēng),而且合作。不但努力爭(zhēng)奪用戶,而且共同把開源的愛好者服務(wù)得更好。這樣,中國(guó)的開源才能發(fā)展起來,而且發(fā)展得越來越好。
再其次,才是說服更多的企業(yè),贊助開源。畢竟商業(yè)公司,不容易看到太虛幻的利益,只有實(shí)實(shí)在在的好處,才能夠有說服力。當(dāng)然,這個(gè)事情總是困難的。所以,對(duì)于這種困難的事情,說得太多意義不大,倒不如各自努力去做。
就此擱筆。
本文寫于:2012年7月