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个项目你是如何看待的?是否认为有所遗漏?不妨在下面发表你的见解。
分享到:
相关推荐
【标题】:2011年开源CMS系统盘点 【描述】:本文主要盘点了2011年一些主流的开源内容管理系统(CMS),包括PHP、.NET两大平台的代表性系统,供用户参考选择。 【标签】:软件/插件,CS 【正文】: 在互联网的...
比如4.0.5表示主要功能稳定,5是次要更新,而20110520则代表该版本是在2011年5月20日发布的。在每个版本中,开发者会修复已知问题,增加新的特性,或者优化性能,以提供更好的用户体验。 通过研究这些版本的变更...
《2011年8月中国Android市场报告》是一份深度剖析当时中国Android生态环境的重要文献。这份报告聚焦于2011年8月这个时间点,揭示了Android在中国的普及情况、用户行为、市场趋势以及关键参与者的表现。通过分析这份...
这个压缩包很可能是包含了一个名为"itcastOA"的软件系统的源代码,该系统可能是在2011年进行了最后一次重大更新或发布。在IT行业中,源码是程序员用来构建和修改软件的原始代码,对于学习、分析和定制软件功能至关...
AATpackage-r03052011这个压缩包很可能是AAT软件的一个特定版本,发布日期为2011年3月5日。通常,这样的包会包含可执行文件、库文件、文档、示例数据和源代码等。用户在下载后,需要按照提供的安装指南进行编译和...
【Java程序员年终总结】 作为一名Java程序员,我在2010年的经历让...2010年,我在Java程序员的道路上迈出了坚实的一步,新的一年,我将继续深化专业技能,提升自我,以更全面的视角和更强的技术实力迎接2011年的挑战。
总之,2011年西安电子科技大学考研复试中的数据库部分涵盖了数据库基础理论、SQL语言、数据库设计、事务处理、安全性以及恢复机制等多个知识点。考生需要全面理解和掌握这些内容,才能在考试中取得好成绩。
《The Architecture of Open Source Applications》是一本关于经典开源软件架构的重要著作。该书由Amy Brown和Greg Wilson主编,并于2011年由Lulu.com出版。这本书的目标是改变软件开发者通常只了解自己所写的程序的...
4. **软件开发平台的选择**:软件开发平台方面,Linux因其开源性和灵活性成为最受欢迎的选择之一。此外,RTOS(实时操作系统)也是许多嵌入式项目中的常见选择。 5. **软件开发语言的使用**:C/C++是最常使用的编程...
由于是2011年的版本,它可能反映了早期的设计思路和实现方式,对于研究项目的历史发展和技术演变具有参考价值。 总的来说,OM开源万用表是一个结合了经典测量功能与现代技术的创新项目,它体现了开源社区的力量,为...
Activiti作为一个遵从Apache许可的工作流和业务流程管理开源平台,其核心是基于Java的超快速、超稳定的BPMN2.0流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务...BPMN2.0对比于第一个版本,其最重要
《PHP手册最新版中文版2011年1月7日九叔推荐》是一份极为重要的资源,由知名IT人士“九叔”于2011年1月7日推荐,旨在为PHP初学者和进阶者提供详尽且易懂的PHP语言学习资料。这份手册是中文版,更加贴近国内开发者的...
【标题】"echsop 2011一号店模板 2.7.2" 描述了一款基于ECSHOP平台的电商网站模板,专为2011年的一号店设计,版本号为2.7.2。ECSHOP是一款开源的PHP电子商务系统,广泛应用于搭建网上商城。这款模板可能是为了满足...
文档中也提到了Google在Android发展过程中的几个重要时间点,如2007年11月发布了第一款Android手机“HTC G1”,以及2008年10月开源了Android项目,2011年、2012年发布了多个版本的Android系统。 其次,文档中包含了...
期中考试是检测学生学习效果的重要环节,2011年清华大学的操作系统期中考试涉及到操作系统核心知识的考察,试卷内容覆盖了操作系统的基本原理、设计方法和实现技术等方面。这份试卷是针对计算机科学与技术系的本科生...
总结起来,这个更新涉及到飞诗工具箱的一个关键文件,它在2011年初获得了新的权限设定,但官方更新可能存在错误。用户可以通过非官方渠道,如用户群组,找到并安装正确的更新文件“Fsxm.VLX”。这个过程展示了软件...
这篇文档虽然标题为“2011年致女教师的三八节慰问信”,但其实它并不涉及具体的IT知识,而是属于社会人文领域的一篇节日慰问信。不过,我们可以从中提炼出一些与教育、职业女性以及感恩相关的主题,并联系到IT行业的...
Android 操作系统是 Google 公司开发的一款开源移动操作系统,自 2008 年发布以来,Android 已经成为全球最流行的移动操作系统之一。 Android 的发展历程可以分为以下几个阶段: Android 1.0(2008 年),Android ...
这些题目涵盖了计算机网络、计算机体系结构、操作系统、软件工程、数据压缩、网络协议等多个方面的知识点。 (1)“Pflops”的P代表10的15次方,所以2.507 Pflops意味着每秒钟2.507千万亿次浮点运算,即选项c)2.507...