2010 年 InfoQ 中文站开源技术总结:Made in China

  • 崔康

2011 年 1 月 10 日

话题:JavaSOA敏捷.NETRuby开源JavaScript架构Apache云计算DevOps语言 & 开发文化 & 方法

开源技术一直是软件开发社区的宠儿,不论是从项目数量还是质量上,2010 年的开源事件都给了我们太多惊喜,这些惊喜很大程度上来自于国内开源的繁荣和进步,InfoQ 中文站对此做过详细的报道。岁末年初,我们汇总了 InfoQ 中文站在 2010 年开源技术新闻和文章的精华内容,让大家对过去一年的开源动态有一个整体的把握。

开源 Made in China

2010 年开源动态中最给力的莫过于国内社区对开源的支持了,越多越多重量级的国产开源项目进入我们的视线,特别是许多企业开始将自己的项目开源,与社区分享。

淘宝开源平台自 6 月底上线以来,引起了国内社区的广泛关注。目前,平台已经发布了若干开源项目,其中不乏来自于淘宝之外的项目在此落户。为了使国内开发社区的朋友对淘宝开源平台有进一步的了解,InfoQ 中文站对平台的负责人残剑(全佳营)进行了专访。

Simpleframework 利用 MVC2 实现关注点分离,利用组件复用实现缩短周期、节约成本、提高质量等目的。3.0 版已经发布,它包含核心组件库、基本组件库、业务组件库和扩展组件库。InfoQ 有幸采访了 SimpleFramework 的开发团队。

Tair 是由淘宝网自主开发的 Key/Value 结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和 Tair 交互。Tair 于 2010 年 6 月 30 号在淘宝开源平台上正式对外开源,本文较详细地介绍了 Tair 提供的功能及其实现的细节,希望对大家进一步了解 Tair 有所帮助。

Ralasafe是一款国产开源数据级权限管理中间件,使用MIT 协议。项目采用 Java 语言编写,解开权限与业务的耦合,将权限策略集中管理,并使用图形化的管理模式。InfoQ 中文站就 Ralasafe 的应用场景、技术架构和未来规划等问题对项目负责人汪金保进行了专访。

天涯社区最近开发了一款数据引擎——Memlink,并将其开源。对于为什么会出现这样一款开源项目、它的能力和市面上的其他款同类型项目相比有怎样的优势,InfoQ 中文站特地采访了天涯社区在北京研发中心的技术负责人冯勇先生。

目前,国内自主研发的文件系统可谓凤毛麟角。淘宝在这一领域做了有效的探索和实践,Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据存储。TFS 已经在淘蝌蚪平台上正式开源,采用GNU General Public License v2授权。

2000 年 12 月 28 日,Huihoo.com 上线。从此,灰狐(Huihoo)开始了它的互联网之旅。Huihoo 是一个自由开放(Free&Open)的社区,也是一个自由开放的服务公 司,Huihoo 将所有的研究、开发、服务都放在与自由开放相关的技术和项目上。Huihoo 重点关注开源企业软件、开源客户端软件、开源软件分发三个主要发展方向,帮助企业和个人更好的使用自由和开源软件,提高生产力。2010 年末,灰狐迎来了 10 岁生日。在献上衷心祝福的同时,我们也应该看到中国开源事业正在蓬勃发展。

开源工具

不要说你从来没有使用过任何一款开源工具,从个人生活到日常办公,开源工具遍布于你的整个空间,你需要它。

有关机器学习的开源项目 Apache Mahout 三月份的时候推出了它的 0.3 版本,这个新版本在之前的基础上添加了一些新功能,比之前的版本更为稳定,性能也有相应的提升。InfoQ 采访了 Apache Mahout 项目的开发者Grant IngersollTed Dunning,其中 Grant Ingresoll 也是该项目的创始人之一。

Yahoo 最近在其开发者博客上发布了一款开源网络分析工具TCP Traffic Analyzer(yconalyzer),读者可以借此分析网络应用在服务器端与客户端之间的运行状态。Yahoo 公司内部使用 yconalyzer 分析来自世界各地(通过 HTTP、POP、IMAP 和 SMTP 协议)的网络通信,其工作原理是利用开源libpcap包从网络驱动中抓取数据包,并通过限制数据过滤条件来最小化系统资源(如 CPU)的消耗,使该监控软件不会影响真正的网络应用。

在 11 月 5 日举办的波士顿举办的首届 F# in Education Workshop 大会上,F# 的发明者,微软剑桥研究院主任研究员 Don Syme 宣布,F# 2.0 的编译器及核心类库已经随F# PowerPack项目开源,使用 Apache 2.0 授权协议。如今 F# PowerPack 项目已经包含了完整的编译器、标准库、工具及扩展类库的源代码。

jsoup 是一款开源的 HTML 解析工具包,采用 Java 语言编写,通过精巧的 API 充分利用 DOM、CSS 和类 jquery 的方法抽取和操作数据。8 月份,jsoup 1.3.1 正式发布,对上一版(1.2.3)做了重要更新,包括完成自主实现(无外部依赖)、改进 Web 连接方法等。

Adobe 向社区发布了 Puppet recipes,该工具用于自动化 Hadoop/HBase 的部署工作。InfoQ 有幸采访到了 PuppetLabs 的创建者 Luke Kanies 以了解更多信息。

Node.js 开源项目致力于提供一套编写高性能并发 Web 应用的 JavaScript 框架,采用MIT 授权协议,自诞生以来引起越来越多的关注。最近,Node.js 正式获得知名云计算服务提供商Joyent的资助, 其项目负责人 Ryan Dahl 也加盟了 Joyent,预计 Node.js 将在企业级应用中获得更多机会。

长久以来,在.NET 平台上只能通过JScript.NET执行ECMAScript/JavaScript 代码,但是该项目一直是.NET 语言中的二等公民,甚至Mono 中的对应项目也已经无人维护。不过在 JScript.NET 逐渐淡出人们视线的时候,.NET 平台上也出现了一些新的 JavaScript 执行引擎,虽不完善,但值得关注。

Eclipse Labs 联合Googlehttp://www.eclipselabs.org/上托管了 Google Project Hosting 的一个实例。其目标是为所有有志于编写 Elipse 插件(或 OSGi 绑定)的开发者们提供一个开源代码的统一托管点,他们不再需要在多个代码提供商处分散地托管代码。一般来说,缺省的许可证是EPL,但是在创建项目时也可以选择其他开源许可。值得一提的是GPL与非 GPL 插件系统不兼容,这就解释了为什么几乎不存在基于 GPL 的 Eclipse 或 OSGi 绑定。

YUI 是一款企业级的 JavaScript 开发工具包,被广大 Web 前端工程师所熟知和采纳。不论是采用哪种框架,构建的 Web 应用在不同浏览器上的测试通常是一件令人头痛的事情。最近,Yahoo 开发团队推出了开源 YUI 跨浏览器测试工具 Yeti,相信 Web 开发和测试人员会从中受益。

云计算与开源

云计算越来越热,开源自然不能冷眼旁观,云计算利用开源前进,开源又借助云计算深入人心,一举两得!

三个事件在开放性和标准方面体现了云生态环境的演变。Red Hat 已经将其 Deltacloud迁移到了 Apache 的孵化器;Rackspace 公司宣布开源 OpenStack 项目;分布式管理任务组(DMTF)最近发布了两个文档──“管理云的架构”和“管理云的用例和交互是奠定 DMTF 下一步工作的基础;命名 API 工作组来为基础设施即服务起草 API”。

Rackspace 以 Apache 2.0 许可证将其云计算平台代码开源,这是OpenStack计划的一部分。NASA 也将其 NASA Nebula 云计算平台背后的技术贡献了出来。

在这个深受开源影响的时代中,与云相关的项目层出不穷。在 Apache 中就有DeltacloudlibCloud,他们会分别提供“一个 API,用来抽象出不同云中的差异性”以及“针对云的统一接口”。因此,如果一个云项目很好,那么两个肯定就更好了,那 3 个如何呢?不久我们就能知道答案了,因为Nuvem 项目不久之后也将进入到 Apache 孵化器阶段。 

展望 2011 年,开源技术同样值得众人期待,我们希望看到国内外软件开发社区在充分利用开源力量的同时,对开源技术的发展提供更多支持,InfoQ 中文站也将技术密切关注开源!

JavaSOA敏捷.NETRuby开源JavaScript架构Apache云计算