是否有任何活动项目来构建Java和JVM的开源替代品?
在我看来,要更换JVM,新项目至少需要在虚拟机之类的东西上运行并且是跨平台的。
我知道有些人对Oracle现在拥有Java的事实感到不满意,但我想知道这种不满是否足以支持完整的Java / JVM替代项目。
答案 0 :(得分:4)
我不太清楚这里有什么问题。 “Java和JVM的开源替换”没有多大意义,因为术语“开源”通常是指软件,但Java和JVM不是软件,它们是规范。
如果您询问Java和JVM规范的开源实现,那么已经有很多这些。没有必要建立一个。然而,有一些丑陋的许可证限制可能会使这些实现称为“Java”或“JVM”是非法的。
如果你问的是提供Java和JVM替代品的开放标准,那么一套这样的标准就是ISO / IEC 23270又名ECMA-334又名C#和ISO / IEC 23270,23271,TR 23272,TR 25438又名ECMA-335又称CLI。通常也称为.NET。
它们与Java和JVM具有相似的范围和目标,主要区别在于它们由两个着名的独立国际标准机构作为开放标准发布,而Java和JVM规范是由定制标准机构发布的专有标准。由一家公司拥有。
与Java和JVM一样,有开源实现(好吧,一个开源实现)。
答案 1 :(得分:3)
有OpenJDK和Apache Harmony - 问题是这些仍然依赖于Oracle,因为兼容性测试套件不是免费的,因此如果没有Oracle的支持,开源项目就不能正式兼容Java。此外,正如Oracle /谷歌对Dalvik VM的诉讼中所见,存在专利问题。
至于Java语言和VM的替代:对于这样的事情来说,要获得足够的牵引力来成为一个严肃的选择是非常困难的。我怀疑,面对像Python和Ruby这样的长期生态系统,全新的努力将会有真正的机会。
答案 2 :(得分:2)
大部分Java已经(自'06 / '07开始)由Sun / Oracle开源为OpenJVM。对于那些没有的部分,RedHat的IcedTea项目提供了完整的GPL替换。