One little detail that many people do not know about the current voting rules on‘s Office product specification OOXML, now at the end of the Five Month Ballot for JTC1, is that there are two main classes of voters: “P” members and “O” members. The “P” is for “Participating” and they have extra responsibilities. They must vote and they are expected to take part in any Ballot Resolution Meeting.
Regardless of how the vote turns on September 3, there will definitely be a ballot resolution meeting on OOXML and that will take place for one week next February. Given the hundreds of significant technical problems in OOXML, it’s not clear how they will all get resolved in only a week, so I personally wouldn’t be surprised if the process takes a lot longer.
This current ballot meeting is only perhaps the third phase in OOXML’s journey toward possible, though by no means definite, JTC1 approval.
Phase 1: Microsoft prepped their spec for ECMA and then sped it through that organization in only a year. Whatever that group was to produce had to be compatible with what Microsoft gave them. This chart from Rob Weir makes clear how abnormal a process that was and, in my opinion, how it will need to be reviewed both within ECMA and by ISO:
It’s a bit fuzzy but you can see that OOXML is huge and took very little time. Statisticians have a word for such things, they’re called “outliers.” Outliers are often tossed out because they represent aberrations or recording errors. Draw your own conclusion.
Phase 2: The 30 Day Contradiction Period generated hundreds of technical comments and significant issues. Though the process moved on, these were supposed to get resolved in the Five Month Ballot Period.
Phase 3: This is where we are now. Some people were told they should not pay any further attention to the Contradiction comments (FALSE) while other were told that even though there were problems, they should vote YES because the problems would be resolved later. Unfortunately for them, YES comments can be ignored.
For Microsoft to win, they must get 2/3 of the P members to vote YES and no more than 1/4 of the total voting members to vote NO, after abstentions are removed. In any case, the Ballot Resolution Meeting will try to resolve the comments (remember that only the ones on the NO votes must get addressed), and turn NO votes into YES votes. In theory, YES votes can become NO votes, though this is very unusual from what I am told.
Here’s the kicker: Countries can petition ISO and become P members right up until the very last minute. In case some country had not been following the process too closely, they have a maximum amount of time to sign up. This means that until the very end, we will not know who will be on the full list of P members, so it makes predictions very hard.
I live in New York State in the US and there is a deadline before elections. If you have not registered by a certain date, you cannot vote. Perhaps ISO should consider something similar and reasonable. I strongly suggest that this be part of what I think will be widespread calls for significant changes in the Fast Track process. Indeed, I am not at this point confident that the Fast Track process should still exist unless it is overhauled. Will OOXML kill the Fast Track process?
[Also See: Andy Updegrove's The OOXML Vote: How Bad Can it Get? (Keep Counting)]
Phase 4: The vote from Phase 3 will be counted and announced. People will prepare for the Ballot Resolution Meeting in February, if it in fact takes place because JTC1 deems that there is a hope of resolving the negative comments. The comments will be brought forward. Microsoft/ECMA will prepare their responses to all the technical comments. I think the JTC1 process as well as everything that happened in the National Standards Bodies should get thoroughly reviewed and everything made publicly known. I think citizens in every country should know exactly how and why their country voted the way it did. This is true if they voted YES, NO, or ABSTAIN.
Phase 5: The Ballot Resolution Meeting in February. Hundreds of comments. One week. Geneva.
After that, things get murky. How will all the different comments be resolved? What changes will this force to the spec? Will they be able to come up with solutions? Will enough NO votes become YES votes? Will some YES votes become NO votes? How will the revised spec be dealt with by ECMA? This will likely break the charter of the original group, since it will, presumably, not be what what Microsoft gave ECMA to be compatible with Office 2007. Will all members of the technical committee join in fully and strongly and work on the solutions, or will it just be Microsoft? How long will this take? Will it be done in time for the ECMA General Assembly next June or will it linger? Remember, we’re dealing with a 6000+ page spec here.
It’s clear that whatever the vote, OOXML will not be a JTC1 standard for a long, long time, no matter what people say next week. It’s also clear that unless the process is quickly terminated with OOXML being rejected as unsuitable with comments unresolvable, it will churn on and on and on, no matter what you feel about it or the OOXML spec.