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