最美H5 酷站欣赏 UI素材 专题 设计导航

总结2011年10个最重要的开源软件

2011年是开源领域标志性的一年。正因如此,挑选 10 个最重要的开源项目反倒相当困难。要判断一个开源项目的重要性,其标准应该是影响深远,并且日益普及,或者是新领域中的技术佼佼者。

1.?Hadoop

首先出场的是Hadoop,毫无疑问这个来自 Apache 基金会的分布式计算平台当得起“重要”二字,在过去的一年中这个由 Yahoo 发起的项目正在为包括 Amazon、IBM、Twitter、Facebook 等公司所使用。

Hadoop并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。下图是Hadoop的体系结构:

尽管不是一个新项目,但 Hadoop 已经成为事实上的分布式计算标准。

2.?Git

Git 已经无所不在了,不是吗? Linus Torvalds 的这个小业余爱好不仅让Linux从中受益(Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件),也让更多的开源项目变得流行起来。在分布式版本控制上,使用 Git 会比其他解决方案更可靠。

在Git之前,BitKeeper一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如,X.org 最近就迁移到 Git 上来了,很多 Freedesktop.org 的项目也迁移到了 Git 上。

Git 不仅是一个受欢迎的工具而已,它也是GitHub的基础——目前Web上最流行的开源项目聚集平台之一。其他托管平台如Gitorious、SF、Google Code Hosting等也添加了Git支持。

3.?Cassandra

如果要评选今年的十大开源热门词汇的话,Apache Cassandra理应能够占据一席。Cassandra 获得了 2011 最佳 NoSQL 解决方案奖项。

Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。Cassandra从Amazon的Dynamo以及Google的BigTable中得到启示。它是一个网络社交云计算方面理想的数据库,以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型,P2P去中心化的存储,很多方面都可以称之为Dynamo 2.0。

4.?LibreOffice

LibreOffice 是一套自由的办公软件,它可以在Windows、Linux、Macintosh平台上运行,该软件共有六个应用程序供您使用,包括:Writer、Calc、Impress、Draw、Math、Base。

在过去一年中,LibreOffice 团队做了大量的工作,让你在 Sun 被 Oracle 收购之后仍有一个放心的兼容 OpenOffice 的办公软件可使用。LibreOffice 不断的发布新版本,这不只是新功能的发布,还让 LibreOffice 越来越稳定和可靠。

5.?OpenStack

云计算可算是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 的态势。

6.?Nginx

Nginx 终于在今年发布了 1.0 版本,同时也完成了商业化过程。根据最新的 Netcraft 的统计报告,Nginx 的市场份额已经达到 8.85% ,已经俨然成为 Web 服务器中的老三,而且还在迅速发展。

Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。

7.?jQuery

现在已经很难找到一个不使用 jQuery 的 Web 开发人员了。jQuery已成为最受欢迎的 JavaScript 库,而且它有着其他 JS库难以超越的地方,就是它有一个庞大的插件库,有大量的开发人员在为 jQuery 编写扩展和插件。

8.?Node.js

Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始。比较独特的是,Node.js会假设你是在POSIX环境下运行它(Linux 或 Mac OS X)。如果你是在Windows下,那就需要安装MinGW以获得一个仿POSIX的环境。在Node中,Http是首要的。Node为创建http服务器作了优化,所以你在网上看到的大部分示例和库都是集中在Web上(http框架、模板库等)。

Node.js是今年开源产品进入行业应用的另一个赢家,它获得了知名云计算服务提供商Joyent的资助。其他知名企业如LinkedIn、37Signals、Rdio、Yahoo及GitHub等也将Node.js用于它们的产品。

9.?Puppt

Puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如Google利用Puppet管理超过6000台的Mac桌面电脑(2007年数据)。

Puppet让系统管理员社区拥有一个可以相互交流和共享成熟的工具,避免重复的劳动。它通过以下两个特性来实现这一目标:1)提供一个简洁的但是强大的框架来完成系统管理任务;2)系统管理任务可以描述成puppet语言,因此可以相互分享代码,就像分享其他语言的代码一样,比如python、C等。

10. Linux

今年是Linux 20周年,同时发布了首个 3.0 版本,而后版本一直飙升,大量的商业公司参与内核开发。20周年、3.0 版本,这两点让 Linux 当选 2011 年最重要的开源软件之一,应该没有什么质疑。

没有Android?

在制作这份名单的时候,对于Android是否应该放进去我也考虑了良久。有人可能会说Android很重要,但也有不少人质疑 Android 的开源性质,称 Android 是一个代码开放的项目,而不是一个开源项目。对这10个项目你是如何看待的?是否认为有所遗漏?不妨在下面发表你的见解。