Google背后的開(kāi)源力量
從《全球著名互聯(lián)網(wǎng)企業(yè)背后的開(kāi)源力量》文章中可知,目前開(kāi)源軟件已經(jīng)成為了各大互聯(lián)網(wǎng)企業(yè)背后的支撐力量,并逐漸改變著世界軟件開(kāi)發(fā)的格局。[企業(yè)開(kāi)源系列]系列專注于全球著名企業(yè)(包括國(guó)內(nèi)企業(yè))中的開(kāi)源現(xiàn)狀,探討開(kāi)源軟件的力量,以使更多的開(kāi)發(fā)者了解開(kāi)源、貢獻(xiàn)開(kāi)源,打造更加和諧的國(guó)內(nèi)開(kāi)源生態(tài)。本期先來(lái)了解Google背后的開(kāi)源力量。
在企業(yè)使用開(kāi)源和貢獻(xiàn)開(kāi)源方面,Google一直是行業(yè)的典范。一直以來(lái),Google都在極力推廣和倡導(dǎo)開(kāi)源,并發(fā)布了一系列開(kāi)源項(xiàng)目。這是因 為Google從開(kāi)源軟件中嘗到了甜頭,如果沒(méi)有開(kāi)源軟件,Google也難以達(dá)到今日的成功。開(kāi)源軟件也是Google用來(lái)對(duì)抗桌面軟件霸主微軟的利器。
Google所使用的部分開(kāi)源軟件
Google可以說(shuō)是構(gòu)建在開(kāi)源軟件上的,其基礎(chǔ)設(shè)施及大量產(chǎn)品中都使用了大量的開(kāi)源軟件。單單一個(gè)Chrome瀏覽器就使用了100多個(gè)開(kāi)源軟件,你可以在Chrome瀏覽器中輸入chrome://credits/,即可看到Chrome所使用的開(kāi)源軟件列表。
此外,在Google基礎(chǔ)設(shè)施及內(nèi)部使用的部分開(kāi)源軟件如下:
- Linux內(nèi)核:廣泛見(jiàn)于Google的服務(wù)器及Android操作系統(tǒng)。就連Linux界的二號(hào)人物、Linux內(nèi)核主要的維護(hù)者、Linus Torvalds的得力助手Andrew Morton也加入了Google。
- GCC編譯器:廣泛應(yīng)用于Google的產(chǎn)品開(kāi)發(fā)中。Google的很多員工也來(lái)自GCC開(kāi)發(fā)團(tuán)隊(duì)。
- Python:在Google內(nèi)部Python是繼C++和Java之后使用率排名第三的編程語(yǔ)言。Python創(chuàng)始人Guido Van Rossum 從2005年開(kāi)始進(jìn)入Google,去年年底離開(kāi)。
- MySQL:Google 是MySQL的最大的用戶之一,Google還將其內(nèi)部改進(jìn)的MySQL版本開(kāi)源。
- OpenSSL和OpenSSH:用于各產(chǎn)品中的安全通信
- 大量Apache庫(kù)等等
Google分布式系統(tǒng)的三大核心技術(shù)——Google File System(GFS)、Google MapReduce和Google BigTable)盡管不開(kāi)源,但是如今也有開(kāi)源版的實(shí)現(xiàn),比如HDFS(Hadoop Distributed File System)是GFS的開(kāi)源實(shí)現(xiàn),Hadoop MapReduce是Google MapReduce的開(kāi)源實(shí)現(xiàn),HBase是Google BigTable的開(kāi)源實(shí)現(xiàn)。
使用開(kāi)源軟件的原因
開(kāi)源軟件具有開(kāi)放、共享、自由等特性,這是很多企業(yè)和開(kāi)發(fā)者選擇它的主要原因,Google也不例外。
眾多優(yōu)秀、成熟的開(kāi)源項(xiàng)目的存在,使得Google根本不需要重新發(fā)明輪子或購(gòu)買昂貴的產(chǎn)品,使用最少的人力、物力就能很快構(gòu)建出一個(gè)高性能的產(chǎn)品或系統(tǒng)來(lái)。
在Google上百萬(wàn)臺(tái)服務(wù)器中,開(kāi)源軟件可以為其節(jié)省一大筆開(kāi)支,并且在定制修改上更加靈活。而通過(guò)社區(qū)的力量,開(kāi)源軟件也更加穩(wěn)定、安全性更高。
Google從開(kāi)源中嘗到了大量的甜頭,比如Android,2007年以開(kāi)源形式發(fā)布以來(lái),其陣營(yíng)呈現(xiàn)出了爆炸式增長(zhǎng)。如今已經(jīng)成為份額第一的移動(dòng)操作系統(tǒng)。
Google的開(kāi)源文化
Google有一個(gè)稱為“創(chuàng)意休息時(shí)間(Innovation Time Off)”的政策,即允許工程師花20%的工作時(shí)間做自己想做的事情,以此來(lái)激勵(lì)更多、更廣泛的創(chuàng)新。因此,Google的工程師也有了足夠的時(shí)間來(lái)參與 開(kāi)源貢獻(xiàn)。比如Chrome瀏覽器的開(kāi)發(fā)思路都來(lái)自Google的底層員工。
Google還成立了一個(gè)開(kāi)源項(xiàng)目辦公室,專門(mén)負(fù)責(zé)Google的開(kāi)源項(xiàng)目以及Google與開(kāi)源社區(qū)之間的關(guān)系。
此外,Google也一直在招募開(kāi)源領(lǐng)域的牛人來(lái)為其工作。這樣一來(lái),Google在開(kāi)源方面處于業(yè)界領(lǐng)頭羊的位置就不足為怪了。
Google的開(kāi)源項(xiàng)目
開(kāi)源的精神是開(kāi)放、共享、自由,使用開(kāi)源軟件,當(dāng)然也要回饋社區(qū)。Google目前已經(jīng)發(fā)布了2千萬(wàn)行的代碼,超過(guò)900個(gè)項(xiàng)目。其中一些知名的項(xiàng)目如下:
- Android:全球份額第一的移動(dòng)操作系統(tǒng)。
- Chromium:Chrome和ChromeOS背后的開(kāi)源項(xiàng)目。
- Closure Tools:Google內(nèi)部的JavaScript開(kāi)發(fā)工具,使用它開(kāi)發(fā)的產(chǎn)品包括Search、Gmail、Docs、Maps、Google+等。
- Go:Google推出的編譯型、并發(fā)型的編程語(yǔ)言。
- Google Web Toolkit(GWT):Google的開(kāi)發(fā)工具包,用于構(gòu)建和優(yōu)化復(fù)雜的基于瀏覽器的應(yīng)用程序。
- Native Client:使本地代碼運(yùn)行于Web應(yīng)用程序中的開(kāi)源技術(shù)。
- Tesseract OCR:目前最準(zhǔn)確的免費(fèi)OCR引擎。
- V8 JavaScript引擎:Google的開(kāi)源、高效的JavaScript引擎,使用C++編寫(xiě),用于Chrome瀏覽器。
- WebM:高質(zhì)量的、可與H.264抗衡的視頻壓縮技術(shù)
Google開(kāi)源項(xiàng)目全部列表:http://code.google.com/hosting/search?q=label:google
Google支持的開(kāi)源組織
開(kāi)發(fā)者很少能夠從其開(kāi)源軟件中賺到錢,而捐助可能是他們的主要資金來(lái)源。Google在使用開(kāi)源軟件賺得盆滿缽滿的同時(shí),也一直在資助各大開(kāi)源社區(qū)。比如:
- Apache軟件基金會(huì)
- C++標(biāo)準(zhǔn)委員會(huì)
- Eclipse基金會(huì):該基金會(huì)曾經(jīng)由于資金有限,無(wú)法對(duì)Eclipse 4.2版本進(jìn)行性能測(cè)試,導(dǎo)致該版本在使用過(guò)程中出現(xiàn)諸多問(wèn)題。Google隨后捐贈(zèng)了性能測(cè)試實(shí)驗(yàn)室。
- Freenet:這是一個(gè)對(duì)等網(wǎng)絡(luò)應(yīng)用軟件,有5個(gè)以上節(jié)點(diǎn)的用戶群,就可以用寬帶分享種子文件,組成獨(dú)立的網(wǎng)絡(luò)系統(tǒng)。主要應(yīng)用在匿名互聯(lián)網(wǎng)領(lǐng)域,如海盜灣、維基解密等。
- 自由軟件基金會(huì)(FSF)
- 歐洲自由軟件基金會(huì)(FSFE)
- GNOME基金會(huì)
- KDE
- Kernel.org:Linux內(nèi)核源代碼的主站點(diǎn)
- Linux基金會(huì)
- MetaBrainz基金會(huì):MusicBrainz是一個(gè)社區(qū)維護(hù)的音樂(lè)元數(shù)據(jù)庫(kù),用于收集和提供關(guān)于音樂(lè)的信息。
- Mozilla基金會(huì)
- NetBSD項(xiàng)目
- OASIS:結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織。
- OpenBSD項(xiàng)目
- OIN(開(kāi)放創(chuàng)新聯(lián)盟):旨在確保開(kāi)放源碼的專利權(quán),讓Linux平臺(tái)能持續(xù)發(fā)展,同時(shí)也可望提升專利的品質(zhì),淘汰不良的專利。
- OSUOSL:俄勒岡州立大學(xué)開(kāi)源實(shí)驗(yàn)室。
- Python軟件基金會(huì)
- Samba項(xiàng)目
- Tor項(xiàng)目
詳細(xì)信息:https://developers.google.com/open-source/organizations?hl=zh-CN
#p#
Goolge的開(kāi)源服務(wù)、活動(dòng)
1. Google Code開(kāi)源項(xiàng)目托管平臺(tái)
Google Code是Google利用自身服務(wù)器資源提供的開(kāi)發(fā)人員主頁(yè),最初目的是為Google自身的開(kāi)源軟件提供開(kāi)發(fā)平臺(tái),以及協(xié)助開(kāi)發(fā)者擴(kuò)展Google產(chǎn) 品的功能。隨著托管項(xiàng)目的增多,Google Code正在成為一個(gè)開(kāi)放的項(xiàng)目托管平臺(tái),并提供了類似于Sourceforge的版本控制、問(wèn)題跟蹤、Wiki、下載托管和其他有用的工具。
目前該平臺(tái)托管項(xiàng)目已經(jīng)超過(guò)250,000個(gè)。
2. Google Summer of Code
Google的Summer of Code(代碼夏令營(yíng))是一個(gè)全球性的計(jì)劃,每年夏季舉辦。該項(xiàng)活動(dòng)的目的是幫助在校的開(kāi)發(fā)者在暑期完成學(xué)術(shù)挑戰(zhàn)。Google提供了開(kāi)發(fā)者獎(jiǎng)金,參與的開(kāi)發(fā)者可以在世界各地指導(dǎo)機(jī)構(gòu)的幫助下為各種開(kāi)源項(xiàng)目編寫(xiě)代碼,并可以贏得獎(jiǎng)金。
Google對(duì)開(kāi)源的支持
Google在今年年初宣布了一項(xiàng)舉措《Open Patent Non-Assertion (OPN) Pledge(開(kāi)放專利不主張承諾)》,承諾不會(huì)因部分專利起訴開(kāi)源軟件的開(kāi)發(fā)人員、經(jīng)銷商或者使用者,除非Google自己先受到起訴。
Google希望它的這項(xiàng)承諾能夠起到帶頭作用,促使更多的專利持有人加入到該陣營(yíng)中,共同構(gòu)建一個(gè)能夠保護(hù)真正的創(chuàng)新的開(kāi)放的互聯(lián)網(wǎng),并持續(xù)提供優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
Google開(kāi)源的一些“副作用”
當(dāng)然,Google過(guò)度倡導(dǎo)開(kāi)源也帶來(lái)了一些“副作用”。
1. Android的碎片化
自從Android以開(kāi)源形式發(fā)布以來(lái),發(fā)展速度極快,導(dǎo)致目前連Google也難以控制。隨著各大設(shè)備廠商的加入,Android生態(tài)系統(tǒng)逐漸 呈現(xiàn)碎片化。由于各大廠商基于各自設(shè)備定制的Android版本無(wú)法通用,使得用戶的系統(tǒng)升級(jí)嚴(yán)重滯后于Google官方發(fā)布的版本。目前Android 5.0即將發(fā)布,而4年前發(fā)布的Android 1.5版本仍然存在。不僅如此,各種硬件配置、分辨率大小,使得開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用后需要做大量的測(cè)試工作,大大增加了成本。
2. 大量產(chǎn)品被關(guān)閉
Google極力倡導(dǎo)開(kāi)源,又給出了員工20%的時(shí)間來(lái)從事自己喜歡的工作,再加上Google內(nèi)部在開(kāi)源項(xiàng)目上的審批周期非常短,導(dǎo)致越來(lái)越多的項(xiàng)目迅速誕生。目前Google的產(chǎn)品線估計(jì)多到連他們自己都數(shù)不清。
盡管大部分產(chǎn)品都很優(yōu)秀,但不意味著Google都能運(yùn)營(yíng)好。由于缺少人員維護(hù),不斷有一些產(chǎn)品被關(guān)閉。如今Google每年都要進(jìn)行幾次大掃 除,清理掉一些邊緣化產(chǎn)品以及一些與主推產(chǎn)品功能類似的產(chǎn)品。近兩年,Google已經(jīng)累計(jì)關(guān)閉和合并了40多個(gè)產(chǎn)品,包括曾推出了眾多創(chuàng)新產(chǎn)品的 Google實(shí)驗(yàn)室。而這些產(chǎn)品的用戶只能被迫轉(zhuǎn)到其他類似產(chǎn)品上。
無(wú)法制造利潤(rùn)也是這些產(chǎn)品被關(guān)閉的原因之一。Google如今已經(jīng)被其他互聯(lián)網(wǎng)企業(yè)(如Facebook)趕上,使得它不得不開(kāi)始削減產(chǎn)品,集中力量發(fā)展主要產(chǎn)品,并開(kāi)始追逐利潤(rùn)。目前,App Engine平臺(tái)上的開(kāi)發(fā)費(fèi)用被提高,部分已免費(fèi)數(shù)年的API也開(kāi)始收費(fèi)等等。
最后
可見(jiàn),開(kāi)源成就了Google。與此類似,另一個(gè)互聯(lián)網(wǎng)巨頭Facebook也在開(kāi)源軟件的基礎(chǔ)上獲取了空前的成功,同時(shí),F(xiàn)acebook也推 出了大量的開(kāi)源產(chǎn)品。但據(jù)悉,F(xiàn)acebook內(nèi)部的開(kāi)源氛圍似乎比Google更為濃厚。下一篇,我們將繼續(xù)帶來(lái)Facebook背后的開(kāi)源力量,看該 巨頭如何通過(guò)開(kāi)源軟件趕超Google。