本周,SUN对外公布了其下一代台式机桌面应用程序Mustang的源代码,这标志SUN公司向Java软件的开源过程又迈进了一步。
该软件和服务器厂商早前已在其网站上公布了J2SE6.0(Java 2 Standard Edition)源码的早期版本。SUN公司副总裁Graham Hamilton介绍说,这样有助于Java程序员更好地了解并参与到J2SE的开发过程。
Graham Hamilton说:“Java程序员希望了解工作的进展,同时他们也很希望给出反馈和建议。现在我们所公布的源码是极为早期的,处于雏形阶段的版本,”。
据Hamilton透漏,Java 6将于2006年上半年推出。
SUN 的最终目标是希望外部开发人员能参与到Java的开发过程。具体方式是:外部企业组织通过JCP(Java Community Process,Java标准制定组织)共同设定Java议题,再由JCP投票决定那一些Java特性,即APIs(Application Programming Interfaces,应用程序接口),需要被添加进Java6。
Hamilton介绍说:“当我们开始API设计时,由于有其他JCP成员的参与,使我们开发的APIs的性能很好。现在我们也想将这种方式引入到J2SE的源码开发中。更多的关注和参与会提高产品的质量。”
长期以来,SUN致力于在开放Java源码和防止外来人员随意篡改源码之间取得平衡。该开源举措,是SUN的最新一次策略调整。SUN的头号敌人就是获得授权的微软。微软在Java中添加了Windows特有的功能,这严重损害了Java的基本宗旨,即使同一软件可自由运行于不同的计算机平台。
虽然SUN和微软的纠纷已通过法律诉讼加以解决,但同时开源运动的倡导者们又对SUN拒绝放弃对Java的完全控制权而怒不可遏。两者在Java开源问题上已纠缠多年。
SUN的管理者们曾经表示不希望将Java源码公开。而今,Java已实现部分开源,SUN同时还表示到明年六月,其余源码也将陆续公开。
在2003年,SUN引入了Java资源授权协议(Java Resource License)以鼓励多方参与。只要签署该协议,就可获得Java源码。
SUN在Java开发上已吸取很多外部贡献者的研究成果,如计算机学教授Doug Lea在线程(即可同时执行的指令序列)交互方面的研究。但SUN还希望有更多的贡献者参与进来。
为提交其代码,程序员需将代码版权转移给SUN。Hamilton预测最大的障碍是观念上的差异。外部程序员想方设法向SUN程序员说明其代码的标准性,而SUN的程序员则向外部程序员介绍Java代码质量评定过程中的要点。
Hamilton说SUN已了解到外界抱怨最新版的Java(代号为“虎”,Tiger)中有太多的东西没有公开。
对此,Graham的解释是“Tiger工程非常巨大,我们在黑暗中摸索的时间太长以致疏漏了很多信息而没有公开。现在我们在努力将其透明化,以便开发者们能每星期都了解到工作的进展情况。”
Mustang的特色
SUN也稍稍透漏了一下Mustang中的改进情况。
J2SE首席工程师Mark Reinhold介绍说:“该新版本更易于管理,可向外部管理软件公开信息以便其制定控制决策。同时更易于发现问题。其‘按需加挂’(attach on demand)功能可实现在软件运行期间进行调试,而不必像从前一样,软件调试要在软件启动前进行。”
据Hamilton介绍,另一项功能是对名为WS-I的基本Web服务功能集的支持。该基本功能集是由Web服务互操作组织(Web Services Interoperability organization)制订的Web基本服务标准。SUN计划在Tiger中添加该功能。
Reinhold介绍说,Mustang将与GUI(Graphical User Interfaces,图形用户界面)更好地集成,包括对即将发布的新版Windows操作系统Longhorn的支持。