公司現狀 1. 技術人員水平限制: 基礎研發人員技術細節,性能處理能力不足,技術視野不夠開闊;甚至一些高可用,高性能方案的概念都未聽聞,更別提發展方向和思路了,令人痛心。 2. 技術反饋渠道限制: 公司業務線暫不多,基礎服務的應用面尚屬狹窄;基礎服務和鏡像各種環境的適應性和性能不足以及時凸顯暴露出來 ...
公司現狀 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技術反饋,開源社區)等溝通交流。 舉例:一些技術難點,一些技術疑難問題,一些壓測的性能指標等都可以在開源社區提出並咨詢討論。
開源規劃總結 開源社區和生態的發展,如同公司業務的發展一樣,是逐步形成的;雖然以目前公司的各方面現狀,想法真正各方面切實落地為時尚早; 但是做為技術長期規劃和發展展望,我們仍然需要時刻提醒自己的目標和方向,並嚴格要求自己代碼和文檔等各方面的質量要求,並不斷完善且逐步推進。
(為瞭解並清晰未來公司開源技術的目標和方向,本規劃文檔需保留以作備忘。文檔分不同時段完成,未校驗文字,不足之處須見諒)