目前,開源已經(jīng)成為技術(shù)發(fā)展的主流趨勢。通過開源,可以讓一個團隊快速完成絕大部分基礎(chǔ)代碼的搭建,然后專注于創(chuàng)造和自己業(yè)務(wù)相關(guān)的關(guān)鍵代碼。只不過,很多人對開源仍然心存疑慮,比如開源之后如何掙錢、開源如何提升開發(fā)效率、中國的開源環(huán)境現(xiàn)狀如何、未來發(fā)展怎樣、普通人應(yīng)該如何參與開源項目……
最近,今日頭條科學(xué)頻道聯(lián)合中國計算機學(xué)會(CCF)推出“這很科學(xué)”之《科學(xué)真言》系列視頻,我有幸受邀參與,并且?guī)е@些問題和中科院院士、中國計算機學(xué)會開源發(fā)展委員會主任王懷民教授做了一次深入交流。
對于開源,王老師有著深入而獨到的見解,并且善于用幽默通俗的語言闡述深刻的科學(xué)問題,我深受啟發(fā)。我把我們的對話進(jìn)行了整理和采編,以饗讀者。本文是第一篇,主要是王老師對開源的產(chǎn)生、發(fā)展、本質(zhì)邏輯的闡述和思考。文章比較長,但肯定會對你有所幫助。
注:以下的“我”,指的都是王懷民院士。
一、開源,其實是個「祭品」
現(xiàn)在大家覺得開源是個很自然的事情,但回過頭來看開源的歷程,其實并沒有想象中的那么簡單。
我把開源產(chǎn)生的原因總結(jié)為兩點。第一個原因,就是學(xué)術(shù)傳統(tǒng)使然。
其實在我們學(xué)術(shù)界,成果要公開的發(fā)表和交流、得到同行的評價,這已經(jīng)是國際共識了,也是學(xué)術(shù)成果的一個基本的社會形態(tài)。過去我們以自然語言表達(dá)的學(xué)術(shù)論文、專利,都在一定意義上是公開的。比如學(xué)術(shù)論文在學(xué)術(shù)版權(quán)、或者叫著作權(quán)保護(hù)的前提下進(jìn)行公開,專利在專利保護(hù)意義上進(jìn)行公開。所以學(xué)術(shù)界有這樣一句話,不公開發(fā)表就等于死亡、或者就等于不存在。而軟件源代碼,實際上是信息時代學(xué)術(shù)成果的又一種表達(dá)形式。
如果我們把它再擴大一點,從更大的歷史尺度和人類文明發(fā)展意義上講,一個文明留存稱為之所以稱為文明,一定是以某種形態(tài)進(jìn)行計數(shù)和保留的。早期是巖畫、后來有了語言文字,如果技術(shù)不被傳播,這個文明實際上是沒有意義、沒有價值、沒有影響力的。
比如說當(dāng)年的孔子和亞里士多德,如果沒有那些學(xué)生把他的東西記述下來、一代代保存和傳播下來,他們恐怕就不會有對于今天人類文明的影響力。
那我們再寬一點,我覺得發(fā)表和交流是人的天性。人性就是要表達(dá)、要表演、要得到關(guān)注和反饋。
再回到我們今天的這個信息時代的環(huán)境下,先不說程序員,你說我們這個博客為什么會火、抖音為什么會火、網(wǎng)絡(luò)小說為什么會火?本質(zhì)上,就是有一種思想得到表達(dá)和反饋。這時大家覺得哎,這件事情是個有意義的事兒。
所以我想,軟件被公開發(fā)表出來,實際上是自然的、是天經(jīng)地義的。我把它歸述為近一點的話,在我們學(xué)術(shù)界和產(chǎn)業(yè)界講它是一個學(xué)術(shù)傳統(tǒng),而我覺得更是一個文明現(xiàn)象,更是一個人類天性的一個自然表現(xiàn),或者是人的社會性的一種自然展現(xiàn)。
當(dāng)然,軟件在今天的這個時代有它的特殊性:它還是一種商品。所以產(chǎn)生開源的第二個原因,就是因為它和商業(yè)創(chuàng)新的文明是緊密聯(lián)系在一起的。
這個這之所以成為問題,是因為開源在軟件商業(yè)文明的創(chuàng)新中,曾經(jīng)經(jīng)歷過了一次所謂的「冰火兩重天」。在軟件產(chǎn)業(yè)獨立出來之前,程序員之間交流軟件在很小的范圍內(nèi)。但是后來,隨著IP的發(fā)展,軟件逐步有了商品的屬性。我覺得最典型的一件事,就是當(dāng)年貝爾實驗室把Unix開放給學(xué)術(shù)界;但后來發(fā)現(xiàn)這個事情有商業(yè)價值的時候,特別是在硅谷Sun公司、HP公司、微軟公司利用這些技術(shù)進(jìn)行產(chǎn)品創(chuàng)新的時候,他突然發(fā)現(xiàn)這個技術(shù)是有商業(yè)價值的,于是就開始收回了開源許可,改成了定向地通過知識產(chǎn)權(quán)授權(quán)的方式提供給相應(yīng)的公司。
也就是說,軟件有了商品屬性,所以開源不開源才成為了問題。
其實,在人類過去其他的作品里,比如小說或者學(xué)術(shù)論文等,也有他的商業(yè)價值,后來是通過了諸如出版業(yè)這種業(yè)態(tài),使得這件事情得到了很好的解決。
第二個典型的事件就是微軟,他們突然發(fā)現(xiàn)軟件有兩種表達(dá)形式。一種是高級語言、然后再加上相應(yīng)的注解,這是幫助程序員閱讀和交流的。另外一種形態(tài)是機器代碼的形態(tài),用戶買了就是去執(zhí)行的。于是微軟就把代碼保護(hù)起來,這樣就可以更好的保護(hù)他的商業(yè)利益。這種控制軟件源代碼的傳播、且只出售可執(zhí)行代碼的商業(yè)模式,對于軟件產(chǎn)業(yè)早期的發(fā)展產(chǎn)生了重要作用。
把代碼保護(hù)起來,是軟件業(yè)態(tài)發(fā)展到特定時態(tài)的一種特殊形態(tài)。只是我們這一代人進(jìn)入這個行業(yè)的時候、或者軟件以更廣泛的形態(tài)進(jìn)入到社會大眾的時候,是以閉源的形態(tài)時代進(jìn)入的,因此大家認(rèn)為不開源是常態(tài)。
就像我剛才前面講的,無論是學(xué)術(shù)傳統(tǒng)還是開源的早期,開源實際上才是常態(tài),而閉源只是一個特殊的浪花。
所以我想說的為什么要開源的第二個原因,開源是一種商業(yè)模式的再創(chuàng)新。特別是在互聯(lián)網(wǎng)時代,大家突然看到擁不擁有源代碼不是本質(zhì),能不能為用戶提供高效的服務(wù)才是本質(zhì),而開源成為了一種新的商業(yè)創(chuàng)新模式和競爭手段。
開源的成功,是因為在互聯(lián)網(wǎng)的這樣一種不確定的環(huán)境下,沒人知道什么樣的軟件是用戶喜歡的。因此用開源的方式來尋找所謂的創(chuàng)客、來尋找自己軟件的粉絲,用開源的這樣一種所謂的叫祭品,反而能形成一種構(gòu)造一種吸引力機制。也在軟件的進(jìn)一步完善創(chuàng)作、以及開拓市場和客戶方面形成了獨特優(yōu)勢,比閉源來要強很多。
通過開源,人們找到了這不通過保護(hù)源代碼獲得商業(yè)利益的新辦法,而又降低了這個獲得這個創(chuàng)客和粉絲的這樣一種低成本的可能性。
所以為什么開源:開源是學(xué)術(shù)傳統(tǒng)、開源是商業(yè)創(chuàng)新,它本來也是人類文明的常態(tài),也是人的天性。
二、代碼公開后,如何掙錢?
這個是一個很好的問題。以Linux為例,他的興起的時間和Windows商業(yè)版興起的時間類似,幾乎都是90年代初。但是在90年代,至少在個人計算機操縱系統(tǒng)上面,開源軟件是一點機會都沒有的。
我想這里邊有個生態(tài)演化的視角。個人計算機的時代,是IT發(fā)展的一個比較確定性的時代。通過80年代的孕育,IT的主流和市場增長量主要來自于個人計算機。因此個人計算機在IT的發(fā)展在90年代就成為了主導(dǎo)形態(tài)。
而個人計算機的操作系統(tǒng),又是個人計算機發(fā)展的具有主導(dǎo)性的基礎(chǔ)軟件,而這個基礎(chǔ)軟件又被幾乎是統(tǒng)治性的微軟所壟斷。也就是說,在一個確定性的時代,用微軟那種商業(yè)模型是最能夠保證商業(yè)利益的。
比爾蓋茨說,你用買兩本書的價格就可以買一個辦公軟件回家。你看他的這個商業(yè)錨點長得非常之好:兩本書的價格,你就可以在我這個軟件上去閱讀其他的更豐富的文件文檔、去創(chuàng)作更復(fù)雜的作品。大家覺得這件事太合算了。因此,他以這種以閉源軟件的方式及其提供的服務(wù)價值鎖定了用戶。
問題就出在互聯(lián)網(wǎng)時代到來以后,出現(xiàn)了一個不確定性的時代。雖然互聯(lián)網(wǎng)商業(yè)化在90年代就開始說了,但是在互聯(lián)網(wǎng)上怎么掙錢這件事情在90年代是有巨大爭議的。
我們都知道很多互聯(lián)網(wǎng)創(chuàng)業(yè)公司都不成功。并不是說他們的技術(shù)沒價值,而是在市場上不成功、沒掙到錢。直到新世紀(jì),在過去的20年人們?nèi)〉玫某晒Σ皇强糠忾]代碼成功,而是靠開放代碼形成的。這就是我剛才說的吸引力漩渦。
經(jīng)常有人說我寫了個好軟件、我開源了,我的商業(yè)價值就丟了。其實你要先想想這個軟件有沒有商業(yè)價值。只有開源出來,才知道有沒有商業(yè)價值。比如有很多人下載、有很多用戶愿意去體驗,就說明有商業(yè)價值了。因此,開源實際上是形成和試探一個軟件有沒有商業(yè)價值的一個祭品。你是要把祭品擺出來的、是要在這個祭品周圍做法事的,然后有一批麻瓜圍著你看,然后你就會認(rèn)為這個祭品有戲。那為什么有麻瓜來圍觀呢,肯定是因為解決了麻瓜的問題了。
解決問題的時候大家突然發(fā)現(xiàn),源代碼不是重要的。就像是說不是買本書回去,你就擁有了書中的知識,而是需要有教師這個服務(wù)告訴你。因此,這個基于知識的服務(wù)才是最重要的。這件事情在互聯(lián)網(wǎng)時代逐漸的被用戶接受和理解,所以這樣把更多的專業(yè)服務(wù)融到一個專業(yè)公司、為相關(guān)的人員提供專業(yè)化的服務(wù),就逐漸成為主流。
你看他這個互聯(lián)網(wǎng)公司的這個成本,就是羊毛是是長在狗身上的。大量的創(chuàng)客承擔(dān)了大量的成本,最后是怎么掙錢的?是賣給了一個用這個軟件服務(wù)的一個客戶,叫豬買單。就羊毛長在狗身上豬買單,至少一定數(shù)量的羊毛長在了狗身上,然后豬買了,這樣這個服務(wù)模式就形成了。
在創(chuàng)新和市場開拓上,通過開源形成的吸引力機制,就大大的降低了開發(fā)的風(fēng)險成本和市場開拓的前期成本。所以,這個事情一說起來在商業(yè)上成功肯定是有道理的,賣的是服務(wù)、降低的是服務(wù)形成的成本。他由這種垂直的這個產(chǎn)業(yè)壟斷,變成了通過開放技術(shù)這個橫向的分工。
我特別強調(diào),就是個人計算機時代和互聯(lián)網(wǎng)時代的變化,就是個人時代的確定性和互聯(lián)網(wǎng)時代的不確定性,形成了這種造就一個大象的模式和造就一個生態(tài)的模式的這個差別。此外,開源從來都不是放棄知識產(chǎn)權(quán),開源只是知識產(chǎn)權(quán)追溯的成本帶來了更大的挑戰(zhàn)。
三、開源模式的本質(zhì):群智激發(fā)與群智創(chuàng)新
我認(rèn)為,開源是表象,而本質(zhì)上他是群體智能的一種重要的形成方式。開源之所以有巨大吸引力和商業(yè)優(yōu)勢,就是因為它形成了一種更大規(guī)模的群智創(chuàng)新。
過去你一個人做,現(xiàn)在你形成了橫向分割和標(biāo)準(zhǔn)化以后,更多人可以參與進(jìn)來做,因此才有了工業(yè)時代的所謂的生產(chǎn)力水平的極大提高。開源也是我們今天在IT和信息時代形成分工的一種有效的創(chuàng)建模式和媒介,形成了一種群智創(chuàng)新。
你開源出來,讓更多的人能夠參與到這個作品的創(chuàng)作過程中,這個我們叫做群智激發(fā)。在這一點上,開源比過去的這個企業(yè)模式效率要高太多。過去的企業(yè)方式主要是群智匯聚:總設(shè)計師設(shè)計好的產(chǎn)品,招來的員工都是把這個產(chǎn)品實現(xiàn)出來。這也是群智,但是他的形態(tài)是匯聚,并不激發(fā)更多人創(chuàng)作,更沒有條件去激發(fā)更多人參與創(chuàng)作。這個這個成本就很高了:做這個產(chǎn)品的人是不是你今天能夠招到的,這事情是不好說的。在軟件領(lǐng)域,難者不會、會者不難更加突出,一個頂十個在特定的問題上那絕對是真的。因此,這種群智匯聚在對人才和資源的篩選和匹配效果與競爭力有限。
相比之下,開源開放這個作品只是表象,激發(fā)起更廣泛的群智創(chuàng)新才是他的根本之所在。
當(dāng)然,實際上后來產(chǎn)生的問題就是對貢獻(xiàn)者價值的認(rèn)可,以及對開源許可證和機制的設(shè)計。這個是在開源界走到今天,我個人認(rèn)為還沒有很好解決的問題。開源知識產(chǎn)權(quán)管理,也是中國應(yīng)該在這方面有所作為的一個重要的著力點。
一個例子是,我貢獻(xiàn)給你這個項目,我能不能共享這里邊的利益。我們學(xué)術(shù)界都有共同屬名權(quán),而現(xiàn)在這個開源主流的方式里,貢獻(xiàn)就貢獻(xiàn)了,頂多我留一筆給你個致謝。但共同署名權(quán)和被致謝的差別太大了,因此機制設(shè)計上還有很大的空間。
UC Berkeley里當(dāng)年做BSD許可證的時候,它的基本出發(fā)點就是學(xué)術(shù)界學(xué)者的出發(fā)點:你可以用、怎么用都行,你只要引用我一聲就行了。這和學(xué)術(shù)論文的傳播一樣,你怎么讀我的論文都沒關(guān)系,但是你基于我的論文做了工作,就要引文一下。
當(dāng)然這個有一個認(rèn)知過程,早期大家都沒在意這件事情是知識產(chǎn)權(quán),也對開源知識產(chǎn)權(quán)的理解上有差距。
小結(jié)
在下篇文章中,我會繼續(xù)分享王懷民院士對中國開源現(xiàn)狀的深刻思考和理解,包括中國科技未來的發(fā)展機遇、硬件開源的機會、以及普通人如何參與開源,敬請期待。