Testing Mono's compatibility

Jeff Garland jeff at crystalclearsoftware.com
Thu Sep 14 07:39:42 MST 2006


Joseph Sinclair wrote:
> der.hans wrote:
>> Am 13. Sep, 2006 schw�tzte Josh Coffman so:
>>
> <<snip>>
>>> What is the history of the Java VM? I personally don't
>>> know. Did Sun implement it for every platform? Or were
>>> some platform VM's implemented outside of Sun?
> <<snip>>
>> Pertinent to Josh Z's point, I think, is that Java is now under the
>> control of a standards body and Sun no longer controls it. That means Sun
>> can't yank the rug out from under a Free Software group that implements
>> compilers and VMs for the Java language. I'm not sure Beans, etc. are
>> open standards.
>>
> <<snip>>
>> I might not correctly understand the situation. Until recently I did not
>> know that Java was under the control of a standards group that isn't
>> controlled by Sun.
>>
>> ciao,
>>
>> der.hans
>>
> Just to clarify, all of the Java platform standards(J2SE, J2EE, J2ME, and all their components) 
> are based on JSR's (Java Specification Request).  All of which are vetted by the Java Community 
> Process (JCP) which is an independent(although Sun provides program management and some legal 
> support) organization that controls and manages the Java platform specifications (www.jcp.org). 
> JCP Executive Committee members include, among others, HP, Google, Oracle, Apache, Intel, Sony, 
> Samsung, and IBM, some of whom have pledged to ensure that the JSR's remain available for all 
> compatible implementations.  With that much corporate muscle behind the JCP, it's highly 
> unlikely that Sun could ever successfully pack up Java and carry it away, even if they wanted to.
> All "standard" elements of the Java platform are controlled by the JCP.  The only thing Sun still 
> owns in total is the Java trademark (which they have pledged to use only to maintain the "write once 
> run anywhere(r)" promise, much as Linus pledges to use the Linux trademark only to promote GNU/Linux).
> 
> With Sun promising to open-source their JVM, GNU classpath rapidly approaching a complete implementation 
> at least through version 1.4 under LGPL with a special exemption, and Harmony and other independent 
> Free/Open JVM implementations now on par with the Sun implementation, worries about Java being "non-free" 
> should be largely assuaged.
>
> BTW, Sun never could "yank the rug out from under" a free software group implementing a JVM, the original 
> Java specification was released with a license that was very similar to the Adobe PDF license (i.e. you can 
> create anything you want, but if you want to call it Java, it has to implement the spec correctly).  The big 
> sticking point, until 2002, was that the compatibility test(TCK) required to call something "Java" was(still is) 
> incredibly expensive.  In 2002 the JCP changed their member agreements and policies to ensure that only commercial 
> implementors had to pay full price for the TCK, and adding language to ensure that ALL JSR's were licensed in a 
> manner that would be amenable to Free/Open software implementations.
 >
> I won't say that it's completely impossible for Sun to make a mess of the Java Platform at this point (they could 
> probably force a rename and fork if they wanted to), but they've proven themselves a good member of the Free/Open 
> community over the past 8 years (OpenSolaris, OpenOffice, Tomcat, OpenDocument, now Open Source Java), and have 
> earned, IMO, a bit of trust.


Well I'm going to have to disagree with these conclusions.  Sun's in the 
driver seat with Java and will use it however it best suits their commercial 
interests. At one point they said they would submit to an international 
standards body, but they went back on that pledge when they realized they 
would lose control. JCP was the compromise which, in reality, gives them the 
final say. Yes, there's lots of other industry in there with them so it makes 
it less likely from a practical point of view that they can do anything they 
want, but no telling what a desperate company (and Sun qualifies here) might 
do -- maybe sell the rights to someone else.  Say someone that wants to 
enforce some patent that Sun has related to Java.  Someone that has other 
ideas....like maybe MS -- just to pick one (my real guess is that it will be 
IBM -- and yes, I think it will happen).

As for MS stuff not being 'standard', well that isn't true either.  C# has 
been turned over to ECMA for standardization:

http://www.ecma-international.org/publications/standards/Ecma-334.htm

Now, one can debate about why MS did this and whether ECMA is a good enough 
standards body.  And it's debatable whether anyone pays attention (take 
JavaScript which is an ECMA standard, but hardly any vendor really implements 
the standard).  But then again it took MS years to come close to the C++ 
standard as well.

Here's the bottom line for me.  There are 2 open, ISO standard languages - C 
and C++ (ok, I lie -- I think Fortran and Cobol are as well :).  Stick with 
those and you know for certain that you have access to several vendor 
implementations (plus FOSS implementations) on almost all platforms that are 
unencumbered by the business concerns of a single company.  The downside is 
that you can't find a single vendor that supports them the way these other 
platforms are supported -- and they aren't 'sexy' like these newer languages.

Jeff


More information about the PLUG-discuss mailing list