開源運動廣受歡迎,并且在軟件開發(fā)史上寫下了濃重一筆。但是它影響深遠的地方在哪呢?有史以來,成功的開源“項目”又是什么呢?
事實上,總體來看,Web不就是開源運動大的成功么?
可能有名的例子就是隱藏域眾多網(wǎng)站背后的LAMP,也就是Linux、Apache、MySQL和PHP。但當你仔細考慮后,你會發(fā)現(xiàn)更多。
下面列出了Web得以運轉(zhuǎn)的一些開源項目。
Web browsers-網(wǎng)絡瀏覽器
在網(wǎng)絡瀏覽器市場中,雖然微軟的封閉源碼軟件IE瀏覽器仍然占有很大的份額,但其它功能相似的開源項目已經(jīng)流行起來,并在不斷壯大。像Mozilla公司的Firefox瀏覽器(它是開源的,還有Flock、PaleMoon)。還有增長迅速的基于Webkit的瀏覽器,像Safari,但著名的是Chrome瀏覽器。
如果把手機網(wǎng)絡也算到這里面,其中Webkit主宰著iPhone、Android和Blackberry手機中的瀏覽器。
Web server software-Web服務器軟件
迄今為止,Apache是使用范圍廣的網(wǎng)絡服務器軟件,它是開源的,但是一個叫做Nginx的輕量級服務器軟件在近幾年開始流行起來。事實上,三大頂級網(wǎng)絡服務器軟件中有兩個是開源的(排名第二的微軟的IIS是例外,但其距離第一相差甚遠)。
另外,大量服務器端底層軟件也是開源的。例如,很多大流量網(wǎng)站使用Varnish作為與網(wǎng)站訪問者之間的緩存層,而使用Memcached作為與網(wǎng)站數(shù)據(jù)庫之間的緩存層。這只是眾多例子中的兩個。
Scripting languages and web frameworks-腳本語言和Web框架
網(wǎng)絡上使用的大部分編程和腳本語言都是開源的,比如PHP、Perl、Python、Ruby等。
但是,很少有網(wǎng)站完完全全是從零開始。毫不夸張的說,有成百上千的開源內(nèi)容管理系統(tǒng)(CMS)和網(wǎng)絡框架來協(xié)助開發(fā)人員,例如WordPress、Drupal、Ruby on Rails、Django、Joomla、DedeCMS、Ecshop等。
Databases-數(shù)據(jù)庫
開源軟件MySQL是目前為止流行的網(wǎng)站數(shù)據(jù)庫,但還有其它功能相似的開源軟件,比如PostgreSQL,更不用說近來出現(xiàn)的眾多“非關系型(NoSQL)”數(shù)據(jù)庫。
既然我們說到了底層軟件,那就不得不提一下每次我們使用互聯(lián)網(wǎng)或因特網(wǎng)上的任何東西時都要依靠的基礎系統(tǒng):
DNS-域名解析系統(tǒng)
Web(就此而言是整個因特網(wǎng))離開了域名解析系統(tǒng)就一無是處。大家都知道,域名解析系統(tǒng)可以讓用戶使用像example.com之類的域名,而不是IP地址。BIND幾乎是DNS服務器(亦稱名稱服務器)軟件的實際標準,并且,你現(xiàn)在可能已經(jīng)猜到了,它是開源的。
Server operating systems-服務器操作系統(tǒng)
所有網(wǎng)站都必須在服務器上運行,而那也是開源的統(tǒng)治領域。雖然Windows統(tǒng)治著桌面領域,但是網(wǎng)站賴以運行的服務器大部分采用開源的Linux操作系統(tǒng),其他比較流行的選擇是freeBSD和OpenBSD。
開源的誘惑
由于在許多情況下,開源軟件能夠提供與商業(yè)的封閉源碼軟件相同的性能,并且又是免費的,所以開源軟件如此流行并不奇怪。免費是一個難以挑戰(zhàn)的價格。
假如Web不是運行在所有這些免費軟件上,那么它很可能需要一段艱苦的過程,才能讓人們廣泛接受。
注意我們并沒說過Web中沒有任何封閉源碼軟件,而那顯然是存在的。但是,從統(tǒng)計數(shù)據(jù)看,Web開源統(tǒng)治領域中真正的例外是微軟的基于Windows系列系統(tǒng)。
除了那個,你通常需要深入研究才能發(fā)現(xiàn)更多私有封閉源碼技術,像路由器和類似設備上的操作系統(tǒng)。但那是因特網(wǎng),而不是Web。
結(jié)束語
多虧了80年代因特網(wǎng)、便捷通訊以及合作與共享的興起,開源運動才得以蓬勃發(fā)展。在90年代,當Web誕生于頂層因特網(wǎng)設備時,開源運動已經(jīng)準備好助其一臂之力了。
沒有人會否認開源統(tǒng)治著Web的大部分。開源和Web是一個合作共生的關系,互利互惠,合作共贏。這就是為什么我們認為Web可以說是迄今為止是開源大的成功。(我們并沒有否定Tim Berners-Lee的意思。注:Tim Berners-Lee,萬維網(wǎng)之父、第一位站長)