您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源軟件測(cè)試新聞 >
谷歌開(kāi)源程序經(jīng)理談谷歌開(kāi)源平衡策略
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/26 15:37:09 ] 推薦標(biāo)簽:

  谷歌開(kāi)源程序經(jīng)理Chris DiBona的主要工作是協(xié)調(diào)和平衡作用。

  眾所周知,谷歌自己的高利潤(rùn)業(yè)務(wù)采用了大量的非自己開(kāi)發(fā)的開(kāi)源軟件。但是正如它監(jiān)督搜索技術(shù)公司的開(kāi)源工作一樣Chris DiBona也要給對(duì)方一些好處作為交換條件。只索取而不給與是違背常理的。

  業(yè)界支持自由和開(kāi)源軟件的聲音是強(qiáng)大的,但是也有一些批評(píng)的言論。舉例來(lái)說(shuō),有些人批評(píng)谷歌缺少對(duì)于Affero GPL許可的支持,這使得一些開(kāi)發(fā)人員只能使用公共的網(wǎng)絡(luò)服務(wù)分享他們對(duì)AGPL軟件項(xiàng)目的修改。

  盡管如此,DiBona認(rèn)為谷歌對(duì)待開(kāi)源技術(shù)的策略是正確的并且公平的。谷歌一直在倡導(dǎo)“沒(méi)有貢獻(xiàn)沒(méi)有索取”這個(gè)哲學(xué)道理,把自己的對(duì)開(kāi)源項(xiàng)目的修改反饋回去并試圖以培育下一代的開(kāi)源技術(shù)程序員。

  DiBona一直致力于開(kāi)源軟件達(dá)十年之久了。在為谷歌工作之前,DiBona在Slashdot工作,同時(shí)他還是一個(gè)有影響力的開(kāi)源技術(shù)分析家。Slashdot是Linux服務(wù)器制造商VA Linux Systems的一部分。VA Linux Systems在1999年進(jìn)行了一個(gè)引人注目的首次公開(kāi)招股活動(dòng),但不大幅削減。

  DiBona將會(huì)在周三舉行Google I/O大會(huì)上宣揚(yáng)開(kāi)源技術(shù)的福音,但在那之前,記者預(yù)先對(duì)DiBona進(jìn)行了一次采訪,聽(tīng)聽(tīng)他對(duì)谷歌開(kāi)源軟件的看法。

  問(wèn):谷歌內(nèi)部對(duì)開(kāi)源技術(shù)的看法是什么呢?

  答:我曾經(jīng)問(wèn)過(guò)我自己:“我努力工作是為誰(shuí)呢?”開(kāi)源商業(yè)世界?不是。開(kāi)源技術(shù)愛(ài)好者社區(qū)?不是。我確實(shí)非常前往同開(kāi)源開(kāi)發(fā)人員一起工作。我們給我們的集團(tuán)提出了這樣一些目標(biāo):支持開(kāi)源開(kāi)發(fā),這也是意味著支持開(kāi)源基礎(chǔ)設(shè)施;支持谷歌和業(yè)界開(kāi)源代碼的發(fā)布;培養(yǎng)更多的開(kāi)源開(kāi)發(fā)人員,因?yàn)樘貏e是當(dāng)我開(kāi)始在谷歌工作的時(shí)候,有一種看法認(rèn)為谷歌從開(kāi)源世界里挖走了很多人才,但之后卻不從事開(kāi)源技術(shù)工作。這種看法只是部分正確的,因?yàn)楹芏嚅_(kāi)源技術(shù)人員來(lái)到谷歌說(shuō):“我一直工作在為開(kāi)源項(xiàng)目工作,現(xiàn)在我想要接受一個(gè)全新的挑戰(zhàn)。而我們恰恰有很多適合他們的新的挑戰(zhàn)。所以他們離開(kāi)了開(kāi)源領(lǐng)域。”

  這種情況太糟糕了。作為一個(gè)公司,我們希望有更多的開(kāi)源軟件發(fā)布,因?yàn)槲覀冋J(rèn)為它非常重要。我們的產(chǎn)品中使用了很多開(kāi)源技術(shù)和軟件。我們的每一個(gè)工程師都會(huì)在工作中使用開(kāi)源技術(shù)。我們總是可以找到新的開(kāi)源開(kāi)發(fā)包和類庫(kù)并把它們交給我們的開(kāi)發(fā)人員使用。這是我和我的小組的主要工作。當(dāng)我們從開(kāi)源社區(qū)引入人才時(shí),我們希望能確保更多的開(kāi)源開(kāi)發(fā)人員被培養(yǎng)并成長(zhǎng)起來(lái)。這也正是我們?cè)贕oogle Summer of Code上極力提倡的觀點(diǎn),同時(shí),我們還有一個(gè)專門的培訓(xùn)學(xué)校培養(yǎng)開(kāi)源技術(shù)人才。我認(rèn)為我們已經(jīng)在培養(yǎng)開(kāi)源技術(shù)人才方面給業(yè)界帶來(lái)了實(shí)際的影響。


  對(duì)于既要對(duì)外界的開(kāi)源項(xiàng)目作出貢獻(xiàn),又要維護(hù)自己內(nèi)部的開(kāi)發(fā)工作,你是怎么在這之間保持平衡的。

  問(wèn):你是怎樣通過(guò)外界的評(píng)價(jià)的?

  答:谷歌把一些項(xiàng)目看得要比其它項(xiàng)目更重要。很明顯,Linux內(nèi)核對(duì)于谷歌的重要性可以說(shuō)是依賴性的。每一次你使用Google,你使用的電腦上運(yùn)行著Linux內(nèi)核。我們有一個(gè)相當(dāng)大的內(nèi)核開(kāi)發(fā)團(tuán)隊(duì),并且我們還聘請(qǐng)專門從事內(nèi)核開(kāi)發(fā)的工作人員。Andrew Morton是一個(gè)很好的例子。我們會(huì)盡力保證這些技術(shù)人員隨時(shí)都能修補(bǔ)程序(也是對(duì)主要的開(kāi)源項(xiàng)目提交其修改)。這通常更多地取決于工程師的時(shí)間。我一直希望我們能對(duì)外界的開(kāi)源項(xiàng)目能作出更多的貢獻(xiàn),但對(duì)工程師來(lái)說(shuō)這是需要時(shí)間的。

  我們的編譯器(一個(gè)能將程序員代碼轉(zhuǎn)換為計(jì)算機(jī)能理解的指令的軟件)也面臨著同樣的情況。我們的編譯器團(tuán)隊(duì)的“偉大之處”在于他們把修補(bǔ)程序作為自己的本職工作。他們一直在把我們內(nèi)部的研發(fā)成果用來(lái)修補(bǔ)外部開(kāi)源領(lǐng)域的項(xiàng)目。我們GCC團(tuán)隊(duì)近推出的新連接器,Gold ---它的主要設(shè)計(jì)師是Ian Lance Taylor。Taylor之前曾在Vygnus工作過(guò)(開(kāi)發(fā)GCC的公司)。他一直對(duì)海合會(huì)隊(duì)永遠(yuǎn)。我們的很多員工都曾經(jīng)在GCC工作過(guò)。

  很多谷歌的員工只想對(duì)現(xiàn)有的項(xiàng)目進(jìn)行修補(bǔ)。他們發(fā)現(xiàn)一個(gè)錯(cuò)誤,然后他們想要添加新功能。這不會(huì)占用太多的時(shí)間。而我的團(tuán)隊(duì)的職責(zé)是首先檢查一下某個(gè)工程師想要對(duì)外發(fā)布的前幾個(gè)補(bǔ)丁,確保這個(gè)工程師知道他對(duì)外界開(kāi)源項(xiàng)目做了什么,然后他基本能夠做自己想做的事情了。這個(gè)工程師還會(huì)讓我們對(duì)于他發(fā)布的布丁進(jìn)行宣傳。我們要確保我們的代碼盡可能快地傳遞給外界的開(kāi)源項(xiàng)目,因?yàn)轫?xiàng)目是不斷迭代不斷發(fā)展的。如果我們沒(méi)有對(duì)外發(fā)布我們的補(bǔ)丁,那么它們是不會(huì)得到業(yè)界接受的,不久這些補(bǔ)丁會(huì)因?yàn)闀r(shí)間太久而失去了效力。另一方面,開(kāi)源項(xiàng)目收到的補(bǔ)丁越快對(duì)我們也越有利,因?yàn)殡S著項(xiàng)目的不斷發(fā)展,它會(huì)打上這些補(bǔ)丁然后對(duì)產(chǎn)品進(jìn)行更新,而我們使用這些新的產(chǎn)品時(shí)不用再打補(bǔ)丁了。

  問(wèn):你們“吸收”的重要的開(kāi)源項(xiàng)目是什么?

  答:內(nèi)核、編譯器---GCC,Python解釋程序是我們吸收的重要的開(kāi)源項(xiàng)目。Python我們來(lái)說(shuō)非常重要。谷歌應(yīng)用引擎(Google App Engine)基本上是一個(gè)Python托管系統(tǒng)。Java對(duì)我們來(lái)說(shuō)也是非常重要的,它現(xiàn)在已經(jīng)變成開(kāi)源的了。我們現(xiàn)在已經(jīng)有一些精通Java的工程師 ---Josh Block, Neil Gafter,他們對(duì)Java非常熟悉。

  一旦你獲得這三個(gè)項(xiàng)目---編譯器、語(yǔ)言、內(nèi)核---之后你可以去尋找開(kāi)發(fā)庫(kù)。對(duì)我們來(lái)說(shuō)是OpenSSL、zlib、PCRE。MySQL對(duì)我們來(lái)說(shuō)非常重要。

  問(wèn):Java的開(kāi)源已經(jīng)對(duì)你們的業(yè)務(wù)產(chǎn)生了巨大影響嗎?

  答:事實(shí)不是這樣的。我認(rèn)為Java的開(kāi)源對(duì)外部世界的影響要比對(duì)我們的影響更大。Java現(xiàn)在已經(jīng)是相當(dāng)成熟的語(yǔ)言了。我們相當(dāng)長(zhǎng)的時(shí)間以來(lái)一直在使用它。之前,先開(kāi)放的是控制Java未來(lái)的JCP(Java Community Process),但實(shí)際情況卻是JCP并沒(méi)有真正開(kāi)放。因而,Java開(kāi)源能到什么程度,尤其是J2ME(移動(dòng)Java)和TCK(技術(shù)兼容套件),業(yè)界有很多疑問(wèn)。

  問(wèn):你是否正在使用一個(gè)超級(jí)定制的Linux內(nèi)核?

  答:我不認(rèn)為有這種超級(jí)定制的Linux內(nèi)核。內(nèi)核的靈活性是令人難以置信的。它具備所有的這些不同的架構(gòu)。我認(rèn)為L(zhǎng)inux內(nèi)核本身是一個(gè)超級(jí)定制的東西。

  問(wèn):但是你們有很多內(nèi)部定制嗎?

  答:內(nèi)部定制是有的,但不是很多。谷歌向業(yè)界暴露了一些有趣的硬件。因此,我們將會(huì)在內(nèi)部對(duì)硬件抽取代碼樣本。所以,那些都是高度訂戶制的東西。但終會(huì)發(fā)布給外面的世界。我們資助了一家總部設(shè)在伯克利的機(jī)構(gòu)Xorp共同進(jìn)行研究,目的是把高速Broadcom網(wǎng)絡(luò)芯片功能移植到linux系統(tǒng)中。我們的興趣不在于自己?jiǎn)为?dú)控制這個(gè)項(xiàng)目。因此,它是定制花的嗎?是。但它大量定制嗎?我不認(rèn)為這它大量定制的。

問(wèn):外界說(shuō)你們?nèi)匀辉谑褂?.4內(nèi)核,這是真的嗎?

  答:在一些地方這是肯定的。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd