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