開源軟件是什么?
開源軟件是源代碼公開,且能遵守一定的規(guī)則進(jìn)行使用的軟件系統(tǒng)。相當(dāng)于一部分人把自己的最最核心的機(jī)密公開來,貢獻(xiàn)全社會(huì),這也就是互聯(lián)網(wǎng)共享精神的直接體現(xiàn)。
很多人可能尚未意識(shí)到,我們使用的電腦中運(yùn)行有開源軟件,手機(jī)中運(yùn)行有開源軟件,家里的電視也運(yùn)行有開源軟件,甚至小小的數(shù)碼產(chǎn)品中也運(yùn)行有開源軟件,尤其是互聯(lián)網(wǎng)服務(wù)器端軟件,幾乎全部是開源軟件。
開源軟件現(xiàn)在成為整個(gè)互聯(lián)網(wǎng)時(shí)代的支撐技術(shù),你可能已經(jīng)無法離開由開源軟件構(gòu)建起來的網(wǎng)絡(luò)世界了。下面我們就來看看這些最重要的開源技術(shù)。
7. 為互聯(lián)網(wǎng)而生的操作系統(tǒng)Linux
Linux 是一款免費(fèi)的操作系統(tǒng),誕生于1991年,用戶可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。
它能運(yùn)行主要的 UNIX 工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux 繼承了 Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。這個(gè)系統(tǒng)是由全世界各地的成千上萬的程序員設(shè)計(jì)和實(shí)現(xiàn)的。其目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自由使用的 Unix 兼容產(chǎn)品。
Linux 可以說是已經(jīng)無處不在,像 Android 手機(jī)就是以 Linux 為基礎(chǔ)開發(fā)的,世界上大多的超級(jí)計(jì)算機(jī)也都采用的 Linux 系統(tǒng),大多數(shù)的數(shù)據(jù)中心使用 Linux 作為其支撐操作系統(tǒng)。谷歌、百度、淘寶等都通過 Linux 提供了我們每天用的互聯(lián)網(wǎng)服務(wù)。Linux 在航空控制系統(tǒng)中也扮演著重要角色。
6. 加密互聯(lián)網(wǎng)的安全協(xié)議 OpenSSL
OpenSSL 是套開放源代碼的軟件庫包,實(shí)現(xiàn)了 SSL 與 TLS 協(xié)議。OpenSSL 可以說是一個(gè)基于密碼學(xué)的安全開發(fā)包,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及 SSL 協(xié)議,并提供了豐富的應(yīng)用程序供測(cè)試或其它目的使用。
也可以說 OpenSSL 是網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,SSL 可以在 Internet 上提供秘密性傳輸,能使用戶/服務(wù)器應(yīng)用之間的通信不被攻擊者竊聽。OpenSSL 被網(wǎng)銀、在線支付、電商網(wǎng)站、門戶網(wǎng)站、電子郵件等重要網(wǎng)站廣泛使用。
去年 OpenSSL 爆出安全漏洞,因?yàn)槠鋺?yīng)用如此之廣,該漏洞爆出讓整個(gè)互聯(lián)網(wǎng)都為之震顫。
當(dāng)你發(fā)現(xiàn)網(wǎng)頁的網(wǎng)址是https開頭的時(shí)候,這就說明這里使用了Openssl,在為你的信息安全保駕護(hù)航。
5. 互聯(lián)網(wǎng)的記憶——MySQL
MySQL 是一個(gè)開源的小型的數(shù)據(jù)庫管理系統(tǒng),原開發(fā)者為瑞典的 MySQL AB 公司,該公司于2008年被 Sun 公司收購。2009年,甲骨文公司(Oracle)收購 Sun 公司,MySQL 成為 Oracle 旗下產(chǎn)品。
很多信息都是存在數(shù)據(jù)庫里面的,很多工程師在開發(fā)一些的小型項(xiàng)目時(shí)都會(huì)采用這個(gè) MySQL 數(shù)據(jù)庫。MySQL 為 C、C++、JAVA、PHP 等多重編程語言提供了 API 接口。而且支持 Windows、Mac、Linux 等多種系統(tǒng)。這種廣泛的支持使其得到更多開發(fā)者的青睞,MySQL 是開發(fā)者需要掌握的數(shù)據(jù)庫之一。
MySQL 最初為小型應(yīng)用而開發(fā),但現(xiàn)在的 MySQL 已經(jīng)不是一個(gè)小型數(shù)據(jù)庫了?;旧纤械幕ヂ?lián)網(wǎng)公司都會(huì)使用這個(gè)數(shù)據(jù)庫系統(tǒng),一些金融交易也會(huì)采用 MySQL 作為數(shù)據(jù)庫引擎。MySQL 通過相應(yīng)的調(diào)優(yōu)既可以支撐大規(guī)模的訪問,又可以保證數(shù)據(jù)安全性,已經(jīng)成為威脅傳統(tǒng)商業(yè)數(shù)據(jù)庫系統(tǒng)的重要力量。
4. 萬能開發(fā)工具 Eclipse
Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。Eclipse 最初由 OTI 和 IBM 兩家公司的IDE 產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。目前由 IBM 牽頭,圍繞著 Eclipse 項(xiàng)目已經(jīng)發(fā)展成為了一個(gè)龐大的 Eclipse 聯(lián)盟,有150多家軟件公司參與到 Eclipse 項(xiàng)目中,其中包括 Borland、Rational Software、Red Hat 及 Sybase 等。
就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。很多 Java 編程軟件都是在 Eclipse 平臺(tái)開發(fā)的,還有包括 Oracle 在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,并宣稱Eclipse 將來能成為可進(jìn)行任何語言開發(fā)的 IDE 集大成者,使用者只需下載各種語言的插件即可。
Eclipse 并不是一個(gè)直接服務(wù)于消費(fèi)者的產(chǎn)品,它更像一個(gè)工匠手中萬用工具,用 ? Eclipse 開發(fā)者可以打造出各種充滿創(chuàng)造性的服務(wù)來滿足最終用戶的需求。
3. 互聯(lián)網(wǎng)的門衛(wèi) Apache
Apache HTTP Server(簡稱 Apache)是 Apache 軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,也是最流行的 Web 服務(wù)器端軟件之一,市場(chǎng)占有率達(dá)60%左右。它快速、可靠并且可通過簡單的 API 擴(kuò)展,它可以和各種解釋器配合使用,包括 PHP/Perl/Python 等。
Apache 就像一個(gè)負(fù)責(zé)的門衛(wèi),管理著服務(wù)器數(shù)據(jù)的進(jìn)出。每當(dāng)你在你的地址欄里輸入網(wǎng)址的時(shí)候,在遙遠(yuǎn)的遠(yuǎn)端,很有可能正是一臺(tái)跑著 Apache 的服務(wù)器,將你需要的信息傳輸給瀏覽器。
2. 大數(shù)據(jù)的心臟 Hadoop
Hadoop 是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,由 Apache 基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。
Hadoop 一直幫助解決各種問題,包括超大型數(shù)據(jù)集的排序和大文件的搜索。它還是各種搜索引擎的核心,比如 Amazon 的 A9 和用于查找酒信息的 Able Grape 垂直搜索引擎。阿里巴巴集團(tuán)在商品推薦、用戶行為分析、信用計(jì)算領(lǐng)域也都有 Hadoop 的應(yīng)用。
在“大數(shù)據(jù)”已經(jīng)成為潮流的當(dāng)下,Hadoop 已經(jīng)成為最主要的一項(xiàng)技術(shù)??梢院敛豢鋸埖恼f,沒有Hadoop,就沒有大多數(shù)的大數(shù)據(jù)應(yīng)用。可以說對(duì)一個(gè)不知道 Hadoop 的程序員而言,你已經(jīng)out了。
1. 互聯(lián)網(wǎng)的“排版引擎” WebKit
說是瀏覽器內(nèi)核,其實(shí)“排版引擎”更容易理解一些。通過服務(wù)器傳輸給瀏覽器的信息只是一串亂糟糟的文本。要看到我們平時(shí)看到精美的網(wǎng)友,需要瀏覽器內(nèi)核對(duì)這些文本進(jìn)行解析,將枯燥的描述“畫”成美麗的瀏覽界面。
WebKit 是一個(gè)開源的瀏覽器引擎,與之相應(yīng)的引擎有 Gecko(Mozilla Firefox 等使用的排版引擎)和 Trident(也稱為 MSHTML,IE 使用的排版引擎)。
根據(jù) StatCounter 的瀏覽器市場(chǎng)份額調(diào)查,于2012年11月,Webkit 市占超過了40%,它已經(jīng)成為擁有最大市場(chǎng)份額的排版引擎,超越了 IE 所使用的 Trident 及 Firefox 所使用的 Gecko 引擎,并且 WebKit 份額正在逐年增加。
目前幾乎所有網(wǎng)站和網(wǎng)銀已經(jīng)逐漸支持 WebKit。WebKit 內(nèi)核在手機(jī)上的應(yīng)用也十分廣泛,例如蘋果的 Safari、谷歌的 Chrome 瀏覽器都是基于這個(gè)框架來開發(fā)的。
總結(jié)
很多人可能尚未意識(shí)到,我們使用的電腦中運(yùn)行有開源軟件,手機(jī)中運(yùn)行有開源軟件,家里的電視也運(yùn)行有開源軟件,甚至小小的數(shù)碼產(chǎn)品中也運(yùn)行有開源軟件,尤其是互聯(lián)網(wǎng)服務(wù)器端軟件,幾乎全部是開源軟件。毫不夸張地說,開源軟件已經(jīng)滲透到了我們?nèi)粘I畹姆椒矫婷妗?/p>
在開源軟件的背后,是一大批的技術(shù)人員,在用心血和汗水在開發(fā)和維護(hù)這這些軟件。在你享受著科技帶來的遍歷的同時(shí),也別忘了,這在背后默默付出的人們。
那么問題來了,當(dāng)你在手機(jī)購物的時(shí)候,鍵入一個(gè)關(guān)鍵詞,手機(jī)能從幾百億的商品中給你展示符合你心意的產(chǎn)品,這后面又是運(yùn)用了上面哪種技術(shù)?
我是IT老司機(jī)米洛,十年軟件開發(fā)工程師,覺得文章有用,請(qǐng)點(diǎn)轉(zhuǎn)載,贈(zèng)人玫瑰,手有余香。