Why there’s no “Microsoft” in Open XML

Here are a couple cool screenshots from Stephen McGibbon where he shows an OpenXML spreadsheet file created with Gnumeric (runs on Linux & Windows), and the file is then opened up in Numbers (Apple’s new spreadsheet app for the Mac).



This is pretty cool as it shows how the Open XML formats allow you to communicate across multiple platforms without ever even using Microsoft technology. Of course we hope you still want to use Microsoft technology, but for reasons other than file formats (rich UI; powerful features; rich integration with backend data; etc.). By opening up the formats though, it means that those folks who choose to use our technology will be able to easily share their content with folks who make other choices; and that increase the value of Office for those customers.


Comments (100)

  1. So why does Gnumeric show cell B2 as "1" and Numbers show it as "1.0" ?

  2. jones206@hotmail.com says:

    Not sure, probably a formatting issue. Maybe a bug?


  3. Andre says:

    You are kidding us. You know that OfficeXML was generated and developed by Microsoft for its own purposes, opened just a little up to enable cool office automation and stop the adoption of competing international formats.

    But the problem with OOXML is that its ugly. It is not *real* XML. And you Microsoft developers really perverted XML. All lazy developers do that and the result is pollution. Ugly, non-standard code creates an ugly environment. So you have all the Microsoft slack and better use a Microsoft API…

    A real open standard as ODF that is better designed would provide real consumer benefits. And I would still not recommend an OpenOffice install but MS Office because it is a mature application and sucks less. The file format is really insignificant here. But XML perversion really contributes to bad bad habits.

    Consumers don’t care and just want it to run? Sure, but in order to provide quality software and ease migrations you should not code kludge. And ISO should not adopt kludge.

    Gnumeric is Ximian toy software.

  4. Peter says:

    How cool is it?  Not very.  A giant yawn.  fifteen years ago I could do the same thing with Excel on the PC writing a file which was read by RS/1 (an old statistical program) on VMS.  Or HP/UX. Or lots of other stuff.

    But then Microsoft decided to take away all of the Excel file format documentation.

    Fifteen years later, you’re documenting essentially a dump of Excel into XML.  

    Not really a step forward.

  5. jones206@hotmail.com says:


    Sorry but you’re wrong. What the heck do you mean by "real XML"? It’s very real XML, and it uses a schema that maps to the model we think best suits the customer scenarios we care about. ODF doesn’t even come close. It has it’s own scenarios which it does well, but could never be used as a default format for Microsoft Office.


    Yes, this has been done for years. It has happened with the binary formats, with HTML, and with RTF. Yet there are still the skeptics out there who think that Office doesn’t use interoperable formats, and I posted this to show that that they are clearly mistaken.


  6. gobledb@hotmail.com says:

    I think it’s funny that any time an open source application does not completely toe the FSF party line, or happens to be inter operable with a closed source product, it is labeled as "toy" software.

    This designation seems, in itself, to be an official term, because I see it used a lot of places.

  7. hAl says:

    This exanmple is just a bit to simple Brian. I could get that result using plain text files as well. I can understand ooxml support still being fairly basic after 8 month of being a standard but this is just a too basic for such an example.

  8. Mike Brown says:

    If it’s all so easy to do, Brian, then why is Apple’s support of OOXML in iWorks ’08 read only?  (Numbers is part of iWorks).

    IWorks will read OOXML files but it won’t save in that format.   Surely, that wasn’t the kind of "support" that you were looking for?


    – Mike

  9. Stephane Rodriguez says:

    It takes two days of work to do what Gnumeric and Numbers do. This cannot be called "file format support" by any stretch of the imagination.

    I have taken a thorough look at Gunmeric’s latest source code (disclaimer : I am a competitor), and you probably want to do that too Brian before that slaps back in your face.

    As for Microsoft Office’s XML, the reason why there got to be Microsoft in the title is because that’s all it is, Microsoft stuff. Let’s be a naive and follow your logic : if there is no Microsoft IP in it, then why isn’t Microsoft giving away the part of Microsoft Office codebase which reads and writes this stuff so others out there don’t have to build it?

    Of course, when an application makes a real, substantial, read and write, the underlying data structures and library dependencies show up and that’s where reality check shows. My take is that since the beginning, Microsoft is trying to get good publicity without actually doing anything towards openness. I mean, you guys are registering all kinds of internet domains with the word "open" in it. I think it takes a little more to be really "open"…

    What is sad is that the Office team is now driven by a marketing team. Theories say that when it happens, death is not very far…

  10. Stephane Rodriguez says:

    By the way, the only reason you are giving free publicity to Gnumeric and Numbers, which are competitors to Microsoft Excel, is because there is a bigger picture.

    The bigger picture is which file format becomes a pivot file format in the long run. From the pivot file format’s point of view, other file formats are second-class citizens.

    This is exactly why Microsoft needs ISO timestamping. Undoing ODF, far far far superior, far far far open, far far far better designed, is a milestone of that agenda.

    As an aside, talking about Apple’s Numbers lets you keeps silents the shameful MacBU strategy decided by the Redmond top brass.

  11. Wesley Parish says:

    With all due respect, Brian, I can see that two competitors – in the most "paranoid" Microsoft sense; roughly, "anyone doing what we’re doing in a market we call our own" – can at least to a limited degree interoperate with MS Office 2k7.

    All very good.  Gnumeric etc, are also able to interoperate with early releases of MS Office; that has generally been the result of hard work reverse-engineering the binary formats.

    So there isn’t that much that can’t be expected, anyway.  "It’s normal, it’s expected, nothing to see, move along now, don’t hold up the traffic!"

    But that still doesn’t answer the question of why it should be an international standard – since Gnumeric, etc, can also read the binary file formats, and they aren’t international standards either.

    You’ve had me going on about the horrendous risk involved in ActiveX, and I am glad to see it gone from the specification.  There are other issues with the ECMA 376 standard, and so far I haven’t seen anything that would suggest that Microsoft is willing to work on those … and those would appear to be the deal-blockers.

    Merely alleging that IBM has an agenda, is irrelevant.  The question is more one of, how substantive are these issues?  And if they are that substantive, as alleged by Sun, IBM, etc, then why isn’t Microsoft taking these issues on board and dealing with them?

    Microsoft isn’t doing itself any favours by refusing to pay attention. ๐Ÿ˜‰

  12. jones206@hotmail.com says:

    Wesley, it’s no longer up to Microsoft to address the issues raised. It’s up to Ecma now.

    I’m about to get onto our regular TC45 phone call, and we’ve spent the past several months looking through the publicly raised issues like those on the British wiki site. We are absolutely committed to dealing with all the issues raised once the balloting closes on September 2nd. Other issues I’ve seen IBM bring up in the various contries include date formats; VML; a whole host of editorial issues; and actually a number of clear misunderstandings. We should be able to deal with them all pretty easily. It will just depend on making sure we do something that the majority of countries are happy with.

    Some of the issues are very trivial. For example, the "unspecified compat settings" of which 95% are actually already fully specified is a great example. There are a handful that have basic documentation, but if it’s still not acceptable will figure out a solution. This all will be handled before the ballot resolution meeting which will most likely be in early 2008.


    Folks, please try to chill out just a bit here. So the example I posted is pretty basic… fine. Take a look at Stephen’s post that I linked to. He shows much richer examples as well. I’ve played around with Gnumeric’s support and it’s pretty damned good already.

    Everyone who was a big ODF fan was trumpeting the success of interoperability between Open Office and KOffice, but if you actually looked at any examples it was really weak. KOffice’s support of ODF left much to be desired. Then you add on top of that all the proprietary extensions that OpenOffice adds into it’s files, and you have really poor interop.

    Open XML has only been a standard for about 9 months. I would say the adoption is very impressive given that fact. Every major office suite I’m aware of either already has support or plans on building support in the near future with the exception of one (IBM’s workplace).


  13. Stephane Rodriguez says:

    Brian said "Take a look at Stephen’s post that I linked to. He shows much richer examples as well. I’ve played around with Gnumeric’s support and it’s pretty damned good already."

    Brian, do I need to go into the details, or will you do that for us? Your wish.

  14. Peten A says:

    Hey Brian,

       Thanks for posting this ( and all your previous OOXML posts).  I’m actually just trying to do something useful with the format so I appreciate any and all info.   I’ve been reading you for a while now and it seems it’s gotten to the point where the minute you dip your toe in the OOXML water with a blog post, piranhas are on your ass in seconds.  So while others often have some valid points (but their delivery sucks) I just want to say Thanks and let you know that though I may not be posting comments, I’m reading regularly and appreciate your effort. ( when I’ve got something to show for mine I’ll be happy to share it.)

  15. nksingh says:


    There may not be microsoft IP in the file format specification, but surely there’s a difference between the format the the code to read it?  You clearly have so much experience reversing the binary formats, so you ought to have no problem filling in that code in Gnumeric with something in a format that’s far easier to reverse than BIFF8.  And you have no idea about the code in iWork.  

    ODF is not clearly the far superior product here.  It was largely formalized by two people, and it’s not clear that they had the long experience in producing multilingual documents as Microsoft has had.  

    I don’t claim to understand many of the intricacies of OOXML or ODF, but it is obvious to me that your protests are motivated by something other than pure technical considerations.  

  16. Stephane Rodriguez says:


    "There may not be microsoft IP in the file format specification, but surely there’s a difference between the format the the code to read it? "

    That’s not my point. I don’t assume the Gnumeric guys are unable to support a good portion of this stuff, I am talking about what they are really supporting right now. I wanted Brian to clarify why he’s showing an example with no formatting style. (note that the screenshot is actually copied from another blog, to a point where you might start asking yourself if Brian Jones is just a nickname for Microsoft Office PR machine. In fact some of his colleagues and a couple of their bitches are all reposting the same content…). As for file format specification, I don’t know what you are talking about. ECMA 376 is a description, not a specification. Someone with even a cursory knowledge of Office file formats knows that it’s impossible that 15 years of Microsoft Office legacy can fit in only 6,000 pages. My estimation is 600,000 pages.

    "ODF is not clearly the far superior product here."

    Well, I support ODF in one of my products and let me tell you I was really impressed by the design of styles. In my product I was only interested in styles, so I won’t argue about anything else (even though I know the ODF formula subcommittee is doing a far better work for us than the total joke that ECMA 376 spreadsheet formulas is : the content of ECMA 376 spreadsheet formulas is actually derived from Excel’s online help, which is an insult to anyone’s intelligence when you consider Microsoft is pushing it to international standards bodies.). ODF styles are so well designed that it’s the same thing across all file formats. With a simple, efficient implementation, you can support 19 XML-based OpenOffice file formats. Work in hours instead of weeks…And let me tell you what the consequences are for interoperability scenarios : there is not even a begin of comparison between ODF styles and the absolute crap that corresponding ECMA 376 styles are : there is north of 6 different ways to do text formattings in ECMA 376. If you intend to interoperate with it, you will have to implement ALL of it, only because Microsoft felt it this way.

    "the long experience in producing multilingual documents as Microsoft has had"

    It’s a total mess. Both from a usability standpoint, and from a file format stand point (there are conflicting country/encoding tags all over the place). I have no idea what you are smoking.

    "t is obvious to me that your protests are motivated by something other than pure technical considerations."

    That’s absolutely right. My higher motive is that I oppose their going to ISO. It has absolutely no technical merit and should be called for what it is. In addition to this, Microsoft stuffing of ISO national bodies is not helping their cause. If they were really open, none of it would be required. They are flying their business partners all around the world to make sure the voting goes towards them. I guess it’s fair to say Microsoft favors choice, as long as you choose them.

    Oh, last but not least, Office 2007 is not a reference implementation of ECMA 376. I have provided examples in older comments.

  17. hAl says:

    @Stephane all styles do not work allover the format. For instance in MathML parts you cannot apply styles (or any ODF specific formatting for that matter).

    Also looking at ODF’s effient reusable format definitions I see about 7 different methods defined to embed external fileformats. Why not one ? Mayby because that is all Sun legacy ?

    I’ll grant you that ODF looks to be the cleaner format with quite a lot of element better defined than OOXML does but I miss how certain spec element combine into a document as the spec has not much about document structure and allows very difficult combinations of its elements, to be combined.

  18. hAl says:

    [quote]Oh, last but not least, Office 2007 is not a reference implementation of ECMA 376. I have provided examples in older comments.[/quote]True. There is defnitly flaws in the implementation of OOXML in Office 2007. However it seems to implement more of OOXML than OOo does for ODF.

    Especially I think that the continued use of VML in Word and the addition of extra binary spreadsheet information by Excel for either performance or compatibility with other MS office products is not very good either. It probably shows that Microsoft also needs a year or more to improve it’s implementation of OOXML.

  19. malcontent says:

    I think this blog post just re-enforces the perception that all MS employees are liars.

    if there was no MS is open XML then MS would not be spending obscene amounts of money pushing it and undermining ODF.

    Remember MS actually got a public servant fired in MA because the public servant wanted the state to adopt ODF and then pured money into the mayors office to push it’s own format.

  20. hAl says:


    You have been reading to much Groklaw.

  21. Ian Easson says:


    To add to what hAl said:

    – If you are at all interested in having people pay attention to your comments, don’t use words like "liar", "shill", "bullshit", etc. (You only used the first, but others have used the rest and more.)

    – Read the actual blog entry before commenting on it.  In this case, the entry shows that people do not need to use any Microsoft software to take advantage of OOXML file formats.   Companies all the time get commercial advantage from their support of and adherence to specific standards, even though that might involve not using their products in all cases.  The fact that you cannot conceive that this is actually true is only a reflection on your limited mental capabilities, not a reflection on Microsoft.

  22. Hello,

    I started Gnumeric in 1998 and continued to develop and work on it until Sun released OpenOffice as an open source project.

    Although Ximian did fund some work on Gnumeric (part time from Jody Goldberg) we never made it part of our business.

    Gnumeric has its own vibrant community of developers, and most of them are interested in it because it is a solid engine, it has good math support, it is extensible, can be used for batch processing, is open source, it is very easy to get started on, and I like to think that it is a beautiful piece of code and the maintainers over the years have kept it as a beautiful piece of code.

    If your metric to measure a spreadsheet is "Excel", then yes, pretty much everything else will be a toy.   One of the points of a standard like this is that it allows third parties to write "toys" like this or smaller that happen to interoperate with "the big boys".

    As to Gnumeric’s support for OOXML, the fact that there is little code for the importer just means that things map pretty well across all spreadsheets.

    The line counts for the various Gnumeric importers might be useful to compare:

    OOXML: 4,013 lines of code.

    OpenOffice: 3,623 lines of code.

    Lotus 1-2-3: 3,458 lines of code.

    Quatro Pro: 1,215 lines of code.

    Gnumeric native format,  (DOM-based reader): 2,828 lines of code

    Gnumeric native format, (SAX-based reader): 3,911

    This is simplified because all of these share a lot of the functionality, but it seems that the support for OOXML is pretty much on par with other implementations.


  23. Wesley,

    Although I never participated directly in the ECMA TC45 group that worked on the specification for OOXML, I knew that we could help open source implementations improve by having a solid spec.

    That is why I requested thatfolks from our OpenOffice team (Jody Goldberg and Michael Meeks initially, others later) at Novell attend these meetings.  

    As part of this effort, they submitted a lot of problems with the spec.   On the last count (as I still receive the ECMA posts) I notice that Novell submitted 121 issues (we are the top issue submitter, probably because we are actually a vendor working very hard in improving the state of office suites in Linux).

    And from those 121 issues that have been submitted so far 118 have been resolved.   The spreadsheet that am looking at contains other issues, but the team participating in improving the ECMA spec seems to be sorting through those issues constantly.

    I have no access to whatever ISO does or its process so I have no way of telling, but at least from what I can see on the ECMA mailing lists, things are moving forward and issues continue to be addressed.


  24. Small update: I miss-read the table.  We Novell was not the major issue raiser, but it looks like we were the second issue raiser.  


  25. Stephane Rodriguez says:

    Miguel said "As to Gnumeric’s support for OOXML, the fact that there is little code for the importer just means that things map pretty well across all spreadsheets."

    Not very surprising since SpreadsheetML is BIFF with angle brackets. Microsoft had so much free time on their hands that they even created BIFF12 (XLSB files). But that’s from one viewpoint, let’s consider another.

    The other is of course interoperability. Assuming Gnumeric does maths right. We all know  some of Excel functions are incorrect, some underlying Excel data types are platform-dependent (the date type uses VarDateFromBSTR OLE API to transcode values), if Gnumeric supports formula X, and reads and writes as X in SpreadsheetML without doing the fixup, then you have 1) zero interoperability 2) a disaster when those resulting spreadsheets are used in healthcare or critical systems.

    As for actual file format support, it’s interesting you are not seeing the elephant in the center of the room. Microsoft Office’s fire and motion is creating many new attributes (for instance), while forcing implementers to keep their old libraries as well  : you have to follow them now, implement DrawingML, all the visual effects, otherwise your customers will end up saying you are a second class-citizen. Rightly so, since that’s exactly why Microsoft is doing that in the first place. OpenOffice was getting good enough, Microsoft had to do something big to protect the cash cow (have you seen how much Microsoft Office revenues from total revenues?)

    It would be better if you came up with a less fantasy definition of what you call "support". Of course, since you are spending your entire life following Microsoft adventurous .NET fluff , it may be logical for you that others follow them as well. Now if you spend your entire life following others, what’s left for your own features, your own niche?

  26. mind says:

    haha. yes, there is very much microsoft in OOXML. in fact, the first comment hit the nail right on the head. while one program can have a bug in it, it’s very possible that they are both doing the best job following the OOXML spec as they can, and it turns out that the spec just isn’t well defined.

    the OOXML specification is very informal, and defers to the way antique versions of microsoft software did things. phrases like "this shall format the way word 97 did it" are used for pretty much every detail. this would be perfectly fine if this were an internal microsoft specification, but is completely unacceptable for something that is supposed to be a standard. where can i get the spec for the word 97 formatting? why can’t that just be inlined in the spec to make it not dependent on the spec for word 97? i surmise the problem is that there _is no_ spec for word 97 formatting besides ‘it does what it does’.

    microsoft has again taken the easy way out. instead of coming up with a solid definition of what things are supposed to mean, they push their internal garbage out to the world, not very well documented, and expect the world to deal with it. you can hardly expect better, as this creates a nice market advantage when you’ve got the de-facto standard and you’ve got the only piece of software that follows it to the T (because nobody knows how to write something that is 100% compatible)

    just because it’s XML doesn’t mean its open

  27. Stephan,

    You seem to be upset at the mere existence of OOXML.  

    Am guessing here, but your major problem with OOXML seems to be that you have made an investment in reverse engineering the old binary protocol in the products that you sell and Microsoft moving away from these binary protocols means that it is no longer necessary for people to purchase your products (xlsgen, http://xlsgen.arstdesign.com/).  

    It is a guess, but I would otherwise not understand why you would not applaud the move from binary and under-documented formats to something that is well documented.

    Regarding the date formula issue: If you point me to the actual problematic function I can quickly find out if Gnumeric does something special with it.


  28. Stephane Rodriguez says:


    I notice you are not addressing any of my points.

    It’s really important to understand the issue between "followers" and "innovators". If your goal is to follow what Excel does and reproduce its bugs, what’s the point? Microsoft’s original Excel will always be the primary client compared to yours and customers have no incentive to switch. Let’s consider cross-platform support : here, over 90% of the PC market is taken by Windows, therefore supporting anything else on a client is absolutely useless. Perhaps you can shed some light for us why you stopped working for Gnumeric.

    Real innovators is a different animal. It means you are building a better Excel. If you do maths correctly, it’s a change, an incentive to buy.

    So what is your logic? That everyone should implement SpreadsheetML even though in practice the only implementation to compare to that matters is Microsoft own Excel 2007 which contains all the bugs mentioned?

    As for my products, don’t worry, not only they do more than generate this stuff, but I’m tracking the level of adoption of Excel 2007 files out there, and for the moment there is zero demand for that. Nada.

    The question you should be asking if you really believe what you write, is why would Microsoft even allow the idea to "open up", while protecting their huge cash cow (again, the numbers are impressive, and certainly give a good reason for them to be defensive, extremely defensive actually). So that makes no sense, until you consider a bigger picture.

    As for ECMA 376 papers, they are perfectly consistent with the cash cow defensiveness. It’s not a specification, only a mere description, and there is many more to consider (I estimate the full spec is 600,000 pages). By the way, if you take a look at what Gnumeric does with all these XML attributes, it’s a bit interesting : the bulk are stored in a hive generically, and then saved back, with no processing at all in between. You call that support…

  29. Stephane Rodriguez says:


    Let’s have some fun with Microsoft openness. Follow me, it will just take one minute.

    When you swallow Microsoft marketing brochure (those blogs are part of it), accessing and editing spreadsheet data in Excel 2007 files is a no-brainer : you open-up the ZIP file, grab the corresponding XML entry, do some careful edit, save your changes, and you’re done.

    Let’s see if that’s true.

    Let’s create a new Excel 2007 spreadsheet, put values 10 and 20 in some cells, and then a formula which computes the sum of those two cells. Here is the corresponding XML :

    <row r="2" spans="3:5">

    <c r="C2">



    <c r="D2">



    <c r="E2">





    Ok, now assuming we want to replace the cell with the formula with something else. For instance, let’s put a constant value of 40. After our changes, here is the corresponding XML :

    <row r="2" spans="3:5">

    <c r="C2">



    <c r="D2">



    <c r="E2">




    Easy enough, a no-brainer, and all of that is possible because our Microsoft friends are so generous. Right?

    Now open the file.

    Huh!!!!! you are greeted with "Excel found unreadable content in Book1.xlsx. Do you want to recover the contents of this workbook? If you trust the source of this workbook, click Yes."

    So much for the scenario…

    PS : for those who haven’t figured it out, making unattended changes to cells causes the calculation chain (calcChain.xml) to be corrupted. Therefore Excel complains. All of a sudden, making changes to spreadsheet data just got several orders of magnitude more expensive. That’s what I call extreme defensiveness to their cash cow. Some call that opening up…Note that Excel 2007 considers this spreadsheet corrupted only as a consequence of an implementation choice. Excel 2007 could just as well rebuild the calculation chain silently, and move on. Now, my take is the implementation choice is to raise the barrier to entry.

    PS2 : in Excel 2007 files, functions, separators and their context is in US English, not using the locale contrary to what Excel 2007 does when you use it. What this means is that you have to map function names, and the context, only because Microsoft felt it this way. The mapping tables are not documented…OOps, good luck guys!

  30. hAl says:


    That only shows that Excel has a poor implemention choice on calc chains which are actually optional so it is likely that other spreadsheets implementing OOXML will be able to use the spread sheet fine.

    The easy implementation is therefore just to always drop the calcchain when altering a spreadsheet outside of an spreadsheet application.

    How did you put it ?

    [blockquote]All of a sudden, making changes to spreadsheet data just got several orders of magnitude more expensive[/blockquote]

    Hmmmm if merely removeing the calc chain makes changes to spreadsheet data several orders of magnitude more expensive then ooxml for spreadsheets must be extremly cheap to implement !!!

    Btw, Brian, a good tip for Excel 2007 as well mayby just to rebuild the calculation chain as Stephan suggest or to just remove it out when it is not useable?

  31. Andre says:

    "Sorry but you’re wrong. What the heck do you mean by "real XML"? It’s very real XML, and it uses a schema that maps to the model we think best suits the customer scenarios we care about. ODF doesn’t even come close. It has it’s own scenarios which it does well, but could never be used as a default format for Microsoft Office."

    a) bogus "backwards compatibility", i.e. old Word slack. Open XML is a http://www.higroup.com/i/news/homer_dreamcar.gif

    b) Real XML is *designed* by humans. Same with object oriented code, some people code oo but do not think oo.

    c) in fact there are Microsoft presentations out there that explain how Microsoft would adopt ODF. You can’t tell me that you can’t extend the format to fit to your purposes.

    d) MS’s default format is doc. It is no problem to convert ODF to doc. Microsoft recommends converters for open xml and odf conversion as well.

    e) Why redundancy?

    f) Who wants to access OpenXML without an API? Guess who will provide the API and integrate it so well with its products. But XML should be editable with a plain text editor or with a good old scripting language. With standard XML tools.

  32. Stephane Rodriguez says:


    First of all, I have to say I find it a little bit pretentious from you to keep trying talking to me with all the gratuitous crap you posted already, and the fact you don’t bother tell whose company you talk on behalf of, and if you have implemented this stuff at all.

    I should ignore your post, you don’t deserve anything else unless you shed a light about your real motivation. I think I have been transparent about mine.

    Your comment about deleting the calc chain is hypocritical for two reasons :

    – you have a simple case that derails EVERY SINGLE BLOG POST that has ever been posted by Microsoft or their bitches elsewhere, where they were talking about how this kind of scenario was a no-brainer. I show it’s not true, and you are still nitpicking. Come on, get real, man.

    – deleting the calculation chain is a huge performance loss for any substantial spreadsheet. Which is a point I made elsewhere already. Among any client applications that try to implement this stuff, MS Excel will always be the best because it deals with all this stuff : there is over 15 years of implementation they are relying on to do just that. The very point of pushing a format to ISO is that it provides EQUAL FOOTING to everybody. Huh?

    Elsewhere, you can find many people saying that it’s easy and simple to do that kind of scenario. They just forget that, in this example alone, they would have to trade the performance. Again, performance is a BIG deal, since you are forcing a full spreadsheet recalculation onto everyone opening this spreadsheet next time they open it in Excel.

  33. Stephane Rodriguez says:

    Also, you act just like the owner of this blog, you select what you like, or ignore the rest.

    Have you seen what I’ve written in PS2? Knowing that, would you agree with Brian Jones that SpreadsheetML is fully documented?

    Come on, get real once in your lifetime.

  34. hAl says:

    [quote]deleting the calculation chain is a huge performance loss for any substantial spreadsheet. Which is a point I made elsewhere already.[/quote]

    However it a valid method for tons of implementations that do not require performance. An implementation that wants  and/or requires performance and does not keep the calcchain in good order on mutations is not worth much is it is now. If someone wants performance he does more and if he does not then he can do less. You agree that a calcchain is good for performance but do not want mutate it, I cannot really believe you are serious about this ?

    You have some good points on Microsofts implementations of OOXML which certainly have their flaws but I think they will also get better at it with every version. However I think you focus to much on MS Office 2007 when talking about the format itself.

    Because you could also see that Microsoft could also make a messy implementation of antother format especially one they do not know very well.

  35. Stephane Rodriguez says:

    "You agree that a calcchain is good for performance but do not want mutate it, I cannot really believe you are serious about this ?"

    I don’t even know what you’re talking about.

    My comment above was a debunking of Microsoft "no-brainer scenario".

    I think an Einstein like you can understand that.

  36. Stephan,

    You seem to have boxed yourself into only a single possibility for innovation.   You are boxing yourself and you are framing your argument around the idea that the only way of innovating is to break with the existing file format.

    File formats and protocols are merely ways of enhancing interoperability.  

    You can innovate in millions of ways that do not require changes to the file format: you can provide better input, you can provide better output, you can provide better organization of your menus (like the new office did), you can enable scripting for dozens of languages (like gnumeric did), you can provide new plugins for data analysis and number crunching (like gnumeric does today), you can turn a spreadsheet into an engine (like gnumeric does: you can use it for batch processing, you can use it for converting from one format to another), you can innovate by changing the form factor (again, like Gnumeric does when ported to small devices).

    If you think that the only possibly innovation will happen by having different file formats you do not seem to be much of an innovator yourself.

    Now, that being said, OOXML includes support for extending the format in compatible ways (its one of the last sections in the spec) so even if that was the sole way you could innovate at you have been given a chance to do it.   So again, what is your beef?

    There are plenty of examples where people have chosen to "follow" instead of "lead".   People followed TCP/IP, they followed HTTP and HTML and they were able to create millions of interesting applications while sticking to a published standard.  

    TCP/IP can not be implemented in an afternoon, it is quite cumbersome to implement.   Although you could extend and break TCP/IP in incompatible ways for the sake of "innovating" (and am framing this in your boxed, framed version of innovation that I do not subscribe to) folks have found that it is more advantageous to work within the framework of compatibility.

    You are correct in that they can be drags when you are trying to innovate because you must implement these which if you start from nothing can be quite hard.  

    Rob Pike at some point mentioned that innovation in Plan9 was difficult because he had to be compatible with so much stuff: Unicode, MIME, TCP/IP, HTML, NFS and a load of other systems.

    You have to pick where to innovate and there are pros and cons of innovating in a particular direction.   And innovating does not mean that the feature will become mainstream or that the innovation is a good idea in the first place.  

    Am making a few claims in responses to assertions that were made in this forum:

    1. Gnumeric was done by Ximian (mostly false).

    2. The support in Gnumeric can be done in "days" (you claimed this Stephan) and this is also false.   The support there from a pure line-count point of view is as complete as the support for other formats.

    You are putting words in my mouth and coming up with your own conclusions, essentially you are making a strawman argument.

    Now addressing your question as to why Microsoft would open up their formats: I do not think that I can answer with authority, but I can offer my theories.

    I believe that there are multiple forces at play here.   One of them is the requirement that documents have a mechanism to achieve longevity that some governments require.   This point has been made outside of Microsoft for quite some time, but it seems that folks inside Microsoft (from the various timelines published) were also thinking along those lines around that time.  

    Considering that MS shipped the first incarnation of SpreadsheetML in 2000 and this was the same year that this started to become a political issue, it seems that Microsoft was moving in that direction before that (just the planning, and implementation would have taken some time to do).

    As for the adoption of OOXML having an impact on your products: I agree that there is not much adoption of these new formats right now, but this is hardly surprising, all technology goes through an adoption cycle.

    But your response nonetheless seems like the response that record companies have against mp3s and the internet, or the response that some journalists had to the blogosphere like the current Andrew Keen debacle.  Like Andrew Kleen you seem to be interested in preserving the status quo and I have already shared my guess as to why.

    Like Andrew Kleen, it is in your interest to preserve this, but in the words of Emily Bell when addressing Kleen’s paranoia: "People are scared of change where the implication might be that their daily lives will change or their jobs will disappear. This is an historical truism – it has happened in manufacturing, mining, agriculture – the media is no different."

    As for your claims in Gnumeric, I do not see anything wrong with keeping information around that Gnumeric can not interpret.   If Gnumeric implements a subset of Excel, it is a perfectly reasonable engineering decision to try to preserve the metadata that it does not consume.

    That sounds like good engineering to me.  Am not familiar with the code –as I said, I have not worked on it in six years– but the people working on it are incredibly talented.   I have no doubt that they are aware of these issues and will strike to improve Gnumeric over time.


  37. Stephane,

    I do not understand your point about changing the contents of the file format.   You modified the file incorrectly without updating the calcChain.xml component (which is well documented on the spec ๐Ÿ™‚

    You are assuming that because it is in a readable format you can alter the data in any way you want without a side effect.   For instance, the fact the XHTML is text does not mean that you can violate the rules of XHTML.  

    In this case, you have to update the calcChain.xml, it is as simple as that (you claim to care about performance and the computational chain, so then why are you not updating it?)

    Now, for the peasant among us, the illiterate, those that can not be bothered to read the spec, those of us that just want to use a shell script to generate the excel file, we could just not include the calcChain.xml as suggested above and it will just work.

    And if the peasants among us care about the computation speed?  Well, we could then include it.    

    You seem to be picky about your facts: you care about the calcChain when someone points that it is optional ("OH THE PERFORMANCE" as you like to point out) but you do not care about it when you are trying to make a half-argument ("OH THE INSTABILITY").

    So much for making a storm in a teacup.  

    That being said, Excel correctly rebuilds the spreadsheet after you incorrectly modified the file.   So it does seem that they went through great lengths to support broken generated files (I can only guess that you found this because your software did not really cope with the format correctly and you did a half-baked job).

    Am left wondering though, for someone that has digged into Gnumeric this much, I have to wonder how much of the Gnumeric GPL code has made it into your product?

    As for the use of Microsoft and the "no-brainer" expression, you seem to be the one using this expression, not Brian.   More strawmans Stephane?


  38. Stephane Rodriguez says:


    I don’t think we understand each other very well. Let’s get a quick go at your points.

    "File formats and protocols are merely ways of enhancing interoperability.". Since SpreadsheetML is a flavor of BIFF, where is the improvement in interoperability?

    "you are framing your argument around the idea that the only way of innovating is to break with the existing file format.". I have said when it comes to Excel, you either clone it, or do something better. If you are writing a client application that clones Excel, it’s pointless. If you are writing an Excel clone that meets different needs and/or a different niche, that’s a whole different story. If you are creating a better Excel, that gets even better. Not doing formulas fixup when Excel maths is known to be wrong makes anyone guilty of either ignorance or too much complacency with Redmond.

    "You can innovate in millions of ways that do not require changes to the file format: you can provide better input, you can provide better output". Not true, the output of OOXML compatible files have to open in Excel 2007 (and other products of the suite). I think you don’t seem to understand how bad the situation is. Have you taken the time to study my little example?

    "There are plenty of examples where people have chosen to "follow" instead of "lead".   People followed TCP/IP,". Ask the 3COM guys what they think of TCP/IP "followers". You may want to call "followers" stealers, conveniently located in Redmond.

    An analogy between Excel and TCP/IP would be a platform independent Excel. How can you achieve that if you follow the ECMA 376 specs since some of the stuff being stored uses the OLE API to be instantiated? This is the famous date type example, but there is of course more…

    "Gnumeric was done by Ximian (mostly false).". I don’t know what you mean here.

    "The support in Gnumeric can be done in "days" (you claimed this Stephan) and this is also false.". It’s true, Gnumeric current support for SpreadsheetML is two days of work. I did that at too at one point in time in one of my products.

    "You are putting words in my mouth and coming up with your own conclusions". No, I think you are not involved in this stuff at all, and that you should shut up your mouth until you know more about the details. I work this stuff for a living, every day. There cannot be any meaningful comparison between you and me and that particular subject (I am not talking about Gnumeric, I am talking about anything OOXML related).

    "I believe that there are multiple forces at play here.   One of them is the requirement that documents have a mechanism to achieve longevity that some governments require.". No, this is just cash cow protection. Take a look at the revenue numbers. I’s disappointing you keep repeating Microsoft Office PR, you are not in Microsoft payroll, are you?

    "Considering that MS shipped the first incarnation of SpreadsheetML in 2000 and this was the same year that this started to become a political issue, it seems that Microsoft was moving in that direction before that". The Redmond top brass memos have documented Microsoft Office strategy around that date. Let me give you a simple url : http://antitrust.slated.org/www.iowaconsumercase.org/011607/2000/PX02991.pdf


    "As for the adoption of OOXML having an impact on your products: I agree that there is not much adoption of these new formats right now". How do you know that? You ship a product targeting this stuff?

    "Like Andrew Kleen you seem to be interested in preserving the status quo and I have already shared my guess as to why.". I’m advocating a proper XML. An XML that is designed from the ground up to build on existing international standards (none of Microsoft does that since they revinvent their known, out of fear of having to compete), to meet modern software engineering needs (programmable XML instead of just serializing BIFF into XML), taking the time to make sure that the implementation does not imply you are in it for years (i.e. modular implementation, again my little example shows how Microsoft is far from that). And more.

    Among other things, I claim that ECMA 376 has no technical merit, is just a DNA sequence, a description instead of a spec, and that it cannot be approved by ISO without taking ISO down with it. If you believe in international standards, I’m pretty sure you favor one side over another.

    "As for your claims in Gnumeric, I do not see anything wrong with keeping information around that Gnumeric can not interpret.". I have stated what Gnumeric does right now. Nothing wrong indeed. Just that Brian Jones calls it "very rich support". Who is openly lying?

    Also, there is a reason why the example in the screenshot has no formatting styles. See what I mean?

    Anyway, I’m glad having a discussion with you. I don’t agree with what you said though.

  39. Stephane Rodriguez says:

    Miguel said "I do not understand your point about changing the contents of the file format.   You modified the file incorrectly without updating the calcChain.xml component (which is well documented on the spec :-)"

    Huh, it’s Microsoft who is explicitely claiming you can make changes to spreadsheet data without worrying about anything else than trivial changes such as those I illustrated. They have been repeating that false assertion for just about as long as OOXML came into existence.

    I realize you may not have paid so much attention to those blogs (marketing brochures) and claims, but that’s all there for anyone to read. I just prove them wrong with one simple counter-example.

  40. ray says:

    Stephane your arguments are very persuasive from a technical point of view, but because you continue to phrase everything you say in such a rude and arrogant way, you lose any credibility.

  41. Stephane Rodriguez says:

    You guys anonymous cowards seem to work in tandem.

    When it’s not arrogance, it’s too much negativity. When it’s not negativity, it’s IBM conspiracy. And so on.

    The common theme is that you are trying to make an illusion, well orchestrated by Microsoft, and extremely appealing shall I add, a reality. For that to work, you need to marginalize people. Don’t worry, your cause is already well advanced since I’m commenting in a place that only a few people will read. It’s one of the true cleverness of Microsoft blogging attitude to allow for "open" comments to proliferate in places where it just does not matter.

    You have surrendered. Your reality is, to take a metaphore, a slight variant of Excel broken maths which, because of the market ubiquity, redefines what maths should be.

  42. Andrew Sayers says:


    Since we’re talking about debating techniques, I’d like to ask about how you see the nature of a debate.

    Having watched you argue with people, it seems like your approach is rather like a war: your objective is to pound your enemies into submission by overwhelming force.  Is that a fair assessment, and if not, how would you describe your approach?

    – Andrew

  43. Andrew Hilton says:


    The only one I see attempting to create an illusion is you.  You seem completely and utterly one-sided, your technical arguments are often debunked yet you refuse to see it.  In fact your responses usually consist of  hurled insults, accusations and more conspiracy theories.  Hardly helping your cause is it?

  44. Wesley Parish says:


    a: a minor problem I’ve come across with the ECMA 376 OOXML spec-standard;

    and b: a minor problem I’ve discovered trying to set up a test environment for Novell’s converter package and MS Office 2k7.

    Firstly, the spec – MS Office 2k7 is the reference implementation, is it not?  And the spec has to keep close to the reference implementation.  Two issues – what happens if the spec is forced to change dramatically, as a result of these issues, on the way to becoming an international standard?  And how fast have the MS Office team been, in altering the source tree for such major issues?

    Secondly, I bought an Australian computer magazine the other day.  It included a copy of MS Office 2k7, and I’d already got a copy of Novell SLED 10, from a British Linux mag.  Great, I said to myself.  I can do some serious testing on interoperability for files of serious size, having written a novel at least 13 000 words long.  And a million ideas of weird and wonderful ways of formatting a text that long – the Desktop Publisher From Hell.

    There was a bit of bureaucratic fluffing around with live.com to get a key for my trial copy of MS Office 2k7, amongst which was the requirement of giving my address, my state, etc, in the United States of America.  Just great!  I don’t happen to live in the US.  But there were no other options in the Country field.

    I think upper management is shafting you, Brian.  I would be ropable, like a wild bull, if I was relying on trial editions of MS Office 2k7 to tell me whether or not I could trust MS Office 2k7 as an upgrade.  I would be even more ropable if I was relying on business uptake of the same said product to pay my wages.

  45. Andrew Hilton says:


    Do you have any point to make at all or are you just running out of things to say?

  46. Stephane Rodriguez says:

    It’s more a David versus Goliath kind of fight, don’t you think?

  47. Stephane Rodriguez says:

    "The only one I see attempting to create an illusion is you.  You seem completely and utterly one-sided, your technical arguments are often debunked yet you refuse to see it."

    I know a ton of people have already surrendered, that’s kind of the problem.

    As for my technical arguments, everything I said is true and is provable. It’s commenters’ counter-arguments that are just typical spin. None of them provide examples by the way…

  48. Andrew Hilton says:

    There you go again..

  49. Andrew Sayers says:


    It’s interesting that you cast yourself as David fighting Goliath – I can see how that would be a very apt analogy in terms of the program you write, but people that only see you through this blog seem to get the impression of artillery barrages that overwhelm anyone you disagree with.

    Would you say that your blogging is an offshoot of the things you’ve learnt in order to write your program, or that the two are equal partners?

    – Andrew

  50. Stephane Rodriguez says:

    What you call artillery barrage is more a wake up call.

    When you implement this stuff, it does not take long to feel betrayed between marketing and the reality. You don’t have to take my words, even though the examples can be reproduced, just take a look at their forums.

    I certainly hate the idea that, in 2007, Microsoft is still putting the burden on developers out there. You think they changed their formats? That’s probably the biggest scam of all the OOXML saga. They really must have had a lot of laughs using ZIP entries instead of OLE streams (2 hours of work), and XML elements instead of binary records (couple days  of work), and calling the resulting stuff a new era…

    In reality, anyone willing to interoperate across platforms and applications will have to do the hard work, often trying to mimics Word/Excel/Powerpoint engine instances only to be able to move a fragment of document in another context.

    What I say certainly reflects some of my own work since I implement this stuff (which is why I can’t be proven wrong by the way). But beyond basic examples, everything I would say would remain marginally read so I don’t even bother put it here (I know Brian does not even bother), I am still mum about interesting cross environment issues such as moving back and forth from Office 2007 documents to OpenOffice documents (diffopc+).

  51. Andrew Sayers says:

    I’m not really sure what you’re saying about your debating technique – is it that venting your frustration is your main goal, or just that you prefer to make your frustration known while making arguments?

    – Andrew

  52. Stephane Rodriguez says:

    I made a simple answer to your question, it’s a wake up call basically. Take it for what it’s worth. As an individual, I’m not sure I can do much more. Remember I am not afiliated to any party, any lobbying party, and am not employed by any company that has a vested interest here.

    As for the rest of my answer, I felt like adding one more history bit, explaining that the new file formats are actually not new file formats at all. You will not here that from parties who might have an $înterest$ in selling this stuff (as if it were new stuff, game-changing stuff) to their customers. It so happens that in the (large) company I worked for a couple of years ago, we did just that, moved from OLE to ZIP, reshuffled the internal parts. It took us a couple days from begin to final check-in, we did not claim (to our 30,000+ customers) that we were changing the file format game, and did not feel the need to push this thing to international bodies.

  53. John says:

    Hi all,

     I’m a first time commenter here, so please bare with me if I mess this up.

     If I understand the patent situation around OOXML correctly, isn’t what gnumeric is doing illegal?

     Since gnumeric does not have a full implementation of OOXML yet, they are not covered by the patent protection for OOXML.  Microsoft’s patent covenant only covers full implementations.

     So if gnumeric has hit any of MS’s patents by implementing this, couldn’t Microsoft sue Gnumeric now?  Isn’t it a risk on Gnumeric’s part?


  54. frut says:

    "Why thereโ€™s no โ€œMicrosoftโ€ in Open XML"

    It is a ridiculous claim. I have no problem with Microsoft having OpenXMl as its format. It makes no sense to deny the obvious. You know that. How can developers trust you when you even are dishonest on the obvious issues? What I liked about MS Tech Talks was people who said: this is garbage, this works. No marketing bullsh*t.

    Miguel says Gnumeric supports OpenXML? You chose the right person. Miguel is a "product preview" specialist. He presents you alpha software and will claim it supports the spec or would be finalised soon, just to infect others with his kludge. As a SuSe user thanks for the Red Carpets…

    Trust is an important asset. As a developer I don’t trust Microsoft here. But I trust SUN Microsystems. I also don’t Miguel. But I do trust IBM or the FFII.

    Sun irrevocably covenants that, …, it will not seek to enforce any of its …patents against any implementation of X in which development Sun participates to the point of incurring an obligation, as defined by the rules of OASIS, to grant (or commit to grant) patent licenses or make equivalent non-assertion covenants.

    Microsoft irrevocably covenants that it will not seek to enforce any of its patent claims necessary to conform to the technical specifications for the X against those conforming parts of software products.

    Everyone was sceptical. So Microsoft gave an additional "promise", the OSP.

    See Phipps



    Where is the lawyer that approves the OSP is applicable and valid on a worldwide scale and ensures that I or my customers won’t get in trouble? Why didn’t Microsoft advance with a real license that is clearly no deception?

    My impression is that Microsoft does not really want consumer confidence in their patent licenses. Microsoft vendors will feel safe and others will feel unsafe. It is not about "real patents", just about risks. None of us will ever die because of radical muslims but we are afraid and let our benevolent governments improve security measures. The same trick. Patents are about psychological warfare and damage our markets. Don’t forget that consumer inconfidence will help Microsoft to sell its patent indemnification deals…

    A software patent is an option to kill. A patent on a "standard" is very dangerous, see the gif desaster. So let’s better be a bit paranoid than naive.

  55. hAl says:

    [quote]Microsoft’s patent covenant only covers full implementations.[/quote]

    That is from groklaw legal explanations 101 I asume ?

    The Micrsoft patent openspecification promise (OSP) covers only portions of the spec you require for your implementation.

    That means the OSP does not cover patens you do not need in your implementation. For example you can’t claim the OSP release on Office Open XML gives you the right to use some Microsoft .NET related patent because you implemented the specification using .NET that is because you do not nescesarily require .NET.

  56. Regarding the Gnumeric case, the FAQ on the Microsoft OSP site addresses partial implementation in detail: "Q: What if I donโ€™t implement the entire specification? Will I still get the protections under the OSP?"

    Also, in addition to the OSP, ECMA 376 was originally licensed under another patent covenant:



  57. Andrew Sayers says:


    Sorry if I tried to analyse your comments more deeply than they were written.  I really am interested to learn about your approach, because it clearly comes from a perspective I don’t yet understand.

    It seems like your interest is in changing the behaviour of large, powerful actors in this debate that are acting in bad faith.  If that’s the case, I can see how issuing a forceful wake-up call would make sense, because you’re trying to make them realise the foolishness of their position.  I can also see how it would be an uphill struggle, because you’re trying to make them act against whatever interest caused their bad faith in the first place.

    That said, not everybody that disagrees with you is large, powerful, or acting in bad faith.  Some people don’t understand, have different priorities, or even know something you don’t.  It seems to me that a more conciliatory, less personal approach would be less likely to make people get defencive or have bruised egos, both of which cause people to disagree for personal rather than rational reasons.

    Admittedly, those emotional reactions made more sense back when people were getting attacked by lions rather than words, but evolution has decided we need to be backwards compatible with cavemen ๐Ÿ˜‰

    – Andrew

  58. John says:

    Hi Miguel,

     Thanks for the link.  It says on the link that "This covenant shall not apply with respect to any person or entity that asserts, threatens, or seeks at any time to enforce a patent right or rights against Microsoft or any of its affiliates relating to any conforming implementation of the same Specification."

    So are you arguing that a partial implementation counts as conforming to the spec?  Does that mean that there are no compulsory parts to the specification?

    I found the FAQ which says that partial implementations are okay.  If the FAQ says that this is the intention, is this legally binding?


  59. Wesley Parish says:

    Andrew Hilton,

    Did you yourself have anything to say?

    In reality, yes, I had several things to say.

    If ECMA 376 gets as drastically revised as it seems it will need to, to get any sort of international standards approval, it will no longer represent the MS Office 2k7 file format.  If so, and if Microsoft still wishes to represent MS Office 2k7 as using ECMA 376, then they will need to rather drastically revise MS Office 2k7.  Brian gives us the precise reason why, in this:


    To wit:

    "WordprocessingML was built with the legacy base of Word documents in mind and it follows the original model you see in those documents pretty closely. This is why Open XML exists. There are other formats out there, but Open XML is the only one that was designed with compatibility with legacy Office documents in mind."

    For this reason, a file format change with MS Office 2k7 and ECMA 376 is not going to be a simple alteration of a format conversion engine, it is going to reach deep into the very bowels of MS Office 2k7.  And I don’t see Microsoft as being capable of doing it short of a major point release – in other words, at least a couple of years.

    Last but hardly least, Microsoft has obviously released its Trial Edition of MS Office 2k7 to drum up interest and to permit people to try it before buying it.  But limiting it to the USA is counterproductive when you are waging an international campaign for its file format, as Microsoft is clearly doing.

    In other words, I see it as another example of Microsoft’s NIH – Not Invented Here – attitude, which is going to really piss people off.

    But that is Microsoft’s problem, not mine, and anyway, as I’ve previously mentioned, I already use OpenOffice.org because I can use it on the three platforms I regularly use, so I don’t actually need the Trial Edition – I just thought it would show I’m not a hide-bound ABMer and unwilling to help.

    Instead, I find it’s Microsoft that’s unwilling to help.

  60. John says:

    Uh, I somehow pasted the wrong quote sorry. The quote was supposed to be the bit about how it only applies to conforming specs.

  61. Stephane Rodriguez says:

    "If that’s the case, I can see how issuing a forceful wake-up call would make sense, because you’re trying to make them realise the foolishness of their position."

    Not really. The fools are those swallowing Microsoft’s marketing. What Microsoft does is perfectly inline with what they’ve done for as long as they exist (lock-in).

    Haven’t I demonstrated with the simple example above that there is no free lunch? This example is expected to be seen by implementers out there before they draw wrong expectations about the "new Office XML world", I don’t care if Microsoft sees it.

  62. hAl says:


    The specification actually has a clause on conformance. To summarize I think it says that partial implementaions are allowed to claim conformance as long as the implementations makes clear what it implenents or what it doesn’t implement.

    So if you create an implementation that is partial and distribute it to others then the conformance part specification says you should give them some kind of indication of your level of support.

    There is also a few blog postings by Brian Jones on conformance. This is one:


  63. John,

    The answer is very clear that partial implementations are OK.  Did you read the correct question?


  64. John says:


     Did you read my question?  I said that I see the FAQ says it is allowed and asked if that FAQ is legally binding, since the covenant itself seems a bit ambiguous.

     If the FAQ says its okay, could this be taken legally binding?


  65. Andrew Sayers says:


    I understand now that your aim is to help people that aren’t as aware of the issues as you are, and I agree that your arguments are often technically strong.

    There’s an issue of biology here.  When humans feel like they’re under attack, they have a very strong biological reaction called the "fight-or-flight response", which tells them to either run away or to defend their position (depending on the person and the situation).  As I hinted at in my last comment, this is a very useful survival instinct when dealing with physical threats, but quite unfortunate when dealing with words.

    In a discussion, as soon as someone decides they’re under attack, the possibility for dispassionate debate goes away, and all the logical arguments in the world won’t change their mind.  As such, it’s important to do everything you can to make sure people don’t feel under attack.

    People are complicated animals, and I won’t pretend to be an expert on good user interface design for arguments, but using a conciliatory tone and avoiding personal remarks generally reduces the probability of triggering people’s fight-or-flight response.

    – Andrew

  66. Stephane Rodriguez says:


    This discussion goes absolutely nowhere. I don’t know if you are writing a thesis, the correlation between Microsoft Office file formats and monkeys, as seen by the blogosphere. But I wish you good luck.

    Enough is enough, thanks for diluting my technical points even more.

  67. John says:


     Ah thanks!  I read through the wikipedia page.  As far as I understand, it would be fairly country specific.  This would mean that it would be safe to distribute Gnumeric in some (most?) countries, but still legally shaky in others?

     I realise this sounds very paranoid, but MS have been very vocal about linux infringing on patents lately.  It’s worth just double checking that it’s all okay.



  68. John,

    At this point I can not add anything else, you will have to talk to an international lawyer to get your questions answered.


  69. John says:


     Okay thanks ๐Ÿ™‚


  70. KAMI says:


    Y’re probably right but please, share your thoughts about this document:


  71. KAMI says:

    U’re probably right but please share your thoughts about this document:


  72. hAl says:

    KAMI, you should know that Grokdoc does not allow for positive info on OOXML or correcting false information.

    It is only about critisism and they do not care if it is correct or not. They actually ban people if they try to correct certain false information.

  73. Andrew Sayers says:


    I apologise if I’ve caused offence.  My intention was to offer advice about how you can present your arguments in a way that will get the result you’re looking for – I can imagine how frustrating it must be to have good arguments ignored, and I think you can get a better result by changing your style a little.

    – Andrew

  74. John says:


     I read through hAl’s edits on grokdoc to see what he was referring to.

     Most of his complaints seem to be addressed in the Talk page.  I can certainly see why hAl feels that his ideas are just dismissed, but looking through the talk page they have good counterpoints.


  75. hAl says:


    I also tried via http://www.grokdoc.net/index.php/EOOXML_Objections_Clearinghouse

    then my account was removed or suspended.

    As you might have noticed not a single commentary has had any change unless it was to the negative. Serious information that actually balances out some of the issues is ignored and providing it gets your account lost.

    The section on intellectual property is actually a disgrace for a site that claims to have a certain legal background. To be honest I would call some of the information on that site blatant lies. It certainly is no objective information or even verified information. Allthough it does have some good points gathering a set of initial possble comments it is in general a very unrelialbe information source.  

  76. John says:


     I really can’t tell either way, so I’ll take your word on it.

     But MS does such dodgy stuff all the time, I’d still trust Groklaw more than MS.  Like take my question about partial implementations.  They have great lawyers, so they could have just come up with a patent pledge as good as Suns, yet they purposefully don’t.  

     Too much shit flying about on both sides ๐Ÿ™

  77. Craig Matthews says:

    I have been a supporter of OOXML, but the GrokDoc document mentioned here in previous comments seems to bring up some excellent points.  Certainly it makes sense to me to at least not /fast-track/ this to standardization.  An International standard should have a bit of vetting and discussion.  I’d very much like to see the issues in the GrokDoc document addressed and would appreciate if anyone can direct me to refutations.  

    Additionally, I think the patent concerns are valid, especially in a society where big companies are nearly ready to sue people for fast forwarding past commercials, I don’t really think Microsoft saying something akin to "We swear to God we won’t sue you" really cuts it.

  78. John says:

    Craig, my thoughts exactly.  It’s all too dodgy.

    For example, it seems that if they make a small change to the file format and then release that as a new revision, that revision is not covered at all under the patent protection.

    Whereas the ODF patent promise of course covers all future versions.

  79. KAMI says:

    Who have read all of OOXML spec.? But I am open to opinions that say OOXML is ok for a standard, but we have already a standard based on ODF specification. Brian what is your opinion about GorkDoc documnet? I am really interested to hear your voice.

  80. Andrew Sayers says:

    Brian said in another thread that he’s away this week, so you’ll have to wait a while if you really want to hear his opinion.

    What I can tell you is that Microsoft people generally say that the "first standard through the ISO wins" argument is absurd, because it favours standards for reasons not based on their technical merits.  They also point to ECMA’s remarks during the "whether to fast track" discussion earlier this year (http://www.computerworld.com/pdfs/Ecma.pdf) for answers to many of the OOXML objections (among other things).

    That’s not to say I agree with either of the above, just that they’re answers I’ve seen before.

    – Andrew

  81. Anonymous Coward says:

    A counter-article that is surely worth mentioning here, giving some more depth to this hilarious test above.


  82. hAl says:

    [quote]Whereas the ODF patent promise of course covers all future versions.[/quote]

    That is incorrect. Suns covenant no to sue only covers versions that Sun participates on in OASIS !!

    On the other hand you have Office Open XML in Ecma. The Ecma code of conduct on patent matters actually requires all members to drop patent calims on any standard they participate on or votes favourably on with Ecma. So any new version of Office Open XML in Ecma that Micrsoft participates on or even just votes for requires Microsoft to renew their patent promise.

    That is essentially the same within Opendocument as any new version of Opendocument in OASIS that Sun participates falls under current their patent promise.

    Strange that this kind of easily verifiable information is left out of any sites opposing Office Open XML !!!

    Strange for instance because IBM as a member is well aware of Ecma patent requirements.

  83. John says:


     Not so at all.

     If Sun drops out of OASIS and then OASIS release a new version of ODF, that new version is still covered by the same covenant.  The only case it doesn’t cover is if the new version infringes on patents that old versions didn’t.  Which is pretty reasonable.

     With MS’s OOXML, on the other hand, if they simply don’t sumbit the new version to the ECMA then that new version is not covered by the patents at all.

     It is not ‘essentially the same’ at all.  I can see now why you feel groklaw is biased.

  84. John Scholes says:

    Stephane: many thanks for the specific example. I find that actual examples always clarify enormously. I spent several weeks trying to get Stephen McGibbon to produce examples to back up his claim that "legacy docs" (saved in old MS Office formats) could not be represented in ODF (or not as well as in Ecma 376). He never produced any and eventually switched to a  different argument.

    Andrew Savers: of course, you are correct. Polite ad rem argument is the ideal. But you have to understand that there is a long history of appalling behaviour by MS over 20 years. We still have MS making absurdly high monopoly profits (just look at the 10K). Critics are human – inevitably their exasperation will show through sometimes.

    hAL. The OSP. In many ways it looks "state of the art" and excellent. But it has this odd feature of excluding protection from "optional" parts of the standard. Since almost every part is optional, that appears to mean it is completely ineffective in the case of Ecma 376. I am unclear whether that is intentional or not. Attempts to get MS to clarify have not yet succeeded, but no doubt JTC1 will eventually force them to come clean.

  85. hAl says:


    [quote]If Sun drops out of OASIS and then OASIS release a new version of ODF, that new version is still covered by the same covenant.[/quote]NO IT DOES NOT !!

    The Sun covenant states

    "or of any subsequent version thereof ("OpenDocument Implementation") in which development Sun participates to the point of incurring an obligation"

    No Sun participation, no covenant !!!!

  86. Stephane Rodriguez says:

    @John Scholes,


    I have to add that, the extreme defensiveness of Microsoft towards their cash cow, is increased with ECMA 376, not decreased. Here is why :

    The Excel binary file format, BIFF, did not work that way. It did not mind that the calc chain was corrupted or not, it would silently rebuild it.

    Office 2007 spreadsheets make it orders of magnitude more expensive for "hackers" to make simple changes to spreadsheets.

    In fact, willing to accept to find a workaround to that, as others have suggested, actually makes my point. Having to find a workaround means that the simple effective cell change cannot be done. Willing to delete the calculation chain means you are willing to degrade the spreadsheet as a whole, meaning in turn you are setting Office 2007 as the primary client, and your own client is a second-citizen. Which is, ironically, kind of the point I am trying to make…

    As for rebuilding the calculation chain, you end up rewriting Excel itself. I am not sure your employer would love to hear that, just to make a change to a cell without using Office 2007.

    To add insult to injury, none of this is documented in ECMA 376. The reason why is because ECMA 376 is a description, not a specification. A full specification goes in the range of 600,000 pages.

    Anyway, the situation we have here is dead simple. The generally positive opinion about XML is used by Microsoft as a diversion to more lock-in, lock-in, lock-in.

  87. nksingh says:


    The calcchain.xml is pretty simply documented in the ECMA spec.  I just checked it out.  If you want to keep it up to date, you can do so in a fully documented and compliant manner.  If you want excel to rebuild it (like you would have had to in BIFF8), you can simply omit that part when recomposing the zip file.  Now, it is probably an implementation flaw in Office 2007 that this rebuilding does not happen automatically if a flaw is detected.  If, as an ISV in good standing, you asked Microsoft to actually get this issue fixed, it probably will happen soon enough.

    The workaround of just dropping the calcchain part isn’t so onerous, so I don’t know what you’re moaning about.  An implementation flaw in excel is certainly not enough of a reason to drop an entire spec.  So what if it’s a recasting of BIFF8?  Clearly, the old format was not exposably as a widely documented standard since it relied on things such as OLE storage.  Converting it to XML was a necessary step before standardizing it.  

    Having an ISO standard for the most used Office Suite on the planet is not really a disadvantage, unless you should want to use the lack of an ISO standard as a anti-competitive means to diminish the marketshare of that suite.  Just because you’re taking down the big guy doesn’t mean you’re promoting competition (the customer doesn’t benefit unless the replacement software comes at a lower price or higher quality, which doesn’t seem to be the case with ODF software).  

    Can you dredge up real examples, or are you going to harp on these cases about protected documents and calculation chains?  None of this stuff is particularly earth-shattering or painful for an organization wishing to transition to or from an OOXML-compliant office app.

  88. Stephane Rodriguez says:


    You don’t seem to understand.

    If you have to worry about the calculation chain, you make my point.

    The no-brainer scenario, which is been repeated on this blog and elsewhere ever since those formats came into existence, was such that all it took to edit data was to unzip, and make careful XML changes.

    That is a fraud.

    As for BIFF, let me repeat it for you,

    – when Office 2007 opens a .xls file (BIFF) whose calculation chain is corrupt as a result of external manipulation, it does not complain at all. The calculation chain is rebuilt silently.

    – when Office 2007 opens a .xlsx file (SpreadsheetML) whose calculation chain is corrupt as a result of a similar external manipulation, it complains.

    Try to convince me that SpreadsheetML is more open than BIFF. Good luck.

  89. I was out for the past week at a family event in Winnipeg. I didn’t have any access to e-mail or internet

  90. I was out for the past week at a family event in Winnipeg. I didn&#39;t have any access to e-mail or

  91. Debunker says:

    A particular ooxml file created with Gnumeric and succesfully read in Numbers?

    That only proves that that particular OOXML file can be shared accross platforms, is vendor neutral. It doesn’t quite prove that ALL ooxml files are vendor-neutral, that there’s no ‘Microsoft’ in ooxml.

    Ooxml can embed Microsoft specific technoligies like ActiveX and VML. The ooxml specs use ‘UseLineBreaksLikeWord95’. None of these are specified.

    Your little "proof" falls flat on its face when we consider an ooxml document containg a VML document or UseLineBreaksLikeWord95 tag, for instance.

    Your article single data point "proof": one ooxml file is vendor neutral, ergo: all ooxml-files is vendor neutral. Logic works only in Microsoft PR that way.

    In the real world the following logic holds: there is a ooxml file (containing VML or UseLineBreaksLikeWord95, for instance) that can only be implemented by Microsoft, hence ooxml is not vendor neutral. There is "Microsoft" in ooxml.

  92. name says:

    Ah… the Microsoft propaganda machine again..

    Great. A trivial OOXML file that can be exchanged between non-Microsoft products. That’s great. Just great. Yep.. There’s no "Microsoft" in OOXML. Nope.

    And what about these OOXML function that are not specified in that 6000 pages and can only be implemented faithfully by Microsoft. Oh, wait. There is  "Microsoft" in OOXML.

    Scum, you are Brian. Filth. A lower lifeform.

  93. http://antitrust.slated.org/www.iowaconsumercase.org/011607/2000/PX02991.pdf says:


    From: Bill Gates

    Sent: Saturday, December 5 1998

    To: Bob Muglia, Jon DeVann, Steven Sinofsky

    Subject : Office rendering

    One thing we have got to change in our strategy – allowing Office documents to be rendered very well by other peoples browsers is one of the most destructive things we could do to the company.

    We have to stop putting any effort into this and make sure that Office documents very well depends on PROPRIETARY IE capabilities.

    Anything else is suicide for our platform. This is a case where Office has to avoid doing something to destroy Windows.

    I would be glad to explain at a greater length.

    Likewise this love of DAV in Office/Exchange is a huge problem. I would also like to make sure people understand this as well.

  94. http://antitrust.slated.org/www.iowaconsumercase.org/VolumeXXV-January52007.txt says:


              24       Q.   Okay.  And now, again, for the Jury,

              25   what does embrace mean in this context as used


               1   by Microsoft employees?

               2       A.   It’s used to indicate a strategy where

               3   Microsoft will embrace the standards or the

               4   specifications and interfaces of another

               5   company’s software.

               6       Q.   Okay.  And what does extend refer to?

               7       A.   Once the specifications have been

               8   embraced, then Microsoft will extend them and

               9   add additional interfaces proprietary to

              10   Microsoft.

              11       Q.   Okay.  When you say add additional

              12   proprietary interfaces that are Microsoft’s,

              13   what impact does that have technologically to

              14   other ISVs and OEMs?

              15       A.   Well, the result is or the impact is

              16   that what was once sort of community

              17   development property, the work of the industry

              18   and industry participants is appropriated

              19   essentially, is taken over by Microsoft.

              20            And then Microsoft takes it and with

              21   its proprietary extensions, makes it

              22   essentially unavailable on a going-forward

              23   basis to the industry participants who were

              24   responsible for first developing the

              25   specifications and the standards.


               1       Q.   Okay.  And when Microsoft makes those

               2   APIs unavailable to certain ISVs and OEMs,

               3   what’s the impact to those ISVs and OEMs of

               4   their ability technologically to create

               5   products?

               6       A.   It reduces their ability to create

               7   products, especially products that will

               8   interoperate with Microsoft’s products.

               9       Q.   Okay.  Thank you, sir.

  95. MikeD says:

    "You don’t seem to understand.

    If you have to worry about the calculation chain, you make my point.

    The no-brainer scenario, which is been repeated on this blog and elsewhere ever since those formats came into existence, was such that all it took to edit data was to unzip, and make careful XML changes.

    That is a fraud."


    Stephane, do you realize how idiotic you sound?  The fact that something data is laid out as XML text does NOT mean that you can randomly change XML data and expect the document to remain consitent with itself.  If you have to change the data in multiple places, then deal with it.

    99.99999999999% of document manipulation will be done with software, not humans trying to change the XML manually.  Those that do try to change the data manually have to know what they’re doing.  Just like if someone modified the textual data of an RTF or HTML document by hand; you have to know what the hell you’re doing.  This is no different than any other format.

  96. MikeD says:

    I only skimmed this thread, since most of it is anti-Microsoft folk talking to each other about how horrible Microsoft is.

    But I read about this on slashdot, and Miguel’s post there thoroughly deconstructs Stephane’s arguments:


    Not that you, Stephane, have much credibility anyway, given your behavior here.  You’ve trolled this blog for months, and constantly insult Brian, calling him a liar and whatnot, with the weakest of arguments to back you up.  I would have banned you long ago, but Brian is a better man than I.

    Don’t mistake the fact that you have fellow Microsoft-haters cheering you on here for validation that you’re in the right to be so insulting or that you’re correct on the facts.  Most of your cheerleaders would cheer you on no matter what you said, as long as it was bashing Microsoft.  And it’s clearly in evidence here.  The arguments you’ve put up are sooo weak, it’s hard to believe that someone would publicly lend his name to such drivel.  Reminds me of "Better to keep your mouth shut and let everyone think your a fool than to open your mouth and remove all doubt."

  97. Roger says:

    There is obviously a lot of animosity against Microsoft due to its past behavior (as shown by Mr. Gates and Mr. Alepin’s words above).  It is only natural that people that work for MS or that have a stake in their success become defensive, especially when sometimes that animosity and lack of trust leads critics to make unfair criticisms.

    Coming in as an outsider and with a fresh perspective on this debate, I think there is only one thing I could contribute to it, having just read the whole thread.  I think that Stephane Rodriguez is trying to attack "the perception" that MS is trying to promote about OOXML that it is a very easy to manipulate, with non MS tools, format.  I myself attended a  MS Office 2007 Product Launch in which the presenter demonstrated the modification of an Office document with Notepad, obviously selling "the perception" that it was a trivial thing to do.  Sure, there are technical ways to work around the problems he presents, but that is not his point, as far as I understand.

    I hope this post is helpful to those on either side.

  98. jones206@hotmail.com says:

    Great comments everyone.

    I think the notepad examples are pretty good for showing basic types of manipulation. I use the notepad examples to help show the basic constructs of a document as a learning tool for people.

    To expect that you can load a complex document and make manipulations with notepad and no awareness of other parts of the document that rely on that data is not really something folks should do though.


    I don’t think I’ll reply to some of the other comments, other than to say I don’t really think I’m "scum" or "filth". I actually bathe fairly often, and I think I have a rather clean appearance. I will admit that I use an all natural deodorant which isn’t really quite as effective as those ones loaded with all that aluminum crap, so I do tend to smell a bit towards the end of the day (sorry).


  99. John says:


     HAHA.  Dude!  Too much info! ๐Ÿ™‚