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