posts - 27,  comments - 0,  trackbacks - 0

                      竹子與開源:扎根是為了長得更高

              端午節到了,人們都在討論屈原不屈不撓的精神,以及龍舟、粽葉等世界文化遺產。粽葉清淡,給人無限的遐想。或者,你很容易想起和粽葉形狀比較類似的竹葉,以及屹立挺拔的骨感竹子。竹在清風中瑟瑟的聲音,在夜月下疏朗的影子,都讓文人墨客深深感動。而竹于風霜凌厲中蒼翠依然的品格,更讓詩人引為同道。蘇東坡曾在《于潛僧綠筠軒》里宣稱,“寧可食無肉,不可居無竹。無肉令人瘦,無竹令人俗。人瘦尚可肥,士俗不可醫。”當年鄭板橋曾作《竹石》,細細品味,也給人許多思考。

           

           

           


              作為開源參與者,其實我們可以聯想到很多和竹子相關的典故,以及和竹子相關的精神。端午節前,困頓的晌午,我決定穿越時空,會一會屈原。

              一、對話屈原
              為此,我溯江而上,穿越雄偉險峻的長江西陵峽,抬頭眺望長江北岸,有一座氣勢雄偉的建筑,半遮半掩在桔林與翠柏之中,這便是世人矚目的屈原祠。
              拾級而上,來到屈原祠里,一番膜拜之后,我準備與屈原做一次詳談。“屈大夫,我不想繼續做程序員了,你能給我一個讓我堅持的理由嗎?”我問。
              屈原回答:“你看看我的祠堂四周,看到那些山蕨和竹子了嗎?去年我播種了山蕨和竹子的種子后,給它們光照和水分。山蕨很快就從地面長出來,茂密的綠葉覆蓋了地面。然而,竹子卻什么也沒長出來。一年過去了,山蕨長得更加茂密。竹子的種子仍然沒有長出任何東西。2年過去了,竹子的種子還是沒有發芽。 然而,到了第5年,地面上冒起了一個細小的萌芽。與山蕨對比,它小到微不足道。但是,僅在6個月之后,竹子就長到100英尺高了。竹子花了5年時間來長根,正是根給了它生存所需的一切。”
              屈原捋了捋胡須,緩緩說道:“孩子,你這段時間所做的掙扎,實際上就是你長根的時候。不要拿自己與別人對比。現在,你的時機到了。你會上升得很高。”我離開了屈原故里的香溪河口,帶回來了這個故事。
              一路上,我在反復琢磨,并百度了解毛竹的特性。原來,毛竹萌芽之后,最初4年居然只能長3厘米,但是到了第5年卻以每天30厘米的速度生長,只用6周就可以長到15米。在這潛心鉆研的4年里,竹子都是在扎根,它將自己的根在土壤里面延伸了數百平米。沒有這種沉心鉆研,哪有今日綠竹成蔭!

           

           

           

            
              二、竹子精神與開源
              回到開源世界的現實生活,細細品味屈老夫子的話,讓人感慨良多。做產品、做框架亦是如此,不要擔心你此時此刻的付出得不到回報,因為這些付出都是為了扎根。人生歷練何嘗不是如此,多少人,沒熬過那3厘米!
              1.竹子的群生精神與開源
            說到群生精神,李克強總理用很通俗的話解釋了一次:“一個人干不過一個團隊,一個團隊干不過一個系統,一個系統干不過一個趨勢。 團隊+系統+趨勢=成功。一個人可以走得很快,一群人會走得更遠! 你能整合別人,說明你有能力; 你被別人整合,說明你有價值。 在這個年代,你既整合不了別人,也沒人整合你,那說明你離成功還有很遠!”這種啟示,在竹子身上也可以看到。平時,人們看到的往往是一片竹林,而不是孤零零的一棵竹子。對一棵竹子而言,它面對的只有死亡。這說明團隊成員之間,只有大家抱團才能生存和發展下去,否則,這個團隊只有死亡。
              說到開源團隊的群生精神,我還想引用一個群鳥南方的故事。每當秋季來臨,天空中成群結隊南飛的大雁就是值得我們借鑒的企業經營的楷模、一支完美的團隊。雁群是由許多有著共同目標的大雁組成,在組織中,它們有明確的分工合作,當隊伍中途飛累了停下休息時,它們中有負責覓食﹑照顧年幼或老齡的青壯派大雁,有負責雁群安全放哨的大雁,有負責安靜休息﹑調整體力的領頭雁。在雁群進食的時候,巡視放哨的大雁一旦發現有敵人靠近,便會長鳴一聲給出警示信號,群雁便整齊地沖向藍天、列隊遠去。而那只放哨的大雁,在別人都進食的時候自己不吃不喝,是一種為團隊犧牲的精神。
              據科學研究表明組隊飛要比單獨飛提高22%的速度,在飛行中的雁兩翼可形成一個相對的真空狀態,飛翔的頭雁是沒有誰給它真空的,漫長的遷徙過程中總有人帶頭搏擊,這同樣是一種犧牲精神。而在飛行過程中,雁群大聲嘶叫以相互激勵,通過共同扇動翅膀來形成氣流,為后面的隊友提供了“向上之風”,而且V字隊形可以增加雁群70%的飛行范圍。如果在雁群中,有任何一只大雁受傷或生病而不能繼續飛行,雁群中會有兩只自發的大雁留下來守護照看受傷或生病的大雁,直至其恢復或死亡,然后它們再加入到新的雁陣,繼續南飛直至目的地。
              同樣,對于成功的開源團隊而言,個人強大的技術是一方面,但團隊力量遠大于一群人的簡單相加。項目組由項目管理、需求分析、軟件設計、編碼、測試、實施等各方面的專業人士組成,每位成員在自己專業領域內發揮主導作用,并可以為項目的成功提出非自己領域內的建議。最終的項目成果是各位專業人士共同努力的結果,所有人對最終成功承擔同等的責任。這樣,當系統部署后,系統出現了一個嚴重缺陷,請問誰應該負責?項目經理?測試?開發?……都不是,而是項目組全體都要負責!

              2.竹子的自主生長精神
              當年板橋就說過,“咬定青山不放松,立根原在破巖中。千磨萬擊還堅勁,任爾東西南北風。”也是說的竹子不屈不撓、自主鉆研、任性成長的精神。
              在常見的開源項目組中,難免有部分成員是新手,經驗和水平不足,某些工作可能一時不能勝任。迫于項目進度壓力,某些任務就會直接安排給他做,不讓他提出自己的想法和見解。不少成員也喜歡以“接受任務”的方式來工作,而不是主動迎接挑戰。于是有時候,你可能遇到一些成員會跟你說“今天工作已經完成!”“我按照任務要求來做的,我沒有錯!”之類的話。
              就像竹子“千磨萬擊還堅勁”的精神一樣,每個項目成員都有當家做主的機會,應相信自己在本領域內是專家,在我的專業范圍內,我可以說了算!只要滿足項目的大框架,只要出發點是為了項目成功,那么這段代碼應該怎樣寫、這個功能點應該如何測試等之類的決定,完全可以讓成員來做主!項目成員可能一時沒有魄力獨立做決定,可能擔心犯錯誤,沒關系,要多多鼓勵他!Tiny團隊就是這樣,我們每個團隊成員的自主精神貫穿在日常的工作始終。TinyFramework的立意是企業級的開發平臺,因此在方法論、設計理念、開發體系、設計原則、生態圈、模塊化、熱部署、水平擴展、元數據等非功能性要求方面做了大量的自主探索和獨立實踐,當然在這些領域也都有了完美或者不錯的解。

              3.“扎根”與開源
              不知道你注意沒有,在成長的過程中,竹子始終是一節一節生長。竹子生長一段,就接一個箍,再生長一段,再接一個箍。這說明,竹子是會總結和反思的。所以,對團隊成員來講,也要學會總結和反思,才能不斷地成長和發展。說到這里,我想談一個扎根理論。作為質化研究中的一種建構理論,扎根理論是由斯特勞斯(anselm strauss)和格拉斯(barney glaser)兩位社會學者在1967年出版的《扎根理論的發現》一書中提出的。扎根的理論,就是用歸納的方法,對現象加以分析整理所得的結果。在開源團隊,尤其需要學習竹子的扎根精神。

           

           


              在開源產品的成長過程中,我們同樣要發揮這種扎根精神,不斷總結提高。一般來說,一個開源產品,從開始,到發展,到最后能有收入,能營收平衡,這個一個漫長及艱難的過程。按照一般人的觀點,牛人總是喜歡和牛人在一起工作,這句話是有道理的,然而要組建一個全是精英的團隊,對于大多數開源產品來說只能是一個夢想。一般的團隊,招到團隊來的人,精英只是個別,也就是所謂的骨干了,而大部分還是熟練工、生手甚至是新手。團隊由各種層次的人組成,這也就是所謂的團隊梯隊配置了。
              為何團隊會需要梯隊配置?原因其實很簡單,你的團隊所負責的工作,不可能全部由精英骨干力量去完成。個人能力再突出,不適合團隊的人或許給你團隊帶來的是負面影響。唐僧四師徒西天取經,如果每個人都是孫悟空,不是自己內斗死,就是被妖怪吃掉!從研發編碼的角度舉例,需要更多具有扎根精神、各具特長的成員來參與,才能取得成功。比如在Tiny框架開源團隊中,有句口頭禪,嘴巴講的不算。所以不管是需求還是BUG,都要統統錄到Issues當中,于是提出問題、批注問題、解決問題、跟蹤問題、關閉問題,都在Issues當中進行管理。當然,所有的過程也就成為呈堂證供,抵賴不得。
              竹子精心耕耘,能夠延伸數百平米,就是靠的這種不斷接“箍”的“扎根”精神。加入到開源團隊,做開源產品,就要耐得住平淡,經得起風雨,把開源之根留住!軟件研發活動是人類復雜的高級智力活動,是需要team work的活動。如果明白這個道理,研發團隊中的每一個人將是值得尊重的、有血有肉的、充滿激情和戰斗力的專家!也只有這樣,才能開發出具有高質量品質的開源產品。Tiny架構的設計師最初就致力于做一個各方面比較均衡的開發平臺,于是就從各種小的專題性驗證開始“扎根”,比如:流程化編程、模塊化設計、數據庫分區分表等等一一進行驗證,當驗證的范圍越來越大,涵蓋的領域越來越多的時候,才真正開始決定做一個開源框架。這實際上也是一個“竹葉成蔭”的開拓過程。

              4.竹子的虛心精神
              竹在荒山野嶺中默默生長,無論是峰峰嶺嶺,還是溝溝整整,它都能以堅韌不拔的毅力在逆境中頑強生存。盡管長年累月守著無邊的寂寞與凄涼,一年四季經受著風霜雪雨的抽打與折磨,但她始終“咬定青山”、專心致志、無怨無悔。這種虛懷若谷的精神,讓人敬佩。
              大家注意到沒有,所有的竹子都是中空的,都是能容得下其他人的,都是能像其他團隊成員虛心學習的。以Tiny框架為例,在Tiny框架早期,整個團隊還是默默無聞的,因為Tiny團隊不想在框架還是一個半成品的時候就拿出來,直到Tiny已經開發完畢并且在自己的項目中進行了充分驗證的時候才真正的在社區或相關網站進行露面。開發者們互幫互助,虛心求教,一個問題提交到社區(
          http://bbs.tinygroup.org)的“有問必答”欄目,往往就會有許多同伴互相幫助,問題也能在最短的時間內得到解決。由于Tiny框架是立足于在需要穩定、安全要求非常高的應用環境中使用的,因此其穩定性就是框架構建者首要思考目標,核心部分只使用經過充驗證及廣泛應用的第三方包。
                 
              細細品竹,便會覺得竹子是學習的楷模。竹子挺拔俊逸,做人應該具有這種翩翩君子的開源風度;竹子中空外直,做人應該修煉這種虛心自持的開源品格;竹子彎而不折,做人應該學習這種柔中有剛的開源智慧。開源是一個艱辛的選擇,需要長久的堅守,需要一份不急不燥的態度。團隊合作、團隊協作也是如此,達成配合與默契更需要不斷的溝通、磨合與深厚的信任。只有這樣,我們才能見證優秀的產品是如何一步步走向成熟,才能在開源的氛圍中快速成長!


          歡迎訪問開源技術社區:http://bbs.tinygroup.org。本例涉及的代碼和框架資料,將會在社區分享。《自己動手寫框架》成員QQ群:228977971,讓我們一起動手,了解開源框架的奧秘!

          第4波活動:寫書評,送精美開發圖書!

          posted on 2015-06-23 22:16 柏然 閱讀(82) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2015年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 会同县| 乌兰县| 昆山市| 襄垣县| 罗城| 东光县| 龙陵县| 鄱阳县| 武山县| 连云港市| 堆龙德庆县| 霍山县| 赤壁市| 曲沃县| 页游| 宜兰县| 哈巴河县| 黔东| 马关县| 砚山县| 舞阳县| 汉源县| 昌都县| 平远县| 余干县| 武川县| 乌鲁木齐县| 托克逊县| 澄江县| 洞头县| 关岭| 东至县| 治多县| 磐安县| 临沧市| 邢台市| 休宁县| 罗江县| 塘沽区| 山阴县| 亳州市|