鍍金池/ 教程/ Java/ 與屈原對(duì)話及開(kāi)源精神
分布式鎖的簡(jiǎn)單實(shí)現(xiàn)
關(guān)于框架體系與戰(zhàn)術(shù)的思考
開(kāi)源與中小型軟件公司的未來(lái)趨勢(shì)
生態(tài)圈的建立
用200行的DBF解析器來(lái)展示良好架構(gòu)設(shè)計(jì)
緣起
業(yè)務(wù)流程引擎設(shè)計(jì)
軟件開(kāi)發(fā)雜談
高屋建瓴,理念先行
借船下海還是造船下海
Web界面快速開(kāi)發(fā)實(shí)踐
教計(jì)算機(jī)程序解數(shù)學(xué)題
量身定制規(guī)則引擎,適應(yīng)多變業(yè)務(wù)場(chǎng)景
緩存相關(guān)代碼的演變
理想的開(kāi)源框架與設(shè)計(jì)原則
框架2.0的設(shè)計(jì)梳理
與屈原對(duì)話及開(kāi)源精神

與屈原對(duì)話及開(kāi)源精神

端午節(jié)到了,人們都在討論屈原不屈不撓的精神,以及龍舟、粽葉等世界文化遺產(chǎn)。粽葉清淡,給人無(wú)限的遐想?;蛘撸愫苋菀紫肫鸷汪杖~形狀比較類(lèi)似的竹葉,以及屹立挺拔的骨感竹子。竹在清風(fēng)中瑟瑟的聲音,在夜月下疏朗的影子,都讓文人墨客深深感動(dòng)。而竹于風(fēng)霜凌厲中蒼翠依然的品格,更讓詩(shī)人引為同道。蘇東坡曾在《于潛僧綠筠軒》里宣稱(chēng),“寧可食無(wú)肉,不可居無(wú)竹。無(wú)肉令人瘦,無(wú)竹令人俗。人瘦尚可肥,士俗不可醫(yī)?!碑?dāng)年鄭板橋曾作《竹石》,細(xì)細(xì)品味,也給人許多思考。

http://wiki.jikexueyuan.com/project/open-source-framework-diy/images/17.1.jpeg" alt="" />

作為開(kāi)源參與者,其實(shí)我們可以聯(lián)想到很多和竹子相關(guān)的典故,以及和竹子相關(guān)的精神。端午節(jié)前,困頓的晌午,我決定穿越時(shí)空,會(huì)一會(huì)屈原。

對(duì)話屈原

為此,我溯江而上,穿越雄偉險(xiǎn)峻的長(zhǎng)江西陵峽,抬頭眺望長(zhǎng)江北岸,有一座氣勢(shì)雄偉的建筑,半遮半掩在桔林與翠柏之中,這便是世人矚目的屈原祠。

拾級(jí)而上,來(lái)到屈原祠里,一番膜拜之后,我準(zhǔn)備與屈原做一次詳談。“屈大夫,我不想繼續(xù)做程序員了,你能給我一個(gè)讓我堅(jiān)持的理由嗎?”我問(wèn)。

屈原回答:“你看看我的祠堂四周,看到那些山蕨和竹子了嗎?去年我播種了山蕨和竹子的種子后,給它們光照和水分。山蕨很快就從地面長(zhǎng)出來(lái),茂密的綠葉覆蓋了地面。然而,竹子卻什么也沒(méi)長(zhǎng)出來(lái)。一年過(guò)去了,山蕨長(zhǎng)得更加茂密。竹子的種子仍然沒(méi)有長(zhǎng)出任何東西。2年過(guò)去了,竹子的種子還是沒(méi)有發(fā)芽。 然而,到了第5年,地面上冒起了一個(gè)細(xì)小的萌芽。與山蕨對(duì)比,它小到微不足道。但是,僅在6個(gè)月之后,竹子就長(zhǎng)到100英尺高了。竹子花了5年時(shí)間來(lái)長(zhǎng)根,正是根給了它生存所需的一切?!?/p>

屈原捋了捋胡須,緩緩說(shuō)道:“孩子,你這段時(shí)間所做的掙扎,實(shí)際上就是你長(zhǎng)根的時(shí)候。不要拿自己與別人對(duì)比?,F(xiàn)在,你的時(shí)機(jī)到了。你會(huì)上升得很高?!蔽译x開(kāi)了屈原故里的香溪河口,帶回來(lái)了這個(gè)故事。

一路上,我在反復(fù)琢磨,并百度了解毛竹的特性。原來(lái),毛竹萌芽之后,最初4年居然只能長(zhǎng)3厘米,但是到了第5年卻以每天30厘米的速度生長(zhǎng),只用6周就可以長(zhǎng)到15米。在這潛心鉆研的4年里,竹子都是在扎根,它將自己的根在土壤里面延伸了數(shù)百平米。沒(méi)有這種沉心鉆研,哪有今日綠竹成蔭!

http://wiki.jikexueyuan.com/project/open-source-framework-diy/images/17.2.jpeg" alt="" />

竹子精神與開(kāi)源

回到開(kāi)源世界的現(xiàn)實(shí)生活,細(xì)細(xì)品味屈老夫子的話,讓人感慨良多。做產(chǎn)品、做框架亦是如此,不要擔(dān)心你此時(shí)此刻的付出得不到回報(bào),因?yàn)檫@些付出都是為了扎根。人生歷練何嘗不是如此,多少人,沒(méi)熬過(guò)那3厘米!

竹子的群生精神與開(kāi)源

說(shuō)到群生精神,李克強(qiáng)總理用很通俗的話解釋了一次:“一個(gè)人干不過(guò)一個(gè)團(tuán)隊(duì),一個(gè)團(tuán)隊(duì)干不過(guò)一個(gè)系統(tǒng),一個(gè)系統(tǒng)干不過(guò)一個(gè)趨勢(shì)。 團(tuán)隊(duì)+系統(tǒng)+趨勢(shì)=成功。一個(gè)人可以走得很快,一群人會(huì)走得更遠(yuǎn)! 你能整合別人,說(shuō)明你有能力; 你被別人整合,說(shuō)明你有價(jià)值。 在這個(gè)年代,你既整合不了別人,也沒(méi)人整合你,那說(shuō)明你離成功還有很遠(yuǎn)!”這種啟示,在竹子身上也可以看到。平時(shí),人們看到的往往是一片竹林,而不是孤零零的一棵竹子。對(duì)一棵竹子而言,它面對(duì)的只有死亡。這說(shuō)明團(tuán)隊(duì)成員之間,只有大家抱團(tuán)才能生存和發(fā)展下去,否則,這個(gè)團(tuán)隊(duì)只有死亡。

說(shuō)到開(kāi)源團(tuán)隊(duì)的群生精神,我還想引用一個(gè)群鳥(niǎo)南方的故事。每當(dāng)秋季來(lái)臨,天空中成群結(jié)隊(duì)南飛的大雁就是值得我們借鑒的企業(yè)經(jīng)營(yíng)的楷模、一支完美的團(tuán)隊(duì)。雁群是由許多有著共同目標(biāo)的大雁組成,在組織中,它們有明確的分工合作,當(dāng)隊(duì)伍中途飛累了停下休息時(shí),它們中有負(fù)責(zé)覓食﹑照顧年幼或老齡的青壯派大雁,有負(fù)責(zé)雁群安全放哨的大雁,有負(fù)責(zé)安靜休息﹑調(diào)整體力的領(lǐng)頭雁。在雁群進(jìn)食的時(shí)候,巡視放哨的大雁一旦發(fā)現(xiàn)有敵人靠近,便會(huì)長(zhǎng)鳴一聲給出警示信號(hào),群雁便整齊地沖向藍(lán)天、列隊(duì)遠(yuǎn)去。而那只放哨的大雁,在別人都進(jìn)食的時(shí)候自己不吃不喝,是一種為團(tuán)隊(duì)犧牲的精神。

據(jù)科學(xué)研究表明組隊(duì)飛要比單獨(dú)飛提高22%的速度,在飛行中的雁兩翼可形成一個(gè)相對(duì)的真空狀態(tài),飛翔的頭雁是沒(méi)有誰(shuí)給它真空的,漫長(zhǎng)的遷徙過(guò)程中總有人帶頭搏擊,這同樣是一種犧牲精神。而在飛行過(guò)程中,雁群大聲嘶叫以相互激勵(lì),通過(guò)共同扇動(dòng)翅膀來(lái)形成氣流,為后面的隊(duì)友提供了“向上之風(fēng)”,而且V字隊(duì)形可以增加雁群70%的飛行范圍。如果在雁群中,有任何一只大雁受傷或生病而不能繼續(xù)飛行,雁群中會(huì)有兩只自發(fā)的大雁留下來(lái)守護(hù)照看受傷或生病的大雁,直至其恢復(fù)或死亡,然后它們?cè)偌尤氲叫碌难汴?,繼續(xù)南飛直至目的地。

同樣,對(duì)于成功的開(kāi)源團(tuán)隊(duì)而言,個(gè)人強(qiáng)大的技術(shù)是一方面,但團(tuán)隊(duì)力量遠(yuǎn)大于一群人的簡(jiǎn)單相加。項(xiàng)目組由項(xiàng)目管理、需求分析、軟件設(shè)計(jì)、編碼、測(cè)試、實(shí)施等各方面的專(zhuān)業(yè)人士組成,每位成員在自己專(zhuān)業(yè)領(lǐng)域內(nèi)發(fā)揮主導(dǎo)作用,并可以為項(xiàng)目的成功提出非自己領(lǐng)域內(nèi)的建議。最終的項(xiàng)目成果是各位專(zhuān)業(yè)人士共同努力的結(jié)果,所有人對(duì)最終成功承擔(dān)同等的責(zé)任。這樣,當(dāng)系統(tǒng)部署后,系統(tǒng)出現(xiàn)了一個(gè)嚴(yán)重缺陷,請(qǐng)問(wèn)誰(shuí)應(yīng)該負(fù)責(zé)?項(xiàng)目經(jīng)理?測(cè)試?開(kāi)發(fā)?……都不是,而是項(xiàng)目組全體都要負(fù)責(zé)!

竹子的自主生長(zhǎng)精神

當(dāng)年板橋就說(shuō)過(guò),“咬定青山不放松,立根原在破巖中。千磨萬(wàn)擊還堅(jiān)勁,任爾東西南北風(fēng)?!币彩钦f(shuō)的竹子不屈不撓、自主鉆研、任性成長(zhǎng)的精神。

在常見(jiàn)的開(kāi)源項(xiàng)目組中,難免有部分成員是新手,經(jīng)驗(yàn)和水平不足,某些工作可能一時(shí)不能勝任。迫于項(xiàng)目進(jìn)度壓力,某些任務(wù)就會(huì)直接安排給他做,不讓他提出自己的想法和見(jiàn)解。不少成員也喜歡以“接受任務(wù)”的方式來(lái)工作,而不是主動(dòng)迎接挑戰(zhàn)。于是有時(shí)候,你可能遇到一些成員會(huì)跟你說(shuō)“今天工作已經(jīng)完成!”“我按照任務(wù)要求來(lái)做的,我沒(méi)有錯(cuò)!”之類(lèi)的話。

就像竹子“千磨萬(wàn)擊還堅(jiān)勁”的精神一樣,每個(gè)項(xiàng)目成員都有當(dāng)家做主的機(jī)會(huì),應(yīng)相信自己在本領(lǐng)域內(nèi)是專(zhuān)家,在我的專(zhuān)業(yè)范圍內(nèi),我可以說(shuō)了算!只要滿足項(xiàng)目的大框架,只要出發(fā)點(diǎn)是為了項(xiàng)目成功,那么這段代碼應(yīng)該怎樣寫(xiě)、這個(gè)功能點(diǎn)應(yīng)該如何測(cè)試等之類(lèi)的決定,完全可以讓成員來(lái)做主!項(xiàng)目成員可能一時(shí)沒(méi)有魄力獨(dú)立做決定,可能擔(dān)心犯錯(cuò)誤,沒(méi)關(guān)系,要多多鼓勵(lì)他!Tiny團(tuán)隊(duì)就是這樣,我們每個(gè)團(tuán)隊(duì)成員的自主精神貫穿在日常的工作始終。TinyFramework的立意是企業(yè)級(jí)的開(kāi)發(fā)平臺(tái),因此在方法論、設(shè)計(jì)理念、開(kāi)發(fā)體系、設(shè)計(jì)原則、生態(tài)圈、模塊化、熱部署、水平擴(kuò)展、元數(shù)據(jù)等非功能性要求方面做了大量的自主探索和獨(dú)立實(shí)踐,當(dāng)然在這些領(lǐng)域也都有了完美或者不錯(cuò)的解。

“扎根”與開(kāi)源

不知道你注意沒(méi)有,在成長(zhǎng)的過(guò)程中,竹子始終是一節(jié)一節(jié)生長(zhǎng)。竹子生長(zhǎng)一段,就接一個(gè)箍,再生長(zhǎng)一段,再接一個(gè)箍。這說(shuō)明,竹子是會(huì)總結(jié)和反思的。所以,對(duì)團(tuán)隊(duì)成員來(lái)講,也要學(xué)會(huì)總結(jié)和反思,才能不斷地成長(zhǎng)和發(fā)展。說(shuō)到這里,我想談一個(gè)扎根理論。作為質(zhì)化研究中的一種建構(gòu)理論,扎根理論是由斯特勞斯(anselm strauss)和格拉斯(barney glaser)兩位社會(huì)學(xué)者在1967年出版的《扎根理論的發(fā)現(xiàn)》一書(shū)中提出的。扎根的理論,就是用歸納的方法,對(duì)現(xiàn)象加以分析整理所得的結(jié)果。在開(kāi)源團(tuán)隊(duì),尤其需要學(xué)習(xí)竹子的扎根精神。

http://wiki.jikexueyuan.com/project/open-source-framework-diy/images/17.3.jpeg" alt="" />

在開(kāi)源產(chǎn)品的成長(zhǎng)過(guò)程中,我們同樣要發(fā)揮這種扎根精神,不斷總結(jié)提高。一般來(lái)說(shuō),一個(gè)開(kāi)源產(chǎn)品,從開(kāi)始,到發(fā)展,到最后能有收入,能營(yíng)收平衡,這個(gè)一個(gè)漫長(zhǎng)及艱難的過(guò)程。按照一般人的觀點(diǎn),牛人總是喜歡和牛人在一起工作,這句話是有道理的,然而要組建一個(gè)全是精英的團(tuán)隊(duì),對(duì)于大多數(shù)開(kāi)源產(chǎn)品來(lái)說(shuō)只能是一個(gè)夢(mèng)想。一般的團(tuán)隊(duì),招到團(tuán)隊(duì)來(lái)的人,精英只是個(gè)別,也就是所謂的骨干了,而大部分還是熟練工、生手甚至是新手。團(tuán)隊(duì)由各種層次的人組成,這也就是所謂的團(tuán)隊(duì)梯隊(duì)配置了。

為何團(tuán)隊(duì)會(huì)需要梯隊(duì)配置?原因其實(shí)很簡(jiǎn)單,你的團(tuán)隊(duì)所負(fù)責(zé)的工作,不可能全部由精英骨干力量去完成。個(gè)人能力再突出,不適合團(tuán)隊(duì)的人或許給你團(tuán)隊(duì)帶來(lái)的是負(fù)面影響。唐僧四師徒西天取經(jīng),如果每個(gè)人都是孫悟空,不是自己內(nèi)斗死,就是被妖怪吃掉!從研發(fā)編碼的角度舉例,需要更多具有扎根精神、各具特長(zhǎng)的成員來(lái)參與,才能取得成功。比如在Tiny框架開(kāi)源團(tuán)隊(duì)中,有句口頭禪,嘴巴講的不算。所以不管是需求還是BUG,都要統(tǒng)統(tǒng)錄到Issues當(dāng)中,于是提出問(wèn)題、批注問(wèn)題、解決問(wèn)題、跟蹤問(wèn)題、關(guān)閉問(wèn)題,都在Issues當(dāng)中進(jìn)行管理。當(dāng)然,所有的過(guò)程也就成為呈堂證供,抵賴(lài)不得。

竹子精心耕耘,能夠延伸數(shù)百平米,就是靠的這種不斷接“箍”的“扎根”精神。加入到開(kāi)源團(tuán)隊(duì),做開(kāi)源產(chǎn)品,就要耐得住平淡,經(jīng)得起風(fēng)雨,把開(kāi)源之根留?。≤浖邪l(fā)活動(dòng)是人類(lèi)復(fù)雜的高級(jí)智力活動(dòng),是需要team work的活動(dòng)。如果明白這個(gè)道理,研發(fā)團(tuán)隊(duì)中的每一個(gè)人將是值得尊重的、有血有肉的、充滿激情和戰(zhàn)斗力的專(zhuān)家!也只有這樣,才能開(kāi)發(fā)出具有高質(zhì)量品質(zhì)的開(kāi)源產(chǎn)品。Tiny架構(gòu)的設(shè)計(jì)師最初就致力于做一個(gè)各方面比較均衡的開(kāi)發(fā)平臺(tái),于是就從各種小的專(zhuān)題性驗(yàn)證開(kāi)始“扎根”,比如:流程化編程、模塊化設(shè)計(jì)、數(shù)據(jù)庫(kù)分區(qū)分表等等一一進(jìn)行驗(yàn)證,當(dāng)驗(yàn)證的范圍越來(lái)越大,涵蓋的領(lǐng)域越來(lái)越多的時(shí)候,才真正開(kāi)始決定做一個(gè)開(kāi)源框架。這實(shí)際上也是一個(gè)“竹葉成蔭”的開(kāi)拓過(guò)程。

竹子的虛心精神

竹在荒山野嶺中默默生長(zhǎng),無(wú)論是峰峰嶺嶺,還是溝溝整整,它都能以堅(jiān)韌不拔的毅力在逆境中頑強(qiáng)生存。盡管長(zhǎng)年累月守著無(wú)邊的寂寞與凄涼,一年四季經(jīng)受著風(fēng)霜雪雨的抽打與折磨,但她始終“咬定青山”、專(zhuān)心致志、無(wú)怨無(wú)悔。這種虛懷若谷的精神,讓人敬佩。

大家注意到?jīng)]有,所有的竹子都是中空的,都是能容得下其他人的,都是能像其他團(tuán)隊(duì)成員虛心學(xué)習(xí)的。以Tiny框架為例,在Tiny框架早期,整個(gè)團(tuán)隊(duì)還是默默無(wú)聞的,因?yàn)門(mén)iny團(tuán)隊(duì)不想在框架還是一個(gè)半成品的時(shí)候就拿出來(lái),直到Tiny已經(jīng)開(kāi)發(fā)完畢并且在自己的項(xiàng)目中進(jìn)行了充分驗(yàn)證的時(shí)候才真正的在社區(qū)或相關(guān)網(wǎng)站進(jìn)行露面。開(kāi)發(fā)者們互幫互助,虛心求教,一個(gè)問(wèn)題提交到社區(qū)的“有問(wèn)必答”欄目,往往就會(huì)有許多同伴互相幫助,問(wèn)題也能在最短的時(shí)間內(nèi)得到解決。由于Tiny框架是立足于在需要穩(wěn)定、安全要求非常高的應(yīng)用環(huán)境中使用的,因此其穩(wěn)定性就是框架構(gòu)建者首要思考目標(biāo),核心部分只使用經(jīng)過(guò)充驗(yàn)證及廣泛應(yīng)用的第三方包。

細(xì)細(xì)品竹,便會(huì)覺(jué)得竹子是學(xué)習(xí)的楷模。竹子挺拔俊逸,做人應(yīng)該具有這種翩翩君子的開(kāi)源風(fēng)度;竹子中空外直,做人應(yīng)該修煉這種虛心自持的開(kāi)源品格;竹子彎而不折,做人應(yīng)該學(xué)習(xí)這種柔中有剛的開(kāi)源智慧。開(kāi)源是一個(gè)艱辛的選擇,需要長(zhǎng)久的堅(jiān)守,需要一份不急不燥的態(tài)度。團(tuán)隊(duì)合作、團(tuán)隊(duì)協(xié)作也是如此,達(dá)成配合與默契更需要不斷的溝通、磨合與深厚的信任。只有這樣,我們才能見(jiàn)證優(yōu)秀的產(chǎn)品是如何一步步走向成熟,才能在開(kāi)源的氛圍中快速成長(zhǎng)!