自从Sun公司宣布Java开源以来已经过去一年的时间,在这一年中发生些了什么?虽然Java的最终用户可能已经开始对Java的开源感到怀疑,一年之后,那些专注于创建一个“繁荣”的开源Java社区的人们依然在努力的对其进行彻底改造。 在2006年11月13日Sun宣布Java开源之前就存在的开源Java社区,或者被整合到OpenJDK社区中,或者继续提供备选但更强大的代码方面的资源。同时在Sun内部,Java工程师在学习与一个更大的社区交互的同时正在彻底检查他们的程序。但是,问题依然存在,确切的说,这些问题包括OpenJDK的管理和替换阻碍Java开源代码的需要。不过,尽管你可以从网上经常搜索到对Java开源的批评,那些专注于Java开发的人们似乎依然保持乐观态度。 事情并非总是如此。社区迫使Sun发布Java源代码已有几年的时间,而且当Sun最终确实这样做的时候,人们却对Java的开源却持谨慎看好的观点,尤其是只有一部分代码被发布。在2007年2月的自由与开源软件开发者欧洲会议上,当社区开发者和Sun工程师首次会面的时候,某种程度的Java开源社区就已经形成雏形。但是,据Sun的Java首席工程师Mark Reinhold表示,直到六个月后的JavaOne大会上多数其余Java代码被发布后,这个社区才真正开始形成。 Reinhold表示,Java开源的过程从某种程度上来说比较轻松,因为事实上Sun此前就已经发布过部分源代码,尤其是针对OpenOffice.org和OpenSolaris开源项目。“我从OpenSolaris项目中的人们那儿学到很多,”Reinhold表示。他还回忆道,Java研究许可(Java Research License,JRL)曾经被批评为Sun回避完全发布Java源代码的方式,但对于Sun的员工来说它实际上就是一次模拟训练,帮助他们学会与外界进行交互。 Java开源之成长的烦恼 在过去的一年中,Java开源社区的成长总体来说比较小,Reinhold表示,不过他又补充说,鉴于社区先于Java开放源代码就已经存在,鉴于社区要求人们贡献更高级别的专家意见,他对社区的这种成长幅度并不感到意外。 一个例外是Java移动和嵌入式社区,这是一个伴随Sun宣布开源Java而创建的社区。Sun公司负责Java技术开发的专家Terrence Barr表示,在过去一年中这个社区已经发展的具有500名注册的志愿者,同时还有很多其他方面的发展。“在这个社区中我们已经收获了许多开发者的想法,”Barr表示,“这种活跃性是你在业界任何其他地方所不能发现的,我们对此感到非常自豪。” 同时,对于那些奋斗了数年来通过反设计来实现一个免费的Java实现的人们来说,将不得不使自己适应一个完全不同的环境。虽然有些人因为个人原因拒绝参与OpenJDK项目,他们甚至不愿意签订Sun捐赠协议(Sun Contributor Agreement,SCA),但是其他人则已经热情的接受了这种已经改变的现实。最高级的免费Java实现之一Kaffe项目的首席研发人员Dalibor Topic,现在已经成为Open JDK临时管理委员会中的一员。 类似的情况,GNU Classpath项目并没有像有的人预测的那样逐渐淡出,它依然是一个主要的Java项目,为Sun没有公布的许多代码提供备选方案,同时还提供为Sun的商业Java代码中某些部分提供一些节省资源和空间的备选方案。 事实上,根据Classpath的开发者Michael Koch表示,Classpath长期建立起来的社区已经成为Sun的最强大的同盟者和建议者之一。“Sun与Classpath社区的人们经常交流如何在开源社区中发展,”Koch表示。 在Sun公司内部,开发者也一直在努力进行自我调整。“Sun的首席开源官员Simon Phipps经常提到的一点是,”Reinhold表示,“当你将曾经的专有内部技术团队转向开放开发的时候,正确的模式不是‘现在我们要开始创建一个我们公司之外的社区,然后找出与它们交互的正确方式。’” “正确看待它的方式应该是,在此之前一直以封闭方式运行的技术团队就是最初的社区。扩展这个社区的任务就是为那些想加入进来的外部人员创建一个桥梁,培训那些希望了解Java技术标准和过程的公司之外的人,并且改变最初技术团队的某些行为,这样他们可以通过一个更加开放和透明的方式进行合作。这实际上是一个在现有基础上进行改造和完善的过程,而不是重新打造一个全新的东西。” Topic对此表示同意。“就我们的这些问题的本身而言,主要是由于在Sun内部的某些基础体系必须被取代,新的体系要同时支持Sun和社区的开发者来研究JDK。这种规模的项目通常要花费一些时间来合适的完成。仅仅讨厌这种转变是不会有任何作用的。” |