不管是互聯(lián)網(wǎng)還是區(qū)塊鏈,作為一項技術(shù)進入大眾的視野,開源與否都飽含爭議,曾經(jīng)Java的非完全開源產(chǎn)生了很多非議,而今區(qū)塊鏈的出現(xiàn),讓開源與否這個話題再次進入公眾視野。
什么是開源?
大家經(jīng)常聽到的項目開源,實際上是指項目遵循開源協(xié)議,將源代碼公開,任何人都可以進行查看。計算機發(fā)展早期階段,軟件幾乎都是開放的,任何人都可以查看軟件的源代碼,但是微軟的出現(xiàn)打破了這種局面,他們在分發(fā)軟件的時候也不再附帶源代碼。從此,專有軟件的時代到來了。但是隨著區(qū)塊鏈技術(shù)的出現(xiàn),以代碼開源為特點,憑借在極客圈獲得的巨大認同,開始重登歷史舞臺,現(xiàn)在大部分的項目選擇在Github上面開源。
Github是誰?
gitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名gitHub。
gitHub于2008年4月10日正式上線,除了git代碼倉庫托管及基本的 Web管理界面以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協(xié)作圖譜(報表)、代碼片段分享(Gist)等功能。目前全球擁有數(shù)千萬的開發(fā)者用戶,僅在中國就有接近百萬的開發(fā)者使用Github。
區(qū)塊鏈項目為何要開源?
簡單來說,區(qū)塊鏈技術(shù)就是一個大的賬本,可以供很多人查看使用,這個大的賬本需要多方參與合作。但是在合作過程中,如何迅速的建立互信?如何讓合作企業(yè)將業(yè)務直接建立在陌生平臺上?最好的辦法或許就是開源。項目方選擇開源,意味著將獲得:
更少的項目漏洞
一個項目選擇開源,意味著將要承受更大的公眾壓力,接受公眾的檢查,項目方在寫代碼和做測試時,會更加注重代碼質(zhì)量,這和政府將資金公開類似。
更低的開發(fā)成本
對于項目來說,隨著開源社區(qū)的逐漸成熟,有些工作可能社區(qū)成員就能替代完成,比如項目漏洞的檢查、代碼書寫。整體開發(fā)成本將會越來越低。
更強的創(chuàng)新能力
因為社區(qū)的多元化,技術(shù)人才有新的想法后可以直接自己動手創(chuàng)建分支。開源給予了更多選擇,就如同一家公司無論有多么優(yōu)秀,它還是需要更多的優(yōu)秀人才。
面對如此多的優(yōu)勢,NEO創(chuàng)始人達鴻飛更是放出狠話:不開源的區(qū)塊鏈都是耍流氓。
同時大眾心理對于不開源的項目也都持懷疑態(tài)度。既然項目是基于區(qū)塊鏈的,為何不直接開源,直接告訴別人項目確實是怎么工作的。再從區(qū)塊鏈要解決的問題入手。區(qū)塊鏈的出現(xiàn),就是專門針對信任問題。徹底顛覆了大眾的傳統(tǒng)認知,將傳統(tǒng)的單點信任和對某一中心化機構(gòu)的信任問題,轉(zhuǎn)化為直接點對點交流。而如果項目選擇不開源,那仍將會是一個中心化的機構(gòu),與區(qū)塊鏈的精神背離。國際上很多知名區(qū)塊鏈公司都是開源的,比如Hyperledger,Corda等
區(qū)塊鏈項目就必須開源么?
有意思的是,據(jù)有關(guān)數(shù)據(jù)顯示,比特幣從2009年將代碼開源后,每年大約有8000多個區(qū)塊鏈項目加入GitHub(一個面向開源及私有軟件項目的托管平臺),至今已經(jīng)有超過3W多個區(qū)塊鏈項目,其中92%的項目處于不活躍狀態(tài),已經(jīng)半死不活,僅有8%左右的處于活躍狀態(tài)(在過去半年至少更新過一次)。
作為目前最主流的開源平臺,GitHub網(wǎng)站上有關(guān)區(qū)塊鏈項目的現(xiàn)實情況是,大部分項目已經(jīng)停工。想要單純依靠社區(qū)力量來發(fā)展,顯然效果并不是很理想,很容易陷入死亡的命運。
那么問題來了,開源項目大批量死亡,背后的原因到底是為何?或者換一種說法,開源的缺點在哪里?
當項目完全開源后,源代碼是對所有人公示的,這其中就包括一些心懷鬼胎的人。黑客對于區(qū)塊鏈的攻擊一直在發(fā)生,在看到源代碼后,項目方也更容易被乘虛而入,這樣的例子在幣圈發(fā)生較為頻繁。
當某個項目擁有超過同行業(yè)的技術(shù)水平時,代碼公開無異于直接將核心技術(shù)拱手讓人。隨意的Ctrl+C即可直接將項目復制,這對于勞動者來說非常不公平。上面提到92%的開源項目都已經(jīng)瀕臨死亡,然而統(tǒng)計發(fā)現(xiàn),擁有高復制比的項目反而存活率較高。因為直接用別人的代碼,顯然要比自己研發(fā)省事許多,也就有更多的資金干其他的事情。
最典型的例子就是V神怒懟孫晨宇的波場抄襲,直言TRX復制粘貼白皮書效率遠高于原創(chuàng)。
顯然,單純的從開不開源就評判一個項目好壞,是很不理智的,尤其是對一些踏實干事、技術(shù)領(lǐng)先的團隊很不公平。
究竟該如何選擇?
有關(guān)開不開源的討論,或許我們可以參考另外一個話題——去中心化交易所or中心化交易所。絕對的去中心化在效率上不盡人意,體驗感很差;絕對的中心化在安全問題上又讓人擔心。因此衍生出了一種新的平衡,既保持一定的去中心化的特征,比如說公開、透明、公平,又保持一些中心化的特征,比如說更有效率,決策更快,做迭代更有幫助。
在項目發(fā)展初期,需要依靠技術(shù)手段不斷升級來獲得用戶流量,這個時候可以選擇將部分代碼開源,即一些非核心部分進行開源,對外部進行公示,贏得合作伙伴信任。當項目發(fā)展達到行業(yè)領(lǐng)先水平,系統(tǒng)上已經(jīng)構(gòu)建起豐富的應用后,可以將代碼陸續(xù)開源,此時即便出現(xiàn)復制應用,也無法撼動其行業(yè)地位,就像比特幣永遠都是比特幣,因為它第一個出現(xiàn),已經(jīng)在大眾心目中形成共識。
筆者認為,只要敢于開源的項目都屬于對自己的技術(shù)水平有一定的自信,或者已經(jīng)經(jīng)過大范圍的測試的項目,畢竟是把自己的一切公布到網(wǎng)上,供所有人檢閱。
從山寨幣的歸零開始,筆者就不在關(guān)注任何華麗的包裝,而是去真正的研究其技術(shù)的實現(xiàn)路徑,若是理論上都無法講通的邏輯,哪怕是再天花亂墜都不會去耗費時間關(guān)注,若是白皮書中幾乎統(tǒng)一的商業(yè)思維而沒有技術(shù)邏輯,社群再活躍也不過就是虛假的繁榮。
對此,AtoXChain的技術(shù)人員表示,技術(shù)的存在是為了解決傳統(tǒng)互聯(lián)網(wǎng)無法解決的問題,而不是強硬的結(jié)合,原本用互聯(lián)網(wǎng)就可以簡單解決的問題,就不需要用區(qū)塊鏈來解決,這簡直就是多此一舉。
評論
查看更多