开源技术一直是软件开发社区的宠儿,不论是从项目数量还是质量上,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\u0026amp;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中文站也将技术密切关注开源!