我們該如何由商業(yè)向開源邁出勇敢的第一步?
譯文【51CTO精選譯文】我曾經(jīng)供職于一家私營獨(dú)立軟件開發(fā)及咨詢公司,這家企業(yè)專門為金融機(jī)構(gòu)提供軟件產(chǎn)品。三年前,我所在的公司決定把自己的成就與知識通過應(yīng)用程序產(chǎn)品--也就是FinTP--與大家分享,從而使金融交易處理步入開源時(shí)代。
在這里,我將與大家探討一家從事交易服務(wù)的公司在從傳統(tǒng)業(yè)務(wù)模式向開源業(yè)務(wù)模式轉(zhuǎn)變時(shí),需要作出哪些變革與調(diào)整。文章中提到的結(jié)論來自這家公司在九年時(shí)間中打理曾經(jīng)的商業(yè)解決方案時(shí)所積累的豐富經(jīng)驗(yàn)。而如此徹底的變革動機(jī)則源自公司領(lǐng)導(dǎo)層希望在這個(gè)瞬息萬變、挑戰(zhàn)頻發(fā)的行業(yè)中取得領(lǐng)先地位的決心。
開源共享文化一直是企業(yè)的前進(jìn)方向,因?yàn)槲覀儓?jiān)信通過與其它報(bào)有相同價(jià)值觀的業(yè)界頂尖專業(yè)人士進(jìn)行協(xié)作,我們終將拿出最出色的解決方案。最近金融行業(yè)的多項(xiàng)研究結(jié)果表明,在開源機(jī)制的輔助下、企業(yè)得以通過協(xié)作方式開發(fā)用于處理交易或者合規(guī)性工作的非差異化軟件,而這樣的趨勢符合所有金融機(jī)構(gòu)的實(shí)際需要與根本利益。
首先,我們選擇了有能力領(lǐng)導(dǎo)團(tuán)隊(duì)的指引者,同時(shí)選定了一套開源許可機(jī)制。接下來,我們通過鼓勵(lì)當(dāng)前客戶群體與潛在社區(qū)及用戶群體為項(xiàng)目奠定了良好的發(fā)展環(huán)境基礎(chǔ)。這將幫助我們的項(xiàng)目吸引到更多貢獻(xiàn)者與使用者。
將我們的應(yīng)用程序發(fā)布為開放平臺已經(jīng)給公司的核心業(yè)務(wù)及運(yùn)營流程造成了巨大影響,因此必須作出重大變革以與之相適應(yīng)。FinTP項(xiàng)目以及圍繞它建立起來的社區(qū)需要獲得遠(yuǎn)超過商業(yè)版本產(chǎn)品的更多關(guān)注,因?yàn)槲覀儾还庖^續(xù)在項(xiàng)目的開發(fā)與維護(hù)方面傾注心力、同時(shí)也得積極將新成員納入社區(qū)當(dāng)中。
下面我向大家介紹公司的具體處理方式。
改造原本的專有解決方案
開源應(yīng)用程序需要滿足的要求非常明確,但要實(shí)現(xiàn)這些要求卻沒那么簡單。其中最重要的變更之一在于為大量第三方嵌入式產(chǎn)品提供支持。原先我們只需要為企業(yè)級版本的方案提供支持,但現(xiàn)在支持范圍無疑發(fā)生了強(qiáng)制性擴(kuò)展。產(chǎn)品的開源版本需要支持各類功能組件的最佳開源替代品,其中包括企業(yè)數(shù)據(jù)庫、面向消息的中間件以及應(yīng)用程序服務(wù)器等。應(yīng)用程序所包含的所有代碼都必須遵循許可要求進(jìn)行重新編譯,這樣才能符合發(fā)布要求。另外,我們還需要物色內(nèi)部開發(fā)者工具、工作項(xiàng)目追蹤以及資源控制系統(tǒng)等需要整合的開源替代方案
而在產(chǎn)品文檔與工作規(guī)程方面,命名機(jī)制、編碼指南以及商業(yè)版本中的最佳實(shí)踐等必須經(jīng)過適當(dāng)調(diào)整,從而滿足開放社區(qū)當(dāng)中的特定工作需求。我們發(fā)現(xiàn)在將產(chǎn)品以開源形式發(fā)布之前,有一個(gè)額外準(zhǔn)備步驟非常重要:我們將FinTP共享到fintp.org上,這是一套只允許受控訪問的平臺,能幫助我們在實(shí)際發(fā)布開放源代碼庫之前妥善調(diào)整社區(qū)規(guī)則、流程以及產(chǎn)品方案。
建立開源社區(qū)
當(dāng)大家著手將一款閉源產(chǎn)品轉(zhuǎn)向開源時(shí),建立一個(gè)強(qiáng)大而充滿活力的社區(qū)是其中最重要的部分。首先,讓我們看看封裝社區(qū)與開放社區(qū)之間的區(qū)別。開放社區(qū)是由每一位成員所作出的貢獻(xiàn)以及由此獲得的報(bào)酬所組成。其中的代碼允許開放性檢查,這樣每一位參與者都能夠解決問題、開發(fā)新功能,并以平緩的節(jié)奏提供代碼貢獻(xiàn)。對于任何給定問題,大量社區(qū)成員都會加以關(guān)注并思考解決的可能性。相比之下,封裝社區(qū)是由供應(yīng)方與客戶群體所組成,數(shù)量最龐大的客戶在面對給定問題時(shí)往往束手無策、只能等著數(shù)量有限的內(nèi)部開發(fā)人員們逐一處理。
在我們由閉源社區(qū)向開源社區(qū)過渡的初級階段,大家應(yīng)當(dāng)保持嚴(yán)明的紀(jì)委要求:我們的負(fù)責(zé)在于緊跟金融行業(yè)不斷發(fā)展的現(xiàn)行標(biāo)準(zhǔn),以此為基礎(chǔ)制定主要功能并復(fù)審已經(jīng)貢獻(xiàn)的代碼。隨著時(shí)間的推移,根據(jù)貢獻(xiàn)價(jià)值的不斷積累,新的層級結(jié)構(gòu)將逐漸形成。每一位成員都能在我們的開源社區(qū)中受益,包括影響其它項(xiàng)目、吸引并留住開發(fā)人才、降低開發(fā)與維護(hù)成本等。
改變商業(yè)模式
傳統(tǒng)商業(yè)模式是通過銷售軟件許可、收取維護(hù)費(fèi)用以及提供專業(yè)服務(wù)來實(shí)現(xiàn)營收的。一旦決定以免費(fèi)與開源作為產(chǎn)品的定位主旨,那么這一切也需要打亂重來。我們有幸拿到一份圍繞FinTP的長年咨詢合約,由一家頗具威望的國際融資機(jī)構(gòu)參與并提供資助。
在商業(yè)方面,我們的目標(biāo)在于建立一套全新商業(yè)模式及工作流程,并對內(nèi)部流程與組織結(jié)構(gòu)加以調(diào)整。在社區(qū)方面,我們的目標(biāo)是打造一整套治理結(jié)構(gòu)以及相應(yīng)的法律組織、工作流程以及營銷機(jī)制。
FinTP項(xiàng)目現(xiàn)在已經(jīng)開始向眾多客戶提供金融交易處理方案,其中包括銀行、企業(yè)、公共管理部門以及微金融機(jī)構(gòu)等:
1.幫助客戶鞏固業(yè)務(wù)工作流程;
2.為各類市場結(jié)構(gòu)創(chuàng)建靈活的接口;
3.處理各類資金轉(zhuǎn)移事務(wù)(例如信用卡轉(zhuǎn)移、直接借記、借記方案、資金流等),同時(shí)提供安全的運(yùn)營與數(shù)據(jù)副本檢測服務(wù);
4.提供多種運(yùn)營功能(例如流動性報(bào)告、會計(jì)對賬、反洗錢交易過濾、匯款管理以及競爭力報(bào)告等)。
原文鏈接:http://opensource.com/business/13/12/fintp-to-open-source