Scripting language support and whether Java needs to be open sourced
I came across this article Former Sun Exec Calls for Firm to Open-Source Java which is repeating yet another in the series of calls for Sun to open source our Java implementation. The article itself is examining a blog posting by Peter Yared, An Open Letter to Jonathan Schwartz. I absolutely cannot comment on the call for open sourcing Sun's Java implementation, so I won't. However there is a part I want to examine a bit.
Peter Yared claims The "P" languages in LAMP -- PHP, Python, and Perl -- are all open source, and each provide their own virtual machine. It would be ideal if the Java JVM was open source so that open source projects like PHP could join up with the Java Virtual Machine.... Initiatives like adding dynamic language support in the JVM will not go far if Java can not meet existing languages on a common ground of open source.
Is he really saying that since Sun's Java isn't open source, therefore an open source project can't use Sun's Java. Huh?
What about all those zillions open source projects that are implemented in Java?
A dynamic language using the Java VM for execution would be just like all the other open source projects implemented in Java.
There's an existance proof of many languages already existing which use the JVM for execution. Kawa, an implementation of Scheme, for example. And, more to the point, is JRuby and Jython, both implementations of a 'P' language (lumping Ruby with the 'P' languages even though its name starts with 'R').
So why is it a requirement that Sun's Java be open sourced to support dynamic languages?
I wrote a blog entry about this awhile ago. With the "dynamic language support" coming into Java it's becoming even easier to glue other langauges into the Java VM environment. It offers to a language designer a big shortcut. No longer do they have to invent a language and write an interpreter, they can use the Java VM for their interpreter and focus on the language design. And, for a language designer, the language design is probably where their interest lies.
I think it's too early in the game to be predicting the dynamic language support will be a failure. The Java release this feature is riding on, Mustang, isn't even finished yet.