公司現狀
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簡介。
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技術反饋,開源社區)等溝通交流。
舉例:一些技術難點,一些技術疑難問題,一些壓測的性能指標等均可以在開源社區提出並諮詢討論。
開源規劃總結
開源社區和生態的發展,如同公司業務的發展同樣,是逐步造成的;雖然以目前公司的各方面現狀,
想法真正各方面切實落地爲時尚早;
可是作爲技術長期規劃和發展展望,咱們仍然須要時刻提醒本身的目標和方向,並嚴格要求本身代碼和文檔等各方面的質量要求,並不斷完善且逐步推動。
(爲了解並清晰將來公司開源技術的目標和方向,本規劃文檔需保留以做備忘。文檔分不一樣時段完成,未校驗文字,不足之處須見諒)