Sun微系统公司想要将Java推向开源代码领域,但仍然采取措施保证其免受负面影响。
上周三,位于加州的Santa Clara公司提到,公司将改变其许可策略以更为容易地使用Java源代码,但公司将拒绝使用开源代码的许可,虽然在很多情况下都需要使用开源代码。
至下个月,Sun公司将打算引入使用Java 2标准版本(Java 2 Standard Edition)的两种许可。Java 2标准版本的软件用于在桌面计算机上建立和运行Java程序,这一许可预计被使用在2006年推出的J2SE的“野马版本(Mustang edition of J2SE)。”
新许可的推出是Peabody工程程序代码的一部分,其目的是为编写代码之外的人拥有更多机会参与到J2SE的开发之中。由此Sun很好地控制J2SE的发展以及Java软件所有版本的许可的发展。
据Sun副主席Graham Hamition和他的队伍提到,Sun的这一改变将可以使得Java软件的公司和商业用户查看源代码、程序的改进、以及错误修正。
Sun的Java许可行动的用意很明显。提倡Java实行开源化的建议者解释到,不同的许可和开发过程将有助于加快使用Java,这样能够更好地面对其它Web开源脚本工具的竞争,比如PHP,微软的.Net工具。
Sun开发者产品小组主要技术官James Gosling说到,此刻仍选择不采用开放源代码授权模式,系因Sun 的商业客户担心Java“分叉” (forking),也就是衍生出一堆以Java为基础、但互不兼容的版本。
Gosling说:“商业用户或多或少对开源代码的不成熟表示不感兴趣和敌对情绪。” 他指出,除少数特例外,开放源代码产品所受的测试与兼容性认证,不如Java产品来得积极。
“我们现在努力在开源与非开源程序之间维持平衡。一方面营造出尽可能接近开放源代码的授权环境,同时也不辜负另一群人对互通性与兼容性的期待。” Gosling说到。
Burton Group的分析员Anne Thomas对Sun实行开源代码以更加容易使用的决策表示赞许。而Sun的一位前职员、长期提倡开源Java的Thomas Manes提到,Sun可以通过对Java商标的控制来防止Java不同版本的不兼容性。
“我认为这有进步,但仍只是在开放源代码概念外围闪躲,”她说:“这些论点充满恐惧、不确定性和疑虑(fear, uncertainty and doubt ;FUD)。”
Java王冠上的宝石
新的许可之一,称为Java的内部使用许可(Java Internal Use License),它的目标是使用Java开发商业应用的企业用户。JIUL,它的发音与"宝石(jewel)"相同,它可以使这些用户很容易查看代码并且消除一个Java应用所存在的问题,Hamilton说。
第二个许可,称为Java分布式许可,它意味着能够使Java软件供应商更容易与SUN进行联系,它本质上与已经存在的商业许可相同,Hamilton说它可能会被将来的J2SE版本所废弃。
Hamilton称为"一个实验"的许可,将会应用于将来的J2SE 版本上,但它适合服务器方的Java版本,也就是所谓的Java2 企业版或者J2EE,同时它也不适用于Java微型版或者J2ME。
Hamilton承认它的新许可为Sun 和Java用户带来了一些危险。公司将会实行"奖励系统",他还说,这样企业用户就可以向SUN提交补丁,而不是故意开发J2SE的不相容版本。
Sun正在研究一个改进的机制来接收由企业开发者或者学术界的研究人员所开发的补丁。同时它也在想办法来教育用户认识到对Java软件进行修改的所潜在的危险性。
Hamilton说,"如果他们对于开发他们自己版本的J2SE变得太热心的话,就会有很多让公司陷入麻烦的机会,所以我们认为告诉他们需要承担什么样的风险不是我们的工作"。