Microsoft condemns Sun's ISO manipulations ... only to follow suit a decade later.
An acrimonious battle to make <a vendors product> specifications an international standard has moved into round two with the approval of <the vendor> as the standards submitter to the International Organization (ISO) for Standardization in Geneva, Switzerland.
On reading this, one would think that this was a matter of the Microsoft Office Open XML (MSOOXML) as "the vendor's product" and Microsoft as "the vendor". The 2nd September vote showed that Microsoft failed to get the necessary votes (67% approval) from P National Bodies (NB) and failed to acheive less than 25% negative votes. However MSOOXML storms in to stage 2 (the Contradiction Period seemed to be irrelevant, since all the concerns raised by the NBs were disregarded).
[Check out ISO-vote.org, a fancy Javascripted map of the world which calculates the required criteria. Written by Matthew Cruickshank. Nice!]
However this is not about MSOOXML. This is about something which happened a decade ago. This is the story about Sun, the vendor, and its efforts in standardising Java, the vendor's product, as an ISO standard in 1997-1998.
This post is based on an article I stumbled upon, entitled "Java ISO standards battle rages" by Amy Zukerman, written on the 26th of January, 1998. I will quote from the article and subsequently provide information to see how the complaints 10 years ago translate to today's actions.
Sun as a PAS submitter
What Sun tried to do then was to become a recognized Publicly Available Specifications (PAS) submitter in 1997 and to initiate the process of making Java an ISO standard. Normally neutral standards making bodies like OASIS are valid organisations to become PAS submitters. So Microsoft was correct in challenging this powerful right extended to a corporation:
Microsoft, in particular, challenged the right of one company to serve as the submitter of an international standard, claiming that this approach offered unfair market advantage.
Compare the difference between a commercial entity becoming a PAS submitter, and a commercial entity which controls a Technical Committee within a standards making body which is set up to directly "standardise" the commercial entity's specific product.
Nowadays, there is little need for a company to expose itself to become a PAS submitter. It merely needs to procure a technical committee from a willing standards body. Ecma (re-branded from ECMA) was approached by Microsoft to set up TC45. Only two of its members were software vendors with competing products. Even so, TC4 had little need for "technical advances" from Novell nor Apple. This can be demonstrated by the lack of full adoption of MSOOXML in the "contributing" members own products.
Ecma was used to serve just one company's product as an "international" standard. Subsequently, it was just to promote unfair market advantage. Different submitter, same effect.
Microsoft's Lobbying efforts then and now.
Despite Microsoft's protests and intense lobbying efforts, members of JCT1 last fall voted 20 to two, with two abstentions, to allow Sun Microsystems to develop an international standard based on the Java platform. The United States and China provided the two "no" votes. California-based Sun Microsystems now has two years to submit a standard for international vote before the full ISO membership.
Microsoft's lobbying efforts ten years on has certainly improved. Today, of the 11 new countries which opted themselves in as P members, 10 voted "Yes" to MSOOXML unconditionally. Microsoft had to lobby hard. Very hard.
And yet despite this, even with the questionable PAS status back in 1998, Sun only received two "Disapprovals". Compare this with MSOOXML today, where 18 countries voted "No". This goes to show that money can only buy you so much.
From Sun Microsystems' perspective this battle is not merely a standardization issue, but a matter of the company's survival, according to Jim Mitchell, VP of technology and architecture at JavaSoft, a division of Sun Microsystems."This is a strategic issue," explains Mr. Mitchell.
Sun's reasons for standardising Java may seem, on the surface, dubious. However their reasons seem more "defensive" rather than "offensive". Jim Mitchell elaborates:
"If Microsoft hijacks Java, they'll lock Java into their platform and we're out of business." On the other hand, Mr. Mitchell agrees with outside assessments that if Sun Microsystems manages to promote the Java Platform as an international standard, it effectively "derails Microsoft's efforts to derail the Java platform."
The race to ISO is to ensure that Sun's implementation is standardised so that other implementations conform to its reference. Hijacking the technology by creating vendor dependent "extensions" which Microsoft is famous for, was something Sun was seriously aware of, and standardisation appeared to be the only solution.
Mr. Mitchell claims,"It levels the playing field. No one operating system has a lock-in if Java becomes the worldwide standard. That means that when someone builds a Java application it will run on a Mac, Windows, IBM AS400...."
So the intention for standardisation by Sun is benevolent in this case. Going to ISO to "cast in stone" the Java specs is the right thing to do if Sun wanted to ensure the "write once run anywhere" interoperability mantra. To do this, the spec has to be standardised. Little wonder the motion received relatively little resistance worldwide at ISO.
Microsoft reaction
Charles Fitzgerald, group program manager at Microsoft and a prime player during the round one PAS submitter debate, argues that what is at stake with the Java issue is the value of the international standards process itself. He says Microsoft may choose to cease its involvement in the international standards process if the company feels there is no value to participating.
"Microsoft isn't only concerned about the particulars of this particular issue, but the precedent taking place in the international standards system. If they're (ISO/JCT1) going to be in the business of endorsing arbitrary random products, we'll re-evaluate the amount of time we spend in the international standards arena. We'll just build great products. It's not clear the value this international standards body provides."
Here,
the Microsoft representative criticises ISO for "endorsing arbitrary
random products." Compare this with what Microsoft is doing today with
MSOOXML. Are they not now asking ISO to "endorse" a random product?
MSOOXML is not the de facto standard. It is still immature, not implemented by independent vendors and very underutilised. Quite "random".
"The outcome of negotiations and JTC1 and this company (Sun Microsystems) will define the future credibility of the international standards system," adds George Willingmyre of GTW Associates. Mr. Willingmyre consults as a standards strategist for Microsoft.
Mr. Willingmyre wants to see Sun Microsystems "follow the rules of the international system. If they will not, they undermine the credibility of the system."
Sun's actions allegedly threatened the credibility of ISO, as commented by a standards consultant hired by Microsoft. I wonder what Mr Willingmyre thinks of the newly appointed P member countries today?
Does the fact that the newly appointed P member countries have immature technical review committees threaten ISO's credibility more than one vendor's submission then? How about countries who voted unconditionally to support MSOOXML? Countries like Cuba voted "Yes" despite having any software to support it as American products like Microsoft Office 2007 are banned in their market.
How about the documented and well publicised cases of technical committee member stacking with monetary gains?
Following the rules of ISO is important. Perhaps then Mr Willingmyre
could now comment on the United States' position of "Approval with
comments" with 44 pages of comments. The JTC1 rules clearly state that any technical comments should be followed with a "Disapproval vote with comments" as a "Conditional Approval". Why was this rule deliberately ignored?
ISO endorsing proprietary technology?
Microsoft continued to whine:
The problem with the Java process, to date, as Mr. Fitzgerald sees it, is that "Sun has been clever in using the PAS process to get the sanction of ISO (for its product), while keeping full proprietary control. Why do we care? There is a potential marketing advantage for a competitor. ISO is getting in the business of endorsing proprietary technology."
Compare this with Microsoft's control over Ecma TC45. Its job scope of standardising the "Open XML" specification which only Microsoft can reliably implement to a high fidelity represents Ecma's endorsement of proprietary technology of one vendor. Ecma's special relationship as an A-liason status organisation with ISO meant that Ecma's "Fast Tracking" process could be abused.
MSOOXML's reliance on vendor specific implementations like Macros
and Scripting leaves gaps where proprietary solutions from one vendor
can only fill. The size of the implementation is already a burden to
any independent vendors. New code to implement charts, graphics, forms,
mathematical formulas will have to be created from scratch. So although
MSOOXML may be "open", the barrier of entry now lies in the 20 year
head-start Microsoft has over all of its competitors. This is a
significant market advantage for Microsoft.
History repeats itself in a twisted kind of way...
Charles Fitzgerald from Microsoft must have been psychic to ask these questions. I wonder if he would realise that 10 years from then, his "anti-competitive" questions can now aptly apply to his own employers today:
"If Sun is really the generous, altruistic charity they present themselves to be, then why are they not playing by the process?" Mr. Fitzgerald asks.
"Sun has done more to clinically exploit the standards process than any company alive."
I guess now, it's Microsoft who has that title!
yk.
[p.s. For the full story about Sun's Java standardisation efforts, please read this document: "Why Java was NOT standardized Twice". Fascinating stuff]


In fact, not only Microsoft did ship a Windows optimized Java VM that was not strictly compatible with Sun's VM, but the entire class framework was filled with COM stuff like DirectX, marshalling to native code and so on. Microsoft did that, hoping that the adoption of their foundation classes thanks to their market forces would kill Sun's classes.
In fact, it probably won't be a surprise to learn that the Windows optimized Java VM is now known as .NET, after a successful rebranding (branded to a new generation of young developers who know nothing about where this stuff comes from).
Anecdotically, one of the .NET gurus, Anders Helsjberg was hired back in 1996 to work on Visual J++, the Visual Studio edition for the Windows optimized Java VM. Pretty much the entire COM and .NET teams have something to do with the Java team at Microsoft. In other words, the destruction of Java was a key strategy for Microsoft.
Not a surprise too. If Microsoft embraced the "write once, run anywhere" paradigm, their other teams writing proprietary software would kill the company in just years.
The destruction of Sun's proposal as an ISO standard was well orchestrated by Microsoft. And indeed, any guy old enough knows that. It's pretty well documented too.
Ironically, if you ask Miguel De Icaza (Microsoft's biggest apologist on the planet) about Java, he would justify the Windows optimized version (therefore the destruction of the truely interoperable version of Java) with excuses such as "Java was too academic". I have a video of him saying exactly that.
Posted by: Stephane Rodriguez | Thursday, 20 September 2007 at 11:58 PM
Interestingly enough, when you read about Sun's reasons for maintaining control over Java, you see that what they were ultimately worried about was attempts by Microsoft to muscle them out and take control of Java themselves, which would have led to Java being Windows-only. Microsoft was willing to spend whatever it took to destroy Java's "Write Once, Run Anywhere" feature.
As for Miguel and Java, he was asked REPEATEDLY when he created Mono why he didn't use the Java VM as a base instead of cloning the .NET runtime and opening up the community to threats from Microsoft. He gave the same stupid reasons; that the Java VM wasn't fast enough, wasn't strong enough, and - of all retarded things - not OPEN enough. I'd like to know when Microsoft's patented technology became more open than Sun's, anyway.
Despite Microsoft's claims, I don't see where Sun "hijacked the standards system". They never used their PAS privileges, and were only given them for Java and Java alone. And what they were doing with ECMA matches what every other member does with ECMA, including Microsoft. In fact, Microsoft USED THE SAME TECHNIQUE to push C#/CLI through ECMA as a "standard".
Posted by: Dark Phoenix | Tuesday, 25 September 2007 at 03:43 PM