開源的模式
開源是一種軟件協(xié)作開發(fā)方法,也是軟件分發(fā)的模式,開源允許擁有共同興趣的人們一起協(xié)作,進(jìn)而生產(chǎn)出他們中間任何個(gè)體都無法獨(dú)立完成的事情,它讓整體所創(chuàng)建的價(jià)值遠(yuǎn)遠(yuǎn)大于部分的總和。開源通過分布式的協(xié)作工具(IRC、email、git、wiki、issue 跟蹤等)、以及開源許可證模式下的分發(fā)和保護(hù),當(dāng)然還有諸如 Apache 軟件基金會(huì)和云原生基金會(huì)這樣的非盈利基金會(huì)的治理。
說來已久,最讓人們好奇的莫過于開源的模式本質(zhì)上是缺乏金錢上的激勵(lì)的。在開源界,像人類社會(huì)的其它方面一樣,分很多的派系,如其中一些人就認(rèn)為談開源就不要談錢,開源本應(yīng)該就是由內(nèi)在的激勵(lì)的自由和資源的行為(諸如“共同理想”、“為了偉大的事情”);也有另外一些人認(rèn)為開源需要獲得外部的尤其是金錢上的激勵(lì)。雖然開源項(xiàng)目僅僅通過世上的志愿者來完成是富有理想的浪漫主義色彩的,就目前的現(xiàn)狀來看,事實(shí)上主要的開源完成的貢獻(xiàn)均是在有支付的情形下搞定的。當(dāng)然,毋庸置疑的是我們擁有大量的無償貢獻(xiàn)者,但是這些貢獻(xiàn)都是來來回回的臨時(shí)性的,或者是某些受追捧的項(xiàng)目備受世人關(guān)注。建立和維系開源項(xiàng)目是需要企業(yè)傾注大量心血和精力來進(jìn)行開發(fā)、文檔化、測試、修復(fù)缺陷,而且是持續(xù)性的一如既往的,絕不是一時(shí)心血來潮。要知道,開發(fā)軟件產(chǎn)品是需要克服大量困難的事情,這類事情最好是有金錢上的激勵(lì)方能持久。
開源的商業(yè)化
眾所周知,Apache 軟件基金會(huì)是通過捐助而生存的,當(dāng)然還有其它的一些收入:贊助、會(huì)議費(fèi)用等等。但是要知道這些資金主要是用于運(yùn)營基金會(huì)本身,如為項(xiàng)目提供法律保護(hù),以及確保有足夠的服務(wù)器來運(yùn)行構(gòu)建程序、缺陷追蹤、郵件列表等等。
同樣的,云原生基金會(huì) CNCF 會(huì)收取會(huì)員費(fèi),以及更多的會(huì)議費(fèi)用,這些費(fèi)用同樣是用來運(yùn)營基金會(huì)以及為項(xiàng)目提供資源。如今的年頭,絕大多數(shù)的軟件已經(jīng)不能在自己的筆記本電腦里構(gòu)建了,它們都的運(yùn)行和測試都是在云平臺(tái)中上百臺(tái)服務(wù)器當(dāng)中。這些都屬于基金會(huì)的日常開銷。其它如開展?fàn)I銷活動(dòng),品牌設(shè)計(jì)、分發(fā)一些小的宣傳物品,也是基金會(huì)份內(nèi)的事情。基金會(huì)的核心任務(wù)是實(shí)施正確的流程,與用戶,開發(fā)人員和控制機(jī)制進(jìn)行交互,并確保將可用財(cái)務(wù)資源分配給開源項(xiàng)目以實(shí)現(xiàn)共同利益。
看起來是一切都運(yùn)行良好,不是嗎?開源項(xiàng)目可以募捐到錢,基金會(huì)也可以公正的進(jìn)行分發(fā),那么哪里有問題了呢?
這里沒有說明的是:用于在開源生產(chǎn)者和開源消費(fèi)者之間進(jìn)行價(jià)值轉(zhuǎn)移,直接,透明,可信,分散,自動(dòng)的雙向鏈接。就目前而言,所有的鏈接都是單向或間接的:
? 單向:一名開發(fā)者(廣義上的開發(fā)者,可以是軟件生產(chǎn)中的任何角色:碼農(nóng)、維護(hù)者、分發(fā)者),利用自己的聰明才智,絞盡腦汁,并花費(fèi)無數(shù)時(shí)間來開發(fā)開源項(xiàng)目,且提交貢獻(xiàn)為所有的開源用戶分享這一價(jià)值。但是基本上都是一廂情愿的。
? 間接:如果軟件出現(xiàn)了 bug,影響到了特定的用戶/公司的話,有下列幾種情形出現(xiàn):
? 讓內(nèi)部開發(fā)人員修復(fù) bug,然后提交一個(gè)拉取請求(PR),這是比較理想的狀態(tài),這些公司并不總是能夠聘請到特定的開源項(xiàng)目的開發(fā)人員,因?yàn)橐话愎径紩?huì)使用成百上千個(gè)開源項(xiàng)目。
? 聘請專門從事該特定開源項(xiàng)目的自由職業(yè)者并支付服務(wù)費(fèi)用。理想情況下,自由職業(yè)者也是開源項(xiàng)目的提交者,可以直接快速更改項(xiàng)目代碼。否則,修復(fù)程序可能永遠(yuǎn)不會(huì)進(jìn)入上游項(xiàng)目。
? 接近圍繞開源項(xiàng)目提供服務(wù)的公司。這些公司通常雇用開源提交者來影響和獲得社區(qū)的可信度,并提供產(chǎn)品、專業(yè)知識(shí)和專業(yè)服務(wù)。
第三種選擇是維持許多開源項(xiàng)目的成功模式。無論這些公司提供服務(wù)(培訓(xùn)、咨詢、workshop)、技術(shù)支持、打包、開放核心,還是 SaaS 服務(wù),不可否認(rèn)的是他們都需要雇傭上百個(gè)全職的員工來為開源做出努力,我們可以看到這樣的公司有一大把,他們成功的建立了有效的開源商業(yè)模式,而且正在有更多的公司加入這個(gè)陣營。
支持開源項(xiàng)目的公司在這個(gè)生態(tài)系統(tǒng)中發(fā)揮著重要的作用:它們介于開源項(xiàng)目和用戶之間,起著重要的催化劑作用。那些能夠真正為用戶創(chuàng)造價(jià)值的公司,不僅僅是能夠打包出很棒的軟件;而是他們能夠識(shí)別用戶的真實(shí)需求,且能夠洞察技術(shù)趨勢,有能力創(chuàng)建出一個(gè)完整的堆棧甚至是開源項(xiàng)目的生態(tài)系統(tǒng)來滿足這些需求。 他們可以全身心的撲在一個(gè)有些寂寥和無聊的項(xiàng)目上,而且會(huì)一直支持很多年,只為堅(jiān)守其中的價(jià)值。還有如果在某個(gè)軟件堆棧中缺少了某一部分,他們隨時(shí)可以從頭開始一個(gè)開源項(xiàng)目,并圍繞它來構(gòu)建一個(gè)社區(qū)。他們甚至可以收購一家閉源的公司,然后將項(xiàng)目再整個(gè)的開源了(沒錯(cuò),可能很多讀者看到這里已經(jīng)猜到了說的是哪家公司了,沒錯(cuò),這里的特性紅帽司都擁有。)
簡單總結(jié)一下,基于商業(yè)化的開源模式就是這樣,項(xiàng)目由少數(shù)個(gè)人或公司正式或非正式的管理和控制著,這些個(gè)人或公司確保了項(xiàng)目的成功發(fā)布,而且有著商品化的能力,并有效的在回饋給開源的生態(tài)。對于開源開發(fā)人員,管理公司和最終用戶來說,這是一個(gè)沒有輸家的美好格局。這可以很好的替代那些日薄西山且昂貴的閉源軟件!
自我供給,去中心化的開源
毫無疑問,想要讓項(xiàng)目贏得好口碑,就得滿足一些人們的期望。舉例來說,Apache 軟件基金會(huì)和云原生計(jì)算基金會(huì)均需要孵化和畢業(yè)的過程,除了所有技術(shù)和形式要求之外,項(xiàng)目還必須擁有健康數(shù)量的活躍提交者和用戶。這些都是形成可持續(xù)發(fā)展開源項(xiàng)目的關(guān)鍵。在 GitHub 上擁有源代碼與擁有一個(gè)活躍的開源項(xiàng)目是有著本質(zhì)上的不同。一個(gè)活躍的開源項(xiàng)目意指編寫代碼的提交者和使用代碼的用戶,兩個(gè)組通過交換價(jià)值并形成一個(gè)每個(gè)人都受益的生態(tài)系統(tǒng)來不斷的螺旋式成長。一些項(xiàng)目生態(tài)系統(tǒng)可能很小而且壽命很短,有些可能包含多個(gè)項(xiàng)目和競爭服務(wù)提供商,其中非常復(fù)雜的交互持續(xù)多年。但只要有價(jià)值交換,每個(gè)人都從中受益,項(xiàng)目就會(huì)得到發(fā)展、維護(hù)和可持續(xù)。
我們來看下 Apache 軟件基金會(huì)的項(xiàng)目 Attic,該項(xiàng)目已經(jīng)完成了它的歷史使命,正在走入其生命周期中最后的階段。這是非常正常的現(xiàn)象:當(dāng)一個(gè)項(xiàng)目在技術(shù)上不再適合它的當(dāng)初的開發(fā)目的時(shí),它通常會(huì)自然結(jié)束。同樣,在 ASF 的孵化基地,你會(huì)發(fā)現(xiàn)很多項(xiàng)目從未畢業(yè)但卻已經(jīng)退出了歷史舞臺(tái),通常情況下,這些項(xiàng)目無法構(gòu)建足夠大的社區(qū),要么因?yàn)樗鼈冞^于偏門,要么是被更好的方案所替代。
但更多的情況是,具有高潛力和卓越技術(shù)的項(xiàng)目無法維系自身,因?yàn)樗鼈儫o法形成或維持一個(gè)有效的生態(tài)系統(tǒng)來進(jìn)行價(jià)值交換。目前的開源模式以及基金會(huì)并沒有為開發(fā)者提供一個(gè)獲得報(bào)酬或讓用戶獲知他們的請求的框架或機(jī)制,這樣的話,就沒有任何一方擁有共同的價(jià)值承諾。這樣的話,結(jié)果就是一些項(xiàng)目只能在商業(yè)的開源環(huán)境中維持自身,在商業(yè)化的開源中,公司充當(dāng)中間人的角色,并在開發(fā)者和用戶之間進(jìn)行價(jià)值獲取。這還增加了另外一個(gè)局限且要求服務(wù)提供商的公司來維持一些開源項(xiàng)目。這似乎離我們理想中的情況很是遙遠(yuǎn):用戶可以完整而直接的表達(dá)他們對項(xiàng)目的期望,開發(fā)人員能夠以透明、可量化的方式來兌現(xiàn)他們對項(xiàng)目的承諾,這是一個(gè)具有共同利益和意圖進(jìn)行價(jià)值交換的社區(qū)。
現(xiàn)在各位看官可以想象一下,有這樣一個(gè)模式,它的工作機(jī)制和工具可以實(shí)現(xiàn)開源用戶和開發(fā)人員直接打交道。這不僅僅體現(xiàn)在諸如通過拉取請求來貢獻(xiàn)代碼、使用郵件列表發(fā)送問題、GitHub 的星星數(shù)量、以及筆記本電腦上的貼紙,而且還體現(xiàn)在用戶有更多的方式、更加自控的、透明的行為來影響項(xiàng)目的走向。
該模型可包括對以下行為的激勵(lì):
? 直接為開源項(xiàng)目提供資金,而不是通過軟件基金會(huì)
? 通過投票影響項(xiàng)目方向(通過代幣持有人)
? 由用戶需求驅(qū)動(dòng)的功能需求
? 及時(shí)的合并拉取請求
? 為提交缺陷者給予獎(jiǎng)勵(lì)
? 為更好的測試覆蓋率進(jìn)行獎(jiǎng)勵(lì)
? 獎(jiǎng)勵(lì)及時(shí)更新文檔者
? 及時(shí)的安全修復(fù)
? 專家協(xié)助、支持和服務(wù)
? 為項(xiàng)目的布道師和推廣者進(jìn)行最佳預(yù)算
? 定期活動(dòng)的預(yù)算
? 更加快速的電子郵件和在線聊天幫助系統(tǒng)
? 全面了解整體項(xiàng)目的狀態(tài),等
聰明的看官可能已經(jīng)猜到了,沒錯(cuò),以上所談就是使用區(qū)塊鏈和智能合約[9],進(jìn)而實(shí)現(xiàn)最終用戶和開發(fā)者之間的積極互動(dòng)。 智能合約可以讓代幣持有者擁有真實(shí)的權(quán)力來影響項(xiàng)目的走向。
上圖所示:在開源生態(tài)系統(tǒng)中區(qū)塊鏈的應(yīng)用
目前現(xiàn)有的開源生態(tài)系統(tǒng)中,采用非正常手段來影響項(xiàng)目的走向是可能做得到的,如服務(wù)提供商的財(cái)務(wù)承諾、通過基金會(huì)的較為有限的方式等。但是在開源生態(tài)系統(tǒng)上增加基于區(qū)塊鏈的技術(shù)會(huì)為用戶和開發(fā)者之間打開一條新的通道,這么做并不是說會(huì)取代商業(yè)的開源模式;因?yàn)榇蠖鄶?shù)使用開源的公司做了許多智能合約無法完成的事情。但是智能合約可以引發(fā)一種新型的開源項(xiàng)目,為那些不堪重負(fù)的項(xiàng)目提供二次生命的機(jī)會(huì)。它可以激勵(lì)開發(fā)者去認(rèn)領(lǐng)那些無聊的拉取請求、撰寫文檔、測試程序代碼等等,在用戶和開源開發(fā)人員之間提供直接的價(jià)值交換渠道。即使公司支持不可行,區(qū)塊鏈也可以增加新渠道,幫助開源項(xiàng)目增長,并在長期內(nèi)實(shí)現(xiàn)自我維持。它可以為自我維持的開源項(xiàng)目創(chuàng)建一個(gè)新的互補(bǔ)模型 —— 一種雙贏的模式。
通證開源
其實(shí)已經(jīng)有許多旨在將開源通證化的實(shí)現(xiàn)了,它們其中有一些是僅僅聚焦于開源模式的,也有一些是更加通用的(也適用于開源模式),以下是我收集的列表:
? GitCoin,在開源成長起來的,這是該領(lǐng)域最有前途的開源項(xiàng)目之一。
? oscoin,針對開源的加密貨幣。
? 開放協(xié)作,一款支持開源項(xiàng)目的平臺(tái)。
? FundYourselfNow,針對項(xiàng)目的眾籌和 ICO 平臺(tái)。
? Kauri,支持開源項(xiàng)目文檔。
? Liberapay,經(jīng)常性的捐贈(zèng)平臺(tái)。
? FundRequest針對開源協(xié)作的去中心化市場。
? CanYa,最近被 Bountysource 收購,Bountysource 是目前世界上最大的開源 P2P 賞金平臺(tái)。
? OpenGift,開源套現(xiàn)的新模式。
? Hacken,為 Hacker 們提供的白帽令牌。
? CoinLancer,一個(gè)去中心化的人力市場。
? CodeFund,一款開源的廣告平臺(tái)。
? IssueHunt,為開源維護(hù)者和貢獻(xiàn)者提供的募捐平臺(tái)。
? District0x 1Hive,眾包和策展平臺(tái)。
? District0x Fixit ,GitHub 缺陷懸賞系統(tǒng)。
這個(gè)列表在本文撰寫之時(shí)仍然在增長著,而且是蠻快速的那種,它們其中一些肯定會(huì)消失,也有一些會(huì)轉(zhuǎn)移目標(biāo),但是總有一些會(huì)融入到諸如 SourceForge、Apache 軟件基金會(huì)、以及 GitHub。這些平臺(tái)不會(huì)也沒有必要去取代這些平臺(tái),但是令牌模型是對這些平臺(tái)的很好補(bǔ)充,它可以讓開源生態(tài)系統(tǒng)更加的豐富。每個(gè)項(xiàng)目都可以選擇其分發(fā)模型(許可證)、管理模型(基金會(huì))和激勵(lì)模型(令牌)。無論哪種,都會(huì)為開源的世界諸如新鮮的血液!
開放和去中心化的未來
? 軟件正在吞噬世界
? 每家公司都是軟件公司
? 開源是創(chuàng)新的良田
事實(shí)就在眼前,開源已經(jīng)發(fā)展到如此巨大的產(chǎn)業(yè),是不會(huì)輕易失敗的,而且開源對于這個(gè)世界實(shí)在是太重要了。它是不可能被少數(shù)人所操縱,或者被世人所遺棄而自生自滅。開源是一個(gè)對所有人都有價(jià)值的共享資源系統(tǒng),而且更要重要的是,它只能以這樣的方式來被管理,這個(gè)世界上所有的公司都希望自身在開源擁有籌碼和發(fā)言權(quán),然而,頗為不幸的是,我們并沒有一種工具或者習(xí)慣來這么去做,我們對工具的期望是:這些工具將允許任何人表達(dá)他們對軟件項(xiàng)目的欣賞或忽視;它將在生產(chǎn)者和消費(fèi)者之間,開發(fā)者和用戶之間創(chuàng)建直接而且更快的反饋循環(huán);它將促進(jìn)由用戶需求驅(qū)動(dòng)的雙創(chuàng)新模式,而且是通過令牌來進(jìn)行追蹤和衡量的。