公司現狀
1. 技術人員水準限制: 基礎研發人員技術細節,性能處理能力不足,技術視野不夠開闊;甚至一些高可用,高性能方案的概念都未聽聞,更别提發展方向和思路了,令人痛心。
2. 技術回報管道限制: 公司業務線暫不多,基礎服務的應用面尚屬狹窄;基礎服務和鏡像各種環境的适應性和性能不足以及時凸顯暴露出來,架構bug和問題使用回報周期太長,不足以快速跟進和改善基礎架構。
3. 人員招聘管道限制: 高技術人才未中長期儲備, 各招聘管道未能招募到合适的技術人員。臨時招聘也不能在中短期内補充恰好求職的合适人員。(.net 行業大環境下人員本身也很緊缺)
4. 人員成本預算限制: 因公司業務的發展與現實情況,基礎研發人員數量有限,人員成本預算有限;(即便遇到非常合适者,薪資情況仍需各方努力達成。)
5. 基礎開發人員培養: 基礎研發不同于業務線研發, 難以通過業務發展提升自身滿意度,技術成就感,對性能和技術的追求。需要通過内在和外在的壓力,才能推動研發人員不斷讨論,不斷汲取學習,思考和沉澱技術,微創新,将基礎服務真正用心做好。
解決方向
在考慮公司各方面的資源限制和現狀,以及人員的限制和培養,基礎服務的性能要求和穩定性等綜合的考慮,采用開源戰略方向,形成開源->回報->交流->改進的生态圈有利于緩解以上公司的現狀問題。
若能形成開源生态圈,則可以促進開源項目穩定性,優化開源代碼,根據回報不斷的提升自身的基礎服務産品,吸引相關的進階技術人才維護檢驗項目,減少項目的開發維護成本,同時提升公司在技術領域的影響力,提升開發人員的成就感。(目前淘寶,當當網,蘑菇街,大衆點評,攜程,小米,58同城等都有部分項目開源)
目标原則
融入開源社群,借助開源的生态能力,在有限資源條件下更有效率驗證基礎服務的性能,穩定性,推動其發展。
組織形式
公司開源技術委員會(虛拟)
開源生态孵化規劃
1. 開源計劃
基礎服務開源計劃: @車江毅【開發細節收集,改進】 @孫明【開發細節收集,改進】 @徐龍【安裝咨詢】 @陳虎伯【安裝咨詢】
1)分布式任務排程平台 (已開源,開源版本未更新最新 http://git.oschina.net/chejiangyi/Dyd.BaseService.TaskManager)
@車江毅 @徐龍 @陳虎伯
2)分布式消息隊列平台 (已開源,開源版本未更新最新 http://git.oschina.net/chejiangyi/Dyd.BusinessMQ)
3)OpenApi開放平台 (已開源,開源版本未更新最新,開源名稱待訂正 http://git.oschina.net/chejiangyi/ApiView)
4)BSF.EntityFramework (待整理開源) @孫明 @徐龍 @陳虎伯
5)分布式配置中心 (已開源,開源版本未更新最新 http://git.oschina.net/chejiangyi/Dyd.BaseService.ConfigManager)
6)分布式消息推送平台(待整理開源) @孫明 @徐龍 @陳虎伯
7)分布式緩存中間件 (已開源,開源版本未更新最新 http://git.oschina.net/chejiangyi/XXF.BaseService.DistributedCache)
8)分布式Tcp服務中心(待研發)
@孫明 @徐龍 @陳虎伯
9)分布式檔案系統 (功能暫不足以推進開源)
10)分布式監控中心 (已開源,開源版本未更新最新 http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor)
執行步驟
1)上傳代碼(新版本須建立新分支),整理文檔(需求+demo+壓測報告等),相關安裝包(+安裝文檔等),readme簡介。
至git: http://git.oschina.net/chejiangyi (後期以公司形式開源,前期避免行業商業競争)
2)撰寫博文介紹項目的功能,demo和使用等,釋出到公司知識庫,釋出到開源群,釋出到開源社群。
開源QQ群
.net 開源基礎服務 238543768
開源基金
設立一定的開源基金和開源任務釋出計劃等。(未來較長期的發展方向,部分核心技術外包形式【部分進階核心技術人員無法招募,就通過外包技術合作等形式】)
2. 開放計劃
基礎服務鏡像開放計劃: @陳虎伯 【安裝咨詢,使用問題收集,改進】 @徐龍【安裝咨詢,使用問題收集,改進】
1)基礎服務鏡像1.0版(内部測試版本->開放測試版本->正式穩定版)
2)基礎服務鏡像2.0版(内部測試版本->開放測試版本->正式穩定版)
1)釋出基礎服務鏡像内部測試版本,通過一定的業務功能驗證其穩定性。(驗證周期約一個月)
2)釋出基礎服務鏡像開放測試版本,通過收集開源的回報問題,驗證其穩定性。(驗證周期約三個月)
3)釋出基礎服務鏡像正式穩定版本,僅對内提供,一般不對外公開。(産品釋出的鏡像版本須為穩定版鏡像,并記錄版本更新資訊)
總體原則
1)穩定版鏡像不對外公開,對外開放僅為最新開放測試的基礎服務版本和跟進回報。
基礎服務鏡像暫不對外允許商業使用權利,僅用于學習測試使用。(避免同行業商業競争)
3. 回報計劃
交流QQ群: net 開源基礎服務 238543768
交流社群: oschina,部落格園,csdn,51cto等
源碼開源: git.oschina.net,github等
通過線上qq群,社群,源碼分享等多種管道(還有線下的交流管道),分享基礎服務設計的成果和思路,彙聚志同道合或者同樣需求的人才,一起探讨總體方向,細節,性能優化,同類産品建議等。
(根據經驗: 一般至少80%的交流都是一些基礎和廢話,約20%的交流是值得思考的,10%的交流是值得改進和有價值的; 10%當中結合公司實際業務和具體問題,5%的建議可以形成一輪小版本疊代需求)
4. 線下計劃
方向: 打通線上和線下交流,彙聚行業精英人才,打開技術交流管道
形式: 以QQ群和微信群為交流彙聚點,通過策劃線下圓桌會議,1對多小型技術分享會議,技術專家邀請分享,技術沙龍交流等交流會議
間隔: 一季度一次,不限人數,不限大小
人員: 公司内部人員推薦的(其他公司)人才,QQ技術交流群的進階人才,業内知名技術人才等
資金: 公司預算支援
場地: 咖啡館,小會議室等安靜休閑場所
效果: 拓寬技術眼界,了解行業技術動向,回報一些價值的技術建議, 吸納技術精英。
5. 人才計劃
方向: 以基礎服務開源為核心,宣傳并推廣開源技術為手段,進階技術人才人脈互相傳遞(人才)特性,打通線上回報交流和線下會議分享,吸引并聚攏相關類型的技術人才(同時提高公司的技術影響力),形成一定規模的開源技術圈子。
目标: 以開源吸引形成技術互補,互動,培養,并到合适時機招聘入職;且适用于用于長期技術人才儲備。
形式: 回報計劃,線下計劃,人才儲備關注(進階人才招聘時推薦公司開源社群并加入),公司内部員工推薦(曾經認為不錯的技術同僚),開源社群人才推薦(人脈傳遞)。
資金: 開源基金支援(未來考慮開源基金計劃,如部分進階核心技術人員無法招募,就通過外包技術合作,釋出開源任務模式等形式)
6. 培養計劃
方向:為公司技術開發人員打開技術交流另一扇視窗,有交流才會有進步。(除了公司内部教育訓練,交流外)
目标:以外部技術人才與内部開發在開源社群的互動交流,了解實時的行業技術動态(行業技術新聞和咨詢,相關技術架構和更新等),打開開發人員的技術視野和思考,提升技術能力。
形式:線上社群(QQ,git技術回報,開源社群)等溝通交流。
舉例:一些技術難點,一些技術疑難問題,一些壓測的性能名額等都可以在開源社群提出并咨詢讨論。
開源規劃總結
開源社群和生态的發展,如同公司業務的發展一樣,是逐漸形成的;雖然以目前公司的各方面現狀,想法真正各方面切實落地為時尚早;
但是做為技術長期規劃和發展展望,我們仍然需要時刻提醒自己的目标和方向,并嚴格要求自己代碼和文檔等各方面的品質要求,并不斷完善且逐漸推進。