Мне не совсем понятно, о чем здесь спрашивают.«Замена открытого исходного кода для 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, существуют реализации с открытым исходным кодом (ну, one реализация с открытым исходным кодом).