來源:open-open
2011年是一個開源專案標誌性的一年。正因如此,挑選 10 個最重要的是相當困難的。要判斷的重要性,應該是影響深遠,並且日益普及的專案,或在新領域中的技術佼佼者。
首先出場的是Hadoop,毫無疑問這個來自 Apache 基金會的分散式計算平臺當得起“重要”二字,在過去的一年中這個由 Yahoo 發起的專案正在為包括 Amazon、IBM、Twitter、Facebook 等公司所使用。
儘管不是一個新專案,但 Hadoop 已經成為事實上的分散式計算標準。
Git 已經無所不在了,不是嗎? Linus Torvalds 不只是對 Linux 作業系統有貢獻,他也讓更多的開源專案變得流行起來,在分散式版本控制上,使用 Git 會比其他解決方案更可靠。
Git是一個開源的分散式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。
Git 是 Linux Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。
Torvalds 開始著手開發 Git 是為了作為一種過渡方案來替代 BitKeeper,後者之前一直是 Linux 核心開發人員在全球使用的主要原始碼工具。開放原始碼社群中的有些人覺得 BitKeeper 的許可證並不適合開放原始碼社群的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統。儘管最初 Git 的開發是為了輔助 Linux 核心開發的過程,但是我們已經發現在很多其他自由軟體專案中也使用了 Git。例如,X.org 最近就遷移到 Git 上來了,很多 Freedesktop.org 的專案也遷移到了 Git 上。
Git與CVS的區別
分支更快、更容易。
Git 中的每個工作樹都包含一個具有完整專案歷史的倉庫。
沒有哪一個 Git 倉庫會天生比其他倉庫更重要。
Git 不只是一個受歡迎的工具,還有一個基於 Git 的開源軟體社群 GitHub,這跟包括 Gitorious、SF、Google Code 專案託管平臺類似,但遠不止於此。
Cassandra 獲得了 2011 最佳 NoSQL 解決方案獎項,
Apache Cassandra是一套開源分散式Key-Value儲存系統。它最初由Facebook開發,用於儲存特別大的資料。Facebook目前在使用此係統。
主要特性:
分散式
基於column的結構化
高伸展性
Cassandra的主要特點就是它不是一個資料庫,而是由一堆資料庫節點共同構成的一個分散式網路服務,對Cassandra 的一個寫操作,會被複制到其他節點上去,對Cassandra的讀操作,也會被路由到某個節點上面去讀取。對於一個Cassandra群集來說,擴充套件效能 是比較簡單的事情,只管在群集裡面新增節點就可以了。
Cassandra是一個混合型的非關係的資料庫,類似於Google的BigTable。其主要功能比 Dynomite(分散式的Key-Value存 儲系統)更豐富,但支援度卻不如文件儲存MongoDB(介於關聯式資料庫和非關聯式資料庫之間的開源產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫 的。支援的資料結構非常鬆散,是類似json的bjson格式,因此可以儲存比較複雜的資料型別。)Cassandra最初由Facebook開發,後轉 變成了開源專案。它是一個網路社交雲端計算方面理想的資料庫。以Amazon專有的完全分散式的Dynamo為基礎,結合了Google BigTable基於列族(Column Family)的資料模型。P2P去中心化的儲存。很多方面都可以稱之為Dynamo 2.0。
和其他資料庫比較,有幾個突出特點:
模式靈活 :使用Cassandra,像文件儲存,你不必提前解決記錄中的欄位。你可以在系統執行時隨意的新增或移除欄位。這是一個驚人的效率提升,特別是在大型部 署上。
真正的可擴充套件性 :Cassandra是純粹意義上的水平擴充套件。為給叢集新增更多容量,可以指向另一臺電腦。你不必重啟任何程式,改變應用查詢,或手動遷移任何資料。
多資料中心識別 :你可以調整你的節點佈局來避免某一個資料中心起火,一個備用的資料中心將至少有每條記錄的完全複製。
一些使Cassandra提高競爭力的其他功能:
範圍查詢 :如果你不喜歡全部的鍵值查詢,則可以設定鍵的範圍來查詢。
列表資料結構 :在混合模式可以將超級列新增到5維。對於每個使用者的索引,這是非常方便的。
分散式寫操作 :有可以在任何地方任何時間集中讀或寫任何資料。並且不會有任何單點失敗。
LibreOffice 是一套自由的辦公軟體,它可以在Windows、Linux、Macintosh平臺上執行,本套軟體共有六個應用程式供您使用,包括:Writer、 Calc、Impress、Draw、Math、Base。在過去一年中,LibreOffice 團隊做了大量的工作,讓你在 Sun 被 Oracle 收購之後仍有一個放心的相容 OpenOffice 的辦公軟體可使用。LibreOffice 不斷的釋出新版本,這不只是新功能的釋出,還讓 LibreOffice 越來越穩定和可靠。
雲端計算可算是2011最熱的技術領域之一了,OpenStack 是由 Rackspace 和 NASA 共同開發的雲端計算平臺,幫助服務商和企業內部實現類似於 Amazon EC2 和 S3 的雲基礎架構服務(Infrastructure as a Service, IaaS)。
OpenStack 包含兩個主要模組:Nova 和 Swift,前者是 NASA 開發的虛擬伺服器部署和業務計算模組;後者是 Rackspack 開發的分散式雲端儲存模組,兩者可以一起用,也可以分開單獨用。OpenStack 是開源專案,除了有 Rackspace 和 NASA 的大力支援外,後面還有包括 Dell, Citrix, Cisco, Canonical 這些重量級公司的貢獻和支援,發展速度非常快,有取代另一個業界領先開源雲平臺 Eucalyptus 的態勢。
Nginx 終於在今年釋出了 1.0 版本,同時也完成了商業化過程。而且根據最新的 Netcraft 的統計報告,Nginx 的市場份額已經達到 8.85% ,已經儼然成為 Web 伺服器中的老三,而且發展迅速。
Nginx(發音同 engine x)是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。由俄羅斯的程式設計師Igor Sysoev所開發,最初供俄國大型的入口網站及搜尋引擎Rambler(俄文:Рамблер)使用。 其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同型別的網頁伺服器中表現較好
現在已經比較難找到一個不使用 jQuery 的 Web 開發人員了,已經成為最受歡迎的 JavaScript 了,而且 jQuery 有著其他 JS 難以超越的地方就是它有一個龐大的外掛庫,有大量的開發人員在為 jQuery 編寫擴充套件和外掛。
Node.js 是一套用來編寫高效能網路伺服器的JavaScript工具包,一系列的變化由此開始。比較獨特的是,Node.js會假設你是在POSIX環境下執行它 Linux 或 Mac OS X。如果你是在Windows下,那就需要安裝MinGW以獲得一個仿POSIX的環境。在Node中,Http是首要的。Node為建立http伺服器 作了優化,所以你在網上看到的大部分示例和庫都是集中在web上(http框架、模板庫等)。
Puppet,您可以集中管理每一個重要方面,您的系統使用的是跨平臺的規範語言,管理所有的單獨的元素通常聚集在不同的檔案,如使用者, CRON作業,和主機一起顯然離散元素,如包裝,服務和檔案。
Puppet的簡單陳述規範語言的能力提供了強大的classing制定了主機之間的相似之處,同時使他們能夠提供儘可能具體的必要的,它依賴的先決條件和物件之間的關係清楚和明確。
Linux
今年是 Linux 20週年,同時釋出了首個 3.0 版本,而後版本一直飆升,大量的商業公司參與核心開發。20週年、3.0 版本,這兩點讓 Linux 當選 2011 年最重要的開源軟體之一,應該沒有什麼質疑。
有人可能會說Android也很重要,但有不少人質疑 Android 的開源性質,質疑的人稱 Android 是一個程式碼開放的專案,而不是一個開源專案。