但在我看来,在java诞生之初,Sun做了一个堪称伟大的选择:把java的技术决策放在JCP这样一个相对民主的过程中制订,来自各方——包括大厂商、中小企业、开源组织、独立软件开发者等等——的利益代表在这个过程中彼此博弈,共同决定java的每一步进展。10年之后的今天,我们看到java是时下最流行的编程语言之一,J2ME在全世界的6亿部手机上运行,J2EE是企业级应用的首选。java在10年中一直稳步前进,我相信很大程度上应该归功于JCP的存在与正常运转。所以,当我们对java道一句“生日快乐”的同时,不妨同时问候一下JCP这位兢兢业业的保姆:10年来,干得不错。
JBoss在他们认定的“专业开源”道路上又迈出了新的一步:为用户提供知识产权保障(Indemnification)。这是一个法律术语,意思是假如某产品侵犯了别人的专利、版权或是商标,那么责任将由提供这产品的厂商(而不是使用它的消费者)来承担。一般来说,只有商业产品才会提供知识产权保障,别的主流开源协议——例如GPL、LGPL、APL、BSD——都没有提供,这也正是SCO能够起诉多家Linux用户的原因。而JBoss计划为他们的用户提供知识产权保障,使他们能够更加放心地将JBoss的开源软件用于商业用途——这正是JBoss“专业开源”的精要所在。不过,万事总是有利有弊,更强的知识产权保障同时就意味着更强的专有性:JBoss的开源社群不可能像Linux社群那样积极接纳来自各方的贡献。在JBoss这里,开放源代码更多地是一种推广产品和服务的策略,而不是推动产品发展的动力。
Ruby(http://www.ruby-lang.org/)在走过了“语言狂热期”之后,正式进入了“应用期”,标志就是Rails(http://www.rubyonrails.org/)的发布。Rails是一个基于Ruby的web应用框架,其中还带有一个O/R mapping工具。Rails的一大宗旨是“重视约定俗成胜于配置”,像Struts、Hibernate之类框架中80%的XML配置,在Rails中都体现为命名规范的约定俗成。遵循这一宗旨的直接效果就是使编写web应用所需的代码量大幅降低,Rails的fans宣称编写同样规模的web应用,Rails所需的代码量只相当于java框架的10%,并且性能还有15%~30%的提升。不论这是否出于对新品的狂热,Rails是Ruby走向企业应用的第一步,这是无庸置疑的。但作为脚本语言前辈的Python在推出企业应用框架Zope和Plone之后逐渐有点变得默默无闻的趋势,也许可以证明企业应用需要的不仅仅是“开发简便”这么一项特性。Rails是否会成为一个流行的web框架,还需要经受时间的检验。