開(kāi)源軟件是指某個(gè)由社區(qū)驅(qū)動(dòng)的開(kāi)放源代碼的產(chǎn)品,而開(kāi)源文化是指開(kāi)源社區(qū)所衍生出的團(tuán)隊(duì)溝通、協(xié)作和管理的理念。在開(kāi)源社區(qū)中,程序代碼直接決定著項(xiàng)目的成敗,但人更是核心,沒(méi)有人便沒(méi)有代碼。這一點(diǎn)和企業(yè)是相同的。越來(lái)越多的企業(yè)意識(shí)到,開(kāi)源所提倡的協(xié)作和管理方式同樣適用于企業(yè)管理,開(kāi)源文化能夠提高員工的積極性,從而提高生產(chǎn)效率。那到底什么是開(kāi)源文化,企業(yè)應(yīng)該建立怎么樣的開(kāi)源文化?為了回答這些問(wèn)題,InfoQ編輯采訪了一直深耕于開(kāi)源社區(qū)的RedHat工程師姜寧。另外,姜寧還將在ArchSummit全球架構(gòu)師峰會(huì)上分享題為《如何在企業(yè)開(kāi)發(fā)中引入開(kāi)源項(xiàng)目成功模式》的演講,敬請(qǐng)關(guān)注。
InfoQ:你認(rèn)為公司是否應(yīng)該有開(kāi)源文化?
姜寧:開(kāi)源文化對(duì)公司的影響非常大,開(kāi)源提倡的是開(kāi)放和協(xié)作。如果一個(gè)公司不具備這樣的開(kāi)源文化,那就很難真正把開(kāi)源項(xiàng)目做好,也很難真正靠開(kāi)源來(lái)推動(dòng)實(shí)現(xiàn)公司的商業(yè)目標(biāo)。以我的個(gè)人經(jīng)歷來(lái)說(shuō),我先在國(guó)企待了三年,然后一直都在外企上班,在外企期間先后被換了三家公司(主要是公司被并購(gòu)),但我做的主要工作一直都是維護(hù)Apache上面的中間件項(xiàng)目。在我待過(guò)的這三家外企公司中,紅帽軟件是一家有著開(kāi)源基因的公司(本身是靠做Linux發(fā)行版起家的公司),也是一家真正把開(kāi)源作為企業(yè)文化并在管理組織架構(gòu)中應(yīng)用開(kāi)源文化來(lái)提升效率的公司。 紅帽軟件的企業(yè)目標(biāo)和口號(hào)是『成為用戶、貢獻(xiàn)者以及合作伙伴社區(qū)的催化劑,讓大家能夠以開(kāi)源的方式創(chuàng)造出更好的科技』。
InfoQ:開(kāi)源文化對(duì)公司有怎么樣的幫助?
姜寧:開(kāi)源打破了信息壁壘,讓創(chuàng)新的火花四濺。在開(kāi)源社區(qū)中大家通過(guò)分享收獲成長(zhǎng),開(kāi)源文化是參與開(kāi)源項(xiàng)目的人們認(rèn)同的東西,如果公司認(rèn)同了開(kāi)源文化并鼓勵(lì)開(kāi)源,相當(dāng)于是公司與員工在價(jià)值觀上是相互認(rèn)同的。我們現(xiàn)在處在一個(gè)信息爆炸的時(shí)代,公司為了能夠跟上時(shí)代的步伐必須通過(guò)創(chuàng)新來(lái)保證其核心競(jìng)爭(zhēng)力,而開(kāi)源文化能夠最大限度的鼓勵(lì)創(chuàng)新,我想這也是現(xiàn)在越來(lái)也多的公司開(kāi)始擁抱開(kāi)源的最主要的原因。
InfoQ:要建立開(kāi)源文化,是不是公司相應(yīng)的組織架構(gòu)、管理模式都應(yīng)該做相應(yīng)的調(diào)整?
姜寧:傳統(tǒng)的公司組織架構(gòu)是一個(gè)自頂向下的,這樣的組織架構(gòu)是為管理者服務(wù)的,對(duì)于底層的員工來(lái)說(shuō)大家只需要按照領(lǐng)導(dǎo)的意志或者安排做事情就可以了。這種組織是由以前常規(guī)的制造企業(yè)創(chuàng)建,組織架構(gòu)只需要員工按照標(biāo)準(zhǔn)重復(fù)生產(chǎn)就可以,所有的決策都是由高層最終決定的。這樣的組織架構(gòu)一旦上層做出決定,那就很難被改變,它既不適合快速的市場(chǎng)變化,也很難激發(fā)員工的創(chuàng)新熱情。 反觀大多數(shù)開(kāi)源項(xiàng)目,由于做的東西都是新的,沒(méi)有人在最開(kāi)始就知道項(xiàng)目最終要做成什么樣的,大部分的成功的開(kāi)源項(xiàng)目都是先通過(guò)一個(gè)好點(diǎn)子構(gòu)建一個(gè)原型,在社區(qū)的需求下不斷激發(fā)出新的點(diǎn)子,不斷修復(fù)原有的問(wèn)題,不斷演進(jìn),最終成長(zhǎng)起來(lái)。 在開(kāi)源社區(qū)中,由于大家都沒(méi)有公司的層級(jí)概念,靠升職加薪來(lái)激勵(lì)員工的管理方式很難奏效。開(kāi)源項(xiàng)目的成功靠的是大家發(fā)自內(nèi)心對(duì)開(kāi)源項(xiàng)目的認(rèn)同,靠的是技術(shù)領(lǐng)導(dǎo)以及開(kāi)發(fā)人員、社區(qū)貢獻(xiàn)者的熱情與努力。開(kāi)源的項(xiàng)目中沒(méi)有項(xiàng)目經(jīng)理,只有技術(shù)領(lǐng)導(dǎo),而技術(shù)領(lǐng)導(dǎo)的話語(yǔ)權(quán)是通過(guò)其長(zhǎng)期在社區(qū)中的貢獻(xiàn)而建立起來(lái)的。由此可見(jiàn)開(kāi)源的文化和我們傳統(tǒng)的管理組織架構(gòu)有太多的不同,紅帽軟件的CEO Jim WhiteHust最近寫了一本叫做 《The Open Organisation》的書,在書中他詳細(xì)闡述了紅帽軟件是如何將開(kāi)源文化應(yīng)用到公司架構(gòu)中去的。
InfoQ:紅帽是一家開(kāi)源文化極濃的公司,能談?wù)劶t帽是如何管理員工績(jī)效的嗎?
姜寧:的確,紅帽雇傭了大量專職參與上游(紅帽提供的企業(yè)版軟件基本都是是基于開(kāi)源社區(qū)的項(xiàng)目經(jīng)過(guò)打包測(cè)試之后制作的發(fā)行版,我們把那些社區(qū)項(xiàng)目成為上游)開(kāi)發(fā)的工程師,有意思的是這些工程師大部分都是在家上班的。這些工程師如果按照傳統(tǒng)企業(yè)績(jī)效考核基本上都不合格,因?yàn)槭紫冉?jīng)理看不到你是否工作,也不知道你什么時(shí)候上班什么時(shí)候下班,更重要的是經(jīng)理不會(huì)給你安排工作內(nèi)容。紅帽軟件對(duì)于這些工程師的績(jī)效考核核心內(nèi)容是工程師在社區(qū)的活躍程度,以及工程師的影響力,而不是他具體完成了多少工作。紅帽有一個(gè)叫做Compass的績(jī)效考核網(wǎng)站,經(jīng)理和員工會(huì)定期討論工作重點(diǎn),制定發(fā)展計(jì)劃。有意思的是我在和經(jīng)理進(jìn)行績(jī)效考評(píng)的過(guò)程中,經(jīng)理問(wèn)得最多的不是你完成哪些事情,而是你對(duì)自己的未來(lái)有什么規(guī)劃,你打算學(xué)點(diǎn)什么,你的成長(zhǎng)目標(biāo)是什么。這些討論的最終結(jié)果是將你的發(fā)展規(guī)劃和公司工作目標(biāo)結(jié)合起來(lái),在保證公司目標(biāo)實(shí)現(xiàn)的前提下,你可以任意選擇你感興趣的工作內(nèi)容。在《只是為了好玩》這本書中提到了一個(gè)問(wèn)題,為什么人們?cè)敢馍踔量释诨ヂ?lián)網(wǎng)上為L(zhǎng)inux這樣的項(xiàng)目工作?問(wèn)題的答案是Linux能使人們通過(guò)挑戰(zhàn)智力而獲得樂(lè)趣,又能通過(guò)產(chǎn)業(yè)開(kāi)發(fā)工作獲得一種被社會(huì)需要的滿足感。我覺(jué)得問(wèn)題的答案可以比較好的解釋為什么紅帽的績(jī)效考核會(huì)是這樣的。
InfoQ:公司應(yīng)該如何培養(yǎng)員工的開(kāi)源文化、開(kāi)源意識(shí)?
姜寧: 我覺(jué)得首先公司管理層需要了解開(kāi)源,認(rèn)同開(kāi)源文化。開(kāi)源的核心是開(kāi)放與協(xié)作。公司應(yīng)該鼓勵(lì)大家分享,當(dāng)然是在不泄露公司商業(yè)機(jī)密的前提下。另外大部分的開(kāi)源項(xiàng)目的協(xié)作是跨越公司邊界的,公司應(yīng)該鼓勵(lì)大家進(jìn)行跨部門的溝通與協(xié)作。 當(dāng)然在參與開(kāi)源過(guò)程中,有時(shí)候可能會(huì)出現(xiàn)公司和員工有分歧的情況,比如某個(gè)社區(qū)功能可能會(huì)很好玩,但是這項(xiàng)目或者這功能和公司目標(biāo)并不一致,它很難直接為公司產(chǎn)生效益。如果公司的高層和員工在認(rèn)識(shí)和處理這些差異的過(guò)程中發(fā)生了很大的分歧的話,就會(huì)給員工參與開(kāi)源社區(qū)的開(kāi)發(fā)帶來(lái)很大的困擾。在這里我的建議是讓管理層盡量少的干涉員工的具體工作,把大部分管理精力放在如何讓員工認(rèn)同公司的發(fā)展策略上,這樣才能最大限度地將員工的發(fā)展目標(biāo)與公司的發(fā)展目標(biāo)統(tǒng)一起來(lái),讓員工能把所有的熱情都投入到日常開(kāi)發(fā)工作中去。
InfoQ:相比于開(kāi)源軟件的開(kāi)發(fā)和管理模式,你認(rèn)為企業(yè)在軟件研發(fā)過(guò)程中,有哪些值得改進(jìn)的地方?
姜寧:傳統(tǒng)的企業(yè)研發(fā)過(guò)程基本上就是先做需求,再做概念驗(yàn)證,最后實(shí)施。在傳統(tǒng)的組織架構(gòu)下,項(xiàng)目的參與者可能很難有機(jī)會(huì)影響到項(xiàng)目的決策,如果相關(guān)項(xiàng)目是一個(gè)比較新的項(xiàng)目(缺乏借鑒),往往比較容易失敗。在開(kāi)源項(xiàng)目中雖然也有失敗的例子,但是這種一開(kāi)始就方向性失敗的例子很少見(jiàn),這是因?yàn)殚_(kāi)源項(xiàng)目的反饋非常及時(shí)。通過(guò)社區(qū)的使用,一旦發(fā)現(xiàn)設(shè)計(jì)缺陷,就會(huì)立即修正,周期不會(huì)很長(zhǎng)。
如果說(shuō)如何改進(jìn)的話,我覺(jué)得主要是管理層需要從如何提高員工工作熱情入手,創(chuàng)造條件鼓勵(lì)員工之間協(xié)作,讓創(chuàng)新的火花四濺。這樣的改進(jìn)不是一朝一夕就能完成的,我曾經(jīng)幫助過(guò)一家傳統(tǒng)的軟件開(kāi)發(fā)企業(yè)改進(jìn)研發(fā)流程,很多時(shí)候我認(rèn)為是習(xí)以為常的東西,但如果沒(méi)有開(kāi)源項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)的話,大家接受和實(shí)施過(guò)程中都感覺(jué)困難重重。這里先做一個(gè)小小的預(yù)告,我會(huì)在這次的ArchSummit全球架構(gòu)師峰會(huì)上,結(jié)合的我的經(jīng)歷為大家介紹如何將開(kāi)源軟件的管理方式應(yīng)用到企業(yè)軟件開(kāi)發(fā)中去。
聯(lián)系客服