開源軟件現在成為整個互聯網時代的支撐技術,你可能已經無法離開由開源軟件構建起來的網絡世界了。下面我們就來看看一些最重要的開源技術。
為互聯網而生的操作系統linux
Linux是一款免費的操作系統,誕生于1991年,用戶可以通過網絡或其他途徑免費獲得,并可以任意修改其源代碼。
它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。
Linux可以說是已經無處不在,像Android手機就是以Linux為基礎開發的,世界上大多的超級計算機也都采用的Linux系統,大多數的數據中心使用Linux作為其支撐操作系統。谷歌、百度、淘寶等都通過Linuxt提供了我們每天用的互聯網服務。Linux在航空控制系統中也扮演著重要角色。
加密互聯網的安全協議OpenSSL
OpenSSL是套開放源代碼的軟件庫包,實現了SSL與TLS協議。OpenSSL可以說是一個基于密碼學的安全開發包,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協議,并提供了豐富的應用程序供測試或其它目的使用。
也可以說OpenSSL是網絡通信提供安全及數據完整性的一種安全協議,SSL可以在Internet上提供秘密性傳輸,能使用戶/服務器應用之間的通信不被攻擊者竊聽。OpenSSL被網銀、在線支付、電商網站、門戶網站、電子郵件等重要網站廣泛使用。
去年OpenSSL爆出安全漏洞,因為其應用如此之廣,該漏洞爆出讓整個互聯網都為之震顫。
互聯網的記憶——MySQL
MySQL是一個開源的小型的數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被Sun公司收購。2009年,甲骨文公司(Oracle)收購Sun公司,MySQL成為Oracle旗下產品。
很多信息都是存在數據庫里面的,很多工程師在開發一些的小型項目時都會采用這個MySQL數據庫。MySQL為C、C++、JAVA、PHP等多重編程語言提供了API接口。而且支持windows、Mac、Linux等多種系統。這種廣泛的支持使其得到更多開發者的青睞,MySQL是開發者需要掌握的數據庫之一。
Mysql最初為小型應用而開發,但現在的Mysql已經不是一個小型數據庫了。基本上所有的互聯網公司都會使用這個數據庫系統,一些金融交易也會采用Mysql作為數據庫引擎。Mysql通過相應的調優既可以支撐大規模的訪問,又可以保證數據安全性,已經成為威脅傳統商業數據庫系統的重要力量。
萬能開發工具Eclipse
Eclipse 是一個開放源代碼的、基于Java的可擴展開發平臺。Eclipse最初由OTI和IBM兩家公司的IDE產品開發組創建,起始于1999年4月。目前由IBM牽頭,圍繞著Eclipse項目已經發展成為了一個龐大的Eclipse聯盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase等。
就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。很多Java編程軟件都是在Eclipse平臺開發的,還有包括Oracle在內的許多大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發的IDE集大成者,使用者只需下載各種語言的插件即可。
Eclipse并不是一個直接服務于消費者的產品,它更像一個工匠手中萬用工具,用Eclipse開發者可以打造出各種充滿創造性的服務來滿足最終用戶的需求。
互聯網的門衛Apache
Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由于其多平臺和安全性被廣泛使用,也是最流行的Web服務器端軟件之一,市場占有率達60%左右。它快速、可靠并且可通過簡單的API擴展,它可以和各種解釋器配合使用,包括PHP/Perl/Python等。
Apache就像一個負責的門衛,管理著服務器數據的進出。每當你在你的地址欄里輸入http://XXX.com的時候,在遙遠的遠端,很有可能正是一臺跑著Apache的服務器,將你需要的信息傳輸給瀏覽器。
大數據的心臟Hadoop
Hadoop 是一個能夠對大量數據進行分布式處理的軟件框架,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。Hadoop 一直幫助解決各種問題,包括超大型數據集的排序和大文件的搜索。它還是各種搜索引擎的核心,比如 Amazon 的 A9 和用于查找酒信息的 Able Grape 垂直搜索引擎。阿里巴巴集團在商品推薦、用戶行為分析、信用計算領域也都有hadoop的應用。
在“大數據”已經成為潮流的當下,Hadoop已經成為最主要的一項技術。可以毫不夸張的說,沒有Hadoop,就沒有大多數的大數據應用。可以說對一個不知道Hadoop的程序員而言,你已經out了。
互聯網的“排版引擎”WebKit
說是瀏覽器內核,其實“排版引擎”更容易理解一些。通過服務器傳輸給瀏覽器的信息只是一串亂糟糟的文本。要看到我們平時看到精美的網友,需要瀏覽器內核對這些文本進行解析,將枯燥的描述“畫”成美麗的瀏覽界面。
WebKit 是一個開源的瀏覽器引擎,與之相應的引擎有Gecko(Mozilla Firefox 等使用的排版引擎)和Trident(也稱為MSHTML,IE 使用的排版引擎)。根據StatCounter的瀏覽器市場份額調查,于2012年11月,Webkit市占超過了40%,它已經成為擁有最大市場份額的排版引擎,超越了Internet Explorer所使用的Trident及Firefox所使用的Gecko引擎,并且WebKit份額正在逐年增加。
目前幾乎所有網站和網銀已經逐漸支持WebKit。WebKit 內核在手機上的應用也十分廣泛,例如蘋果的Safari、谷歌的Chrome瀏覽器都是基于這個框架來開發的。
小結
很多人可能尚未意識到,我們使用的電腦中運行有開源軟件,手機中運行有開源軟件,家里的電視也運行有開源軟件,甚至小小的數碼產品中也運行有開源軟件,尤其是互聯網服務器端軟件,幾乎全部是開源軟件。毫不夸張地說,開源軟件已經滲透到了我們日常生活的方方面面。