开源技术一直是软件开发社区的宠儿,不论是从项目数量还是质量上,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 Ingersoll 和 Ted 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 联合 Google 在 http://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 中就有 Deltacloud 与 libCloud ,他们会分别提供“一个 API,用来抽象出不同云中的差异性”以及“针对云的统一接口”。因此,如果一个云项目很好,那么两个肯定就更好了,那 3 个如何呢?不久我们就能知道答案了,因为 Nuvem 项目不久之后也将进入到 Apache 孵化器阶段。
展望 2011 年,开源技术同样值得众人期待,我们希望看到国内外软件开发社区在充分利用开源力量的同时,对开源技术的发展提供更多支持,InfoQ 中文站也将技术密切关注开源!
评论