項(xiàng)目經(jīng)理Chris DiBona在Google紐約系列演講活動(dòng)中發(fā)表了一場(chǎng)演講,,題目為“Google開源的一年(A Year of Open Source at Google)”。在他演講之前,,這個(gè)Google開源掌門接受了媒體的采訪,談?wù)搶?duì)開源的一系列問題的看法,,諸如微軟最近發(fā)表開源侵犯專利權(quán)的事件、Google的開源開發(fā)貢獻(xiàn),,以及GPLv3對(duì)Google的影響等等,,以下是訪談內(nèi)容,。
Google開源項(xiàng)目經(jīng)理:Chris DiBona
Google是如何使用開源軟件的? 記者:你在Google紐約系列演講活動(dòng)中將演講什么內(nèi)容,? Dibona:我將對(duì)我的觀點(diǎn)進(jìn)行進(jìn)一步的闡述,,內(nèi)容包括關(guān)于Google是如何使用開源技術(shù)、我們內(nèi)部如何關(guān)注開源,,還有我們所展現(xiàn)給外界的一些反饋開源社區(qū)的活動(dòng),,諸如Google Summer of Code開源項(xiàng)目夏令營(yíng),我們以后將公開許多源代碼到開源社區(qū)中,。我將圍繞這些問題進(jìn)行討論,。 記者:你能談一下在Google公司用于軟件開發(fā)的開源組件嗎? Google Code項(xiàng)目進(jìn)行如何,? 記者:請(qǐng)問你參與了Google Code項(xiàng)目嗎? Dibona:是的,,這是我們部門管理的網(wǎng)站之一,。 記者:Google Code項(xiàng)目進(jìn)行如何?有什么方法來評(píng)測(cè)進(jìn)展情況嗎,? Dibona: Google Code有兩個(gè)方面對(duì)我們是非常重要的。其中一個(gè)是我們?cè)谄渖戏胖昧撕芏嗯cGoogle無(wú)關(guān)的開源項(xiàng)目,。這樣我們成為繼SourceForge后的第二大開源項(xiàng)目網(wǎng)站。這真的非常有意義,。 另一件事情是,,我們?cè)谄渖戏胖昧撕芏辔覀兊膽?yīng)用程序編程接口API的文檔。這使得Google以外的開發(fā)者和程序員可以從技術(shù)上更深入了解Google,,以及更加清楚他們的程序如何從技術(shù)上與Google實(shí)現(xiàn)交互,這一方面已經(jīng)做得非常成功,,對(duì)于它的進(jìn)展我們感到非常滿意,。 Google Summer of Code項(xiàng)目 記者:在你看來, Google Summer of Code項(xiàng)目所帶來的影響是什么,? Dibona:SoC所帶來的影響中有兩個(gè)是最重要的,第一個(gè)是我們?yōu)?000名開發(fā)者約定了時(shí)間和地點(diǎn)來進(jìn)行一次聚會(huì)交流,。今年將有1000名開發(fā)者參加,,去年是600名,而前年是400名,。因此,,總體來說,,我們介紹了2000名開發(fā)者到開源軟件開發(fā)者中來。 另一方面,,通過這些開源項(xiàng)目,,以及通過這種方式將更多的機(jī)會(huì)帶到學(xué)生群體當(dāng)中,這些開源項(xiàng)目現(xiàn)在已經(jīng)非常容易接受新開發(fā)者的加入。因此如果你對(duì)比一下今天和三年前的這些項(xiàng)目的話,,你會(huì)發(fā)現(xiàn)它們現(xiàn)在對(duì)沒有經(jīng)驗(yàn)的新手具有更大的吸引力和接納力。我認(rèn)為這對(duì)開源軟件來說是一件非常強(qiáng)大和有益處的事情,。因此從這兩方面來說,,這個(gè)項(xiàng)目是非常成功的。 記者:這也是我希望看到的事情,,幫助把更多對(duì)計(jì)算機(jī)科學(xué)感興趣的人帶入到開源軟件的世界中來。 Dibona:對(duì),,如果你認(rèn)真想一下,,在開源世界中有很多偉大的軟件,但是讓一個(gè)年輕人從一個(gè)開源用戶轉(zhuǎn)變成一個(gè)開源開發(fā)者并不是一件輕松的事情,。因?yàn)樗麄兊拇a突然被外界的每一個(gè)人看到,,他們不得不與自己的職業(yè)技能可能相差很遠(yuǎn)人來進(jìn)行交流,。我認(rèn)為,Google Summer of Code是一個(gè)非常有用的方式,。 Google給開源社區(qū)反饋了什么,? 記者:對(duì)于Google反饋了多少開源軟件給社區(qū),你有什么數(shù)據(jù)嗎,? Dibona:我們已經(jīng)將我們的一百萬(wàn)行代碼回報(bào)給開源社區(qū)。這是評(píng)測(cè)我們對(duì)開源社區(qū)共享的一個(gè)方法,。這是一個(gè)非常不錯(cuò)的數(shù)字,,它是令人印象深刻的,不是嗎,?但是我認(rèn)為還有更重要的,假若你看一下每一個(gè)主流的開源軟件項(xiàng)目,,還有很多相對(duì)較小的開源項(xiàng)目,,你會(huì)發(fā)現(xiàn)Google或者對(duì)其進(jìn)行了修補(bǔ),,或者發(fā)布新的功能,或者發(fā)布了其代碼,,或者參與了這些項(xiàng)目,。 一個(gè)很好的例子是我們最近剛剛發(fā)布的一些讓人們更好的使用MySQL的工具,。因此這些都是非常有意義的事情。我們已經(jīng)發(fā)布了各種各樣的工具,,從一些難以讓人注意的微小修改到讓人難以相信的大的事情,,例如Google Web工具集就是完全開源的,。因此我們認(rèn)為,,作為一個(gè)公司與外界分享我們的創(chuàng)新成果,這是一個(gè)非常好的道路,。 記者:有什么Google技術(shù)正在變?yōu)殚_源嗎,? Dibona:你知道,,我們從來不討論我們還沒有發(fā)布的事情。順便說一下,,我們不這么做的理由是我們喜歡確信當(dāng)我們發(fā)布某個(gè)消息或項(xiàng)目的時(shí)候,,它已經(jīng)完成了發(fā)布的準(zhǔn)備工作。不過可以告訴你,,我們將努力在5月31日的Google開發(fā)者日推出一些有趣的東西。 GPLv3對(duì)Google有什么影響嗎,? 記者:GPLv3對(duì)Google有什么影響嗎? Dibona:如果你是在9個(gè)月前問我這個(gè)問題,,我會(huì)說它意味著我們將不能夠采用一些GPL 3程序,,這是因?yàn)樵谧畛醢嬷械囊恍〢SP規(guī)定限制。不過,,那時(shí)候我說過,也是我現(xiàn)在想說的,,那不是世界末日,。我們不用必須使用外界的每一個(gè)開源軟件。 但是最近的GPLv3已經(jīng)去掉了那些規(guī)定,,因此我們可以很輕松地說,我們歡迎采用GPLv3,。 然而在以前,,假若人們選擇在開源軟件中加入那種限制,我們只有在產(chǎn)品中不使用它而且不能使它公開給終端用戶,。 因此,,無(wú)論它們基于什么規(guī)定,,對(duì)我們來說都無(wú)所謂,因?yàn)槲覀兎浅I朴诠芾磉M(jìn)入到公司中的代碼,。因此這實(shí)際上從來不是一個(gè)真正的問題,。 最新版的GPLv3實(shí)際上是非常不錯(cuò)的,。 微軟的“專利侵權(quán)”論和Java開源 記者:對(duì)于微軟最近聲稱的開源軟件侵犯了其大量專利的說法,你有什么看法,? Dibona:是的,,我們也看到了這件事情,。和大多數(shù)人一樣,我們更希望看到微軟能真正列舉出哪些專利權(quán)被侵犯,。這個(gè)事情還要進(jìn)一步觀察,。拋出這樣的說法是一件很容易的事情,,而是否有進(jìn)一步的具體行動(dòng)是另一回事。 記者:Sun的開源Java舉動(dòng)會(huì)對(duì)Google產(chǎn)生一定影響嗎,?比如Google會(huì)考慮將Java看作一個(gè)開發(fā)平臺(tái),? Dibona:這不會(huì)改變我們對(duì)Sun和Java的看法,,但是這可能會(huì)增加我們對(duì)一些Java工具的使用。在Sun作為GPL發(fā)布Java以前,,我們就已經(jīng)與它們簽訂了源代碼合作協(xié)議,。按照這個(gè)協(xié)議,我們能夠給它們提供補(bǔ)丁,、漏洞和所有其他事情,,因?yàn)槲覀儞碛泻芨呒?jí)的Java開發(fā)技術(shù)。我們擁有像 Joshua Bloch這樣的著名Java開發(fā)者,,他對(duì)Java社區(qū)中占有舉足輕重的地位,。 因此,,我們一直可以獲得補(bǔ)丁和一些開發(fā)的功能,這對(duì)于我們是非常不錯(cuò)的,。不過對(duì)于Java的開源,,在很多方面對(duì)我們是很有利的,因?yàn)槲覀兛梢酝ㄟ^以前不可能的方式來訪問某些特定的代碼部分,。我們可以修正它們,,并且可以很簡(jiǎn)單地提交這些修正補(bǔ)丁。我們可以說,,這是一個(gè)開源項(xiàng)目,,因此我們可以發(fā)布這些內(nèi)容,。對(duì)我們來說這是一種難以讓人相信的解脫,。因此我們很高興看到Java走向GPL,。 Google如何管理開源代碼,? 記者:你是否對(duì)你們的代碼進(jìn)行過類似Black Duck或Palamida的軟件兼容測(cè)試? Dibona:沒有,,原因是我們對(duì)進(jìn)入公司的代碼實(shí)行了非常嚴(yán)密的控制,。而且我們非常非常善于培訓(xùn)我們的工程師,。這么和你說吧,我可以查看公司內(nèi)的任何代碼,,而且我能告訴你在其中使用了什么開源軟件,,這是因?yàn)槲覀児芾泶a的方式非常完善,。 因此這類工具在收購(gòu)過程中非常有趣,而我們通常不談?wù)撽P(guān)于收購(gòu)中的具體細(xì)節(jié),,它們不會(huì)引起我們內(nèi)部的興趣,。我也認(rèn)為這些代碼工具會(huì)比較有用。現(xiàn)在我還不能確信它們對(duì)我們會(huì)多么有用,。但是,它們是非常好的項(xiàng)目,。 記者:既然你說你們有一些專有代碼運(yùn)行在由開源組件構(gòu)成的組合之上,,我比較好奇你們?nèi)绾畏智迥男┦情_源哪些是專有代碼,? Dibona:值得指出的是,這就像你在Linux上運(yùn)行一個(gè)應(yīng)用程序一樣,。按照同樣的方式,我們挑選用來運(yùn)行我們的Web服務(wù)器和我們的Web應(yīng)用程序,。而且我們將Linux做一個(gè)內(nèi)核和一個(gè)底層的操作系統(tǒng),。 當(dāng)我們使用一個(gè)開源庫(kù)的時(shí)候,我們將代碼納入公司的方式是嚴(yán)格控制的,。Google公司有很多紀(jì)律來規(guī)范代碼的進(jìn)入。 明確的說,,當(dāng)創(chuàng)建了一些代碼并將其提交,,在其進(jìn)入代碼庫(kù)前,,另一個(gè)Google人員會(huì)對(duì)你的代碼進(jìn)行代碼審查,假若一個(gè)人突然出來提交了25000行代碼,,那么這可能是值得懷疑的,。我們有很多方法來有效地處理這種事情。我們告訴人們你需要將代碼歸入一個(gè)目錄,,你需要明確的標(biāo)記代碼,以便我們更能跟蹤分析它們,。因此我們?cè)诠芾泶a進(jìn)入方面是非常容易做到的,。 Dibona:我講演的內(nèi)容之一就是關(guān)于我們所修正的一些開源項(xiàng)目,,我們公司內(nèi)部正在使用它們。這些包括諸如Linux內(nèi)核,、GNU編譯器集、Python,、Wine,、Derby,、Aspell、DSpace,、Autoconf,、MySQL等類似的東西。 記者:請(qǐng)談一下在Google用于生產(chǎn)或部署的開源軟件的情況,。 Dibona:我們使用Linux內(nèi)核,。每次你使用Google的時(shí)候,,你都使用了Google的一臺(tái)安裝了Linux的機(jī)器,。我們?cè)谄渖线\(yùn)行了一些常見的開源工具,,在其上我們運(yùn)行了專有軟件來支持Google,、Gmail和所有其他不同的服務(wù),。 記者:你提到的常用工具都是什么? Dibona:像GNU binutils,、如OpenSSL,、OpenSSH、某些網(wǎng)絡(luò)監(jiān)視工具,,一般是操作系統(tǒng)級(jí)別的工具,。 |
|