My mind sometimes works in weird associative ways. One thought leads to another, all connected, but only tenuously so. I was having a conversation the other day with my wife, and I was all over the place and it only struck me later that the topics were all connected by their tangential association to a ukulele. What would Freud say? But I digress…
I had a trip to the dentist on Monday. Whenever I have to go to the dentist I have images in my mind from the 1976 film Marathon Man, namely Lawrence Olivier as Dr. Szell, the elderly Nazi war criminal, torturing Dustin Hoffman with various unorthodox dental procedures. I figure that if I mentally prepare for the worst, the real dentist will be gentler in comparison. I sometimes mention this movie to the dentist, but they all deny ever having seen the movie. Very odd. I think they are hiding something. Surely this classic must be a staple of dental school film societies everywhere. That and the Tim Conway dentist skit from The Carol Burnett Show. What else is there in terms of great moments in dental cinema?
In any case, a story is told, perhaps apocryphal, that Hoffman prepared rigorously for his role in this movie by depriving himself of sleep for two days, so his character would appear worn and haggard. Olivier, seeing Hoffman that morning, and hearing of his co-star’s preparation, is said to have quipped, “Dear boy, next time why not try acting?”
I’m reminded of this line when I witness Microsoft’s machinations in JTC1, as they attempt to get OOXML approved. They are mounting an enormous offensive and expending great sums of money to convince ISO members that this rubbish heap of a format is acceptable as an ISO standard. Someone needs to ask, “Dear boy, next time why not try engineering?” Instead trying to force this ill considered mess through JTC1 (causing a great deal of collateral damage in the process), why not take your great base of engineering talent and produce a good standard and have that sail through JTC1 with thanks and praise?
We’re also seeing a shell game at play with the technical comments. Many of the technical flaws were uncovered and discussed on this blog back last summer and fall, before OOXML was even completed by Ecma. Microsoft didn’t fix them then. In the 30-day contradiction period, in February 2007, many NB’s raised these same issues. Microsoft didn’t fix them then, saying that they should be raised in the 5-month ballot. Now these same comments are being raised for the third time, in the 5-month ballot, and Microsoft is suggesting that they can be fixed at the ballot resolution meeting (BRM) in February 2008. At the BRM I predict that Microsoft will suggest that the issues should be fixed during maintenance of the standard. That would fit their plans well since they have already petitioned JTC1 to have the maintenance of OOXML handed over to Ecma TC45, closing the circle. Microsoft will never need to fix any problems in OOXML at this rate.
Another curious ploy is the way Microsoft is trying to convince JTC1 members that “Yes” means “No”, that if they have serious issues with OOXML a NB should still vote Approval. Let’s look into what the voting rules really are.
First a simple question to warm up. If you see a tunnel with a sign that says “exit” do you think that you can enter it as well? If you answer “No,” then congratulations, you are smarter than Microsoft thinks you are. Microsoft is essentially arguing around the globe that unless the tunnel has a sign that says “do not enter”, then you are welcome to enter the tunnel regardless of the “exit” sign. They are arguing that a NB can do anything they want unless the JTC1 Directives explicitly forbid it.
The counter argument is actually quite simple. You just need to consult Section 9.8 of the JTC1 Directives, 5th Edition, Version 3.0, which I’ve extracted below:
As it says, an Approval vote is approval of the technical content as presented. It is not approval pending the addressing of comments, or contingent on future work being performed. It is not approval of the importance of the proposal or approval of the market importance of the technology or approval of the company or organization making the proposal. It is explicitly approval of the technical content as presented. Although comments may be appended, the approval is clearly not contingent on anything at all happening to those comments, since the language clearly says the approval of the DIS as presented. Nowhere in the Directives does it suggest that NB’s may substitute their own criteria or procedures for evaluating a Fast Track DIS. The criterion is clearly stated, Approval of the technical content of the DIS as presented. In fact JTC1 Directives, Section 1.2 says “These Directives shall be complied with in all respects and no deviations can be made without the consent of the Secretaries-General.” So any NB that substitutes their own evaluation criteria for the language of section 9.8 is violating the Directives.
Now, for a Disapproval vote, the Directives say that disapproval is made for specifically stated technical reasons, accompanied with proposals that would make the DIS acceptable, and that if these changes are made, the NB has the opportunity then to change their vote to Approval. Note that it is giving a clear ordering. The NB first votes Disapproval, listing the reasons why along with their proposals to fix the problem, then if the changes are accepted, the NB has the opportunity to change their vote to Approval.
This mechanism is called out again a few lines later when it speaks of “conditional approval” and that it should be registered as a Disapproval vote.
Note that under JTC1 Directives, neither Microsoft nor Ecma has the power to accept an NB proposal. They do not own DIS 29500. They are not NB’s. Ecma’s ownership of the proposal ended when the 5-month ballot began. The only entity that can formally address NB technical comments is the assembled NB’s at the Ballot Resolution Meeting. Certainly Ecma can offer an opinion, but it is no longer theirs to accept or deny changes at this point. If Microsoft is promising resolutions to NB’s, then it is promising something which is not theirs to give. (Before you buy a used car from someone, it may be wise to first verify that they actually own it.)
In summary, when Microsoft says that an NB should vote Approval, with comments, and that they promise that all comments will be addressed, this is defective analysis for several reasons:
- The Directives clearly state that Approval indicates that the NB accepts the technical content as presented. Certainly, if the NB has only small editorial comments but otherwise accepts the technical content, then an Approval vote is entirely appropriate. But if technical content is not acceptable as presented, then they must vote Disapproval or else they ignore the plainly stated language of the Directives.
- Voting Approval, with comments with a private promise from Microsoft that your comments will be addressed at the BRM anyways — this contradicts the clear statement that “conditional approval should be submitted as a disapproval vote.”
- Neither Microsoft nor Ecma is competent to provide any assurance as to what the BRM will or will not do. They do not run the BRM and they do not control what comments are addressed. The BRM is an NB meeting.
The tragedy of this is that for so many NB’s, with talented technical committees, the NB process for OOXML has failed to be a technical evaluation, but instead has quickly become a political game, where committees are stuffed, where governments are pressured to change their votes, where billionaires call in favors, where competitors are blocked from participation, where voting rules are ignored or replaced at whim, etc. All we can do is stand by and watch as Microsoft takes over JTC1. The cost to Microsoft will be great, but so much greater is the cost to JTC1. What will it mean for JTC1’s future to be known as a body that does not follow its own rules, does not evaluate proposals on technical merits, but has procedures so weak and poorly written that it allows itself to be taken over and dominated by a single company? Quis custodiet ipsos custodes?