Microsoft Releases Office Binary Formats
Microsoft has released documentation on their Office binary formats. Before jumping up and down gleefully, those working on related open source efforts, such as OpenOffice, might want to take a very close look at Microsoft's Open Specification Promise to see if it seems to cover those working on GPL software; some believe it doesn't. stm2 points us to some good advice from Joel Spolsky to programmers tempted to dig into the spec and create an Excel competitor over a weekend that reads and writes these formats: find an easier way. Joel provides some workarounds that render it possible to make use of these binary files. "[A] normal programmer would conclude that Office's binary file formats: are deliberately obfuscated; are the product of a demented Borg mind; were created by insanely bad programmers; and are impossible to read or create correctly. You'd be wrong on all four counts."
It was that last part that made Sun kill it. They couldn't stand Java running better on Windows than it did on Solaris. (Never mind the fact that Sun's Java to this day runs better on Windows than any other platform.)
So they sued Microsoft and forced Microsoft to stop updating their Java implementation. Because they were no longer updating Java their implementation fell behind Sun's. Because Sun has this compulsive urge to bloat the Java library, the Microsoft implementation became incomplete over time.
But back in the day, the Microsoft J++ development environment was far superior to anything Sun had to offer. We're talking a good 10 years ago. Sun has finally managed to catch up in the past two or three years, but still, Sun's problem wasn't that the Microsoft implementation was worse: their problem was that it was better.
I think this workaround is for companies and professionals with resources, not just zealots. Chances are if you are doing web applications that parse MS Office formats, you're intelligent enough to be running office on one of your servers, instead of pouring thousands of man hours into implementing something that you can give away to competitors through the GPL.
If you are an open source zealot, I recommend the following work-arounds:
* Complain that the code is somehow inferior
* Make a conspiracy theory about how Microsoft foresaw open source and were trying to stifle it
* Solve 40% of the problem and claim superiority
* Hack something unreadable together in perl and pretend that it's more interoperable- once more, claim superiority
I read it fine, I think. The fact is that there's nothing more complex or less useful about using i, j, k (this is pretty much convention now) or "blahIndex" for indices, using "blahCount" for count, and the "d" prefix is pretty much a maths thing (delta) so it's common enough anyway.
I really don't want to get dragged into another one of these arguments, though.
? what the hell are you complaining about...we don't want people extending ODT but COMPLYING with it! The same with Microsoft: they want...THEIR SOFTWARE TO KEEP WORKING WITH ANYTHING LABELLED UNDER THEIR SPEC! DUH. If you change it up, you'd have to change your file and make sure it doesn't say ".doc" or any bull like that. Sheesh. The only reason I sound pissy is this seems like one of those ill-thought comments aiming to attack the big, bad, ogre. When Microsoft tries to pull unethical crap...then complain. But don't complain about something reasonable. Wouldn't you guys be pissed to get an important "opendocument" file and discover someone decided to "extend" it so that you couldn't open it, or open it right?
Intelligent idiots are we. | Evil men do not understand justice.