Sun號(hào)稱開(kāi)源方面的領(lǐng)路人之一,其實(shí)Google擁有的開(kāi)源項(xiàng)目也是十分豐富的。除了開(kāi)發(fā)方面的項(xiàng)目外,也有MySQL等方面的內(nèi)容。在這其中還包括新出的Google Go!
Google是支持開(kāi)源運(yùn)動(dòng)的最大公司之一,它們現(xiàn)在總共發(fā)布有超過(guò)500個(gè)的開(kāi)源項(xiàng)目(大部分都是利用它們的API來(lái)完成),本文將列舉一些有趣的開(kāi)源項(xiàng)目,其中很可能有不少你不知道的哦。
Google開(kāi)源助Web2.0開(kāi)發(fā) 不排斥專有深入了解Google開(kāi)源框架GWT Google開(kāi)源新舉動(dòng):Linux桌面1.1版上線(.. Mozilla、Google開(kāi)源合作遭美國(guó)稅局質(zhì)疑微軟擔(dān)心Google和蘋(píng)果超越Windows 8 文本文件處理:
◆Google CRUSH (Custom Reporting Utilities for SHell)
CRUSH是為命令行或shell scripts處理特定文字?jǐn)?shù)據(jù)而制作的一系列工具,這里有指南。
C++庫(kù)和源代碼:
◆Google Breakpad
一個(gè)開(kāi)源的多平臺(tái)崩潰報(bào)告系統(tǒng)。
◆Google GFlags
Gflags是一個(gè)命令行標(biāo)記的處理庫(kù),它可以替代“getopt()”,其內(nèi)置對(duì)C++的支持比如string。指南在此。
◆Google Glog
Glog庫(kù)可執(zhí)行應(yīng)用級(jí)的登陸,提供基于C++式的登陸API,可用于Linux、BSD和Windows。指南見(jiàn)此。
◆Google PerfTools
這個(gè)工具可讓開(kāi)發(fā)創(chuàng)建更強(qiáng)大的應(yīng)用程序,特別是那些用C++模版開(kāi)發(fā)的多線程應(yīng)用程序,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南見(jiàn)此還有這里。
◆Google Sparse Hash
非常節(jié)省內(nèi)存的hash-map。指南見(jiàn)此。
◆Omaha – Google Update
Omaha,也就是Google Update,它可以保證你的軟件隨時(shí)升級(jí)到最新版本,目前很多Windows下的Google軟件都是用Omaha升級(jí)的,包括Google Chrome和Google Earth,當(dāng)然你也可以用于自己的應(yīng)用程序。指南看這里還有這里。
◆Protocol Buffers
Protocol Buffers是一種可擴(kuò)展編碼序列數(shù)據(jù)的方式,Google在幾乎所有內(nèi)部RPC協(xié)議和文件格式都使用了Protocol Buffers。指南見(jiàn)此。它可以用于很多語(yǔ)言而且被一些IDE所支持,比如NetBeans。
互聯(lián)網(wǎng):
◆Google Code Pretiffy
這是一個(gè)Javascript模塊和CSS文件,它可以讓HTML頁(yè)面里的部分源碼高亮顯示,支持C/C++, Java, Python, Ruby, PHP, VisualBasic, AWK, Bash, SQL, HTML, XML, CSS, JavaScript, Makefiles和部分Perl,不支持Smalltalk和所有的CAML。例子見(jiàn)此。
◆SpriteMe – easy “CSS spirtes”
SpriteMe使你可以更輕松的創(chuàng)造CSS Sprites(俗稱雪碧……)就是把網(wǎng)站要用到的圖片都堆在一張圖片里,用CSS控制調(diào)用哪個(gè)區(qū)域。它有一個(gè)自己的官網(wǎng)在這里。
◆Redacisaurus
Reducisaurus是一個(gè)壓縮CSS和JS文件的網(wǎng)絡(luò)服務(wù),基于YUI壓縮算法,運(yùn)行于App Engine。
◆JaikuEngine
JaikuEngine是一個(gè)運(yùn)行于App Engine的微博系統(tǒng),由jaiku.com運(yùn)營(yíng)。要查看移動(dòng)客戶端的源碼可以看這里,這里還有介紹。
◆Selector Shell
Selector Shell是一個(gè)基于瀏覽器的測(cè)試工具,它可以讓你看到CSS在不同瀏覽器里的樣式,用Javascript寫(xiě)的,你可以在這里測(cè)試。
◆Google Feed Server
Google Feed Server是一個(gè)開(kāi)源Atom發(fā)布協(xié)議服務(wù),基于Apache Abdera框架,允許開(kāi)發(fā)者快速為當(dāng)前數(shù)據(jù)源(比如數(shù)據(jù)庫(kù))配置feed。指南見(jiàn)這里和這里。
◆Melange, the Spice of Creation
這個(gè)項(xiàng)目的目標(biāo)是創(chuàng)建出一個(gè)適合開(kāi)源貢獻(xiàn)流程的框架,比如Google Summer of Code TM (GSoC)項(xiàng)目。使用這個(gè)框架你就可以用Google App Engine來(lái)運(yùn)行Google Summer of Code項(xiàng)目,和其它類似項(xiàng)目比如Google Highly Open Participation TM Contest和GHOP。指南見(jiàn)此。
◆NameBench
它可以查找最快的DNS服務(wù)器給你的電腦用,在Mac OS X、Windows和UNIX系統(tǒng)下都有命令行也有用戶界面可以幫你測(cè)試,這是Google工程師用20%自由時(shí)間寫(xiě)出來(lái)的。
◆Rat Proxy
一個(gè)半自動(dòng)化的大型被動(dòng)網(wǎng)絡(luò)應(yīng)用安全審查工具,專為精確的探測(cè)而優(yōu)化,文檔在此。
◆TopDraw
Top Draw是一個(gè)圖形生成程序,使用簡(jiǎn)單的文字腳本,基于JavaScript編程語(yǔ)言,Top Draw可以創(chuàng)造出非常復(fù)雜和有趣的圖形。支持Mac OS 10.5以上系統(tǒng),使用XCode開(kāi)發(fā)。
◆etherpad
開(kāi)源的EtherPad,這是一個(gè)基于網(wǎng)絡(luò)的實(shí)時(shí)合作文檔編輯器,這個(gè)項(xiàng)目主要是為了演示代碼而開(kāi)發(fā),幫助那些想在自己服務(wù)器部署Etherpad的人使用,這里有如何安裝的指南。EtherPad使用JavaScript、Java和Comet服務(wù)器來(lái)建造實(shí)時(shí)協(xié)作服務(wù)。
◆Chromium
Chromium是開(kāi)源版的Chrome瀏覽器,Chromium的目標(biāo)是建立一個(gè)新一代的強(qiáng)大網(wǎng)絡(luò)應(yīng)用程序,它與Chrome有很多不同之處。這里有指導(dǎo)如何在Linux上編譯Chromium。
◆V8 Google’s open source JavaScript engine
V8是Google的開(kāi)源JavaScript引擎,用C++寫(xiě)成,用于Chrome瀏覽器之上。V8使用ECMAScript的ECMA-262第三版可運(yùn)行于Windows XP、vista、Mac OS 10.5和使用IA-32或ARM處理器的Linux。V8可獨(dú)立運(yùn)行也可嵌入到任何C++程序里使用,這里有指南。
◆Chromium OS
Chromium OS是開(kāi)源版的Chrome OS操作系統(tǒng),提供快速、簡(jiǎn)單而安全的網(wǎng)絡(luò)體驗(yàn),源碼在此。
◆Android
Android是第一個(gè)免費(fèi)、開(kāi)源而且可完全自定義的移動(dòng)平臺(tái),提供完整的堆棧:一個(gè)操作系統(tǒng)、中間件和重要的一用應(yīng)用,它包含豐富的API可以讓第三方開(kāi)發(fā)者開(kāi)發(fā)出強(qiáng)大的應(yīng)用程序。
MySQL工具:
◆Google MySQL Tools
各種管理、維護(hù)和改進(jìn)MySQL數(shù)據(jù)庫(kù)性能的工具,由Google編寫(xiě),包括:
◆mypgrep.py:一個(gè)類似pgrep的工具來(lái)管理MySQL連接
compact_innodb.py:可導(dǎo)出和重載所有表格的密集型innodb數(shù)據(jù)文件
◆Google mMAIM
mMAIM的目標(biāo)是對(duì)MySQL的監(jiān)控和分析更簡(jiǎn)單,且可以和任何環(huán)境整合使用。它可顯示主/從同步狀態(tài),一些性能狀態(tài),可以返回大量“show”命令的狀態(tài)等等。
其它:
◆Stressful Application Test (stressapptest)
Stressful Application Test試圖讓來(lái)自處理器和I/O到內(nèi)存的數(shù)據(jù)盡量隨機(jī)化,以創(chuàng)造出模擬現(xiàn)實(shí)的環(huán)境來(lái)測(cè)試現(xiàn)在的硬件設(shè)備是否穩(wěn)定,Google就在使用它,現(xiàn)在是Apache 2.0許可,這里有介紹、安裝向?qū)Ш椭改稀?/p>
◆Pop and IMAP Troubleshooter
它用于診斷并解決客戶端到郵件服務(wù)器的連接問(wèn)題。
◆OpenDuckBill
Openduckbill是一個(gè)Linux下簡(jiǎn)單的命令行備份工具,可用于監(jiān)視文件/目錄在有變化后是否標(biāo)記為備份,并傳輸這些變化到本地備份目錄、遠(yuǎn)程N(yùn)FS導(dǎo)出分卷或是用rsync命令導(dǎo)出到遠(yuǎn)程SSH服務(wù)器。見(jiàn)安裝向?qū)А?/p>
◆ZXing
ZXing(發(fā)音類似Zebra crossing)是Java的開(kāi)源多格式1D/2D條碼圖像處理庫(kù),目的是使用內(nèi)置在手機(jī)上的攝像頭拍照并對(duì)條碼進(jìn)行解碼,而不必與服務(wù)器通訊,它被用于Android系統(tǒng)。這里有向?qū)Ш椭С值脑O(shè)備列表。
◆Tesseract OCR Engine
Tesseract OCR引擎是1995年UNLV Accuracy測(cè)試的前三名之一,在1995和2006年之間它的進(jìn)展不大,但依然是當(dāng)前精度最高的OCR引擎。這個(gè)源碼可讀取二進(jìn)制、灰階或彩色圖片并輸出文字,內(nèi)置一個(gè)TIFF閱讀器可讀取非壓縮的TIFF文件,增加libtiff后也可讀取壓縮圖片。指南和問(wèn)答。
◆Neatx – Open Source NX server
Neatx是一個(gè)開(kāi)源NX服務(wù),類似NoMachine公司商業(yè)的NX服務(wù)。NX協(xié)議比VNX更強(qiáng)大,它們的區(qū)別主要在:
NX是X11客戶端所以不會(huì)發(fā)送位圖
NX可兼容X、VNC和Windows版的Remote Desktop
NX可緩存數(shù)據(jù)
NX安裝簡(jiǎn)單
另外一個(gè)可選的項(xiàng)目可以看看Google的FreeNx。
◆PSVM
它是這個(gè)文件的代碼,這是一個(gè)SVM的“支持所有核心”的版本,可多機(jī)并行運(yùn)行,實(shí)例見(jiàn)此。
◆Google GO
Google開(kāi)發(fā)的新編程語(yǔ)言。
◆The Google Collections Library for Java
這是一系列與Java 5以及更高版本有關(guān)的庫(kù),Google花錢(qián)給買(mǎi)過(guò)來(lái)了。
◆Google styleguIDE
每個(gè)主流的開(kāi)源項(xiàng)目都有它自己的向?qū)问剑热缫幌盗械难菔敬a。如果這些代碼都按照“Style”的形式來(lái)演示,會(huì)更友好。
http://www.oulan.com/w/2009/12/29/google-opensource-project/