A rant about blind spots

This post by Miguel articulates very well something that I've been hoping for a long time that someone would say in the debate regarding ODF and Microsoft's OOXML format: that "ODF good, OOXML bad" is a GROSS oversimplification of the situation. Mainly because ever since it's release, ODF has been content to rest entirely on its laurels as the "Open" and "ISO Standard" office file format specification - completely ignoring the fact that on a technical level it just plain SUCKS.

Isn't the Open Source movement supposed to be all about making software that doesn't suck? Isn't Free Software supposed to be about the freedom to FIX problems? Aren't we supposed to be a meritocracy?

A spreadsheet format "standard" that doesn't define formulas? What the hell? How ANYONE with a straight face can claim that the problem of standardizing office file formats is "solved" by ODF and all we need to do is get people to use it, is beyond me. Maybe it's the best starting point - but where's the group working to fill in the glaring holes and get that standardized too? Free Software interprets sucky standards and glaring holes in standards as damage and routes around them... by forming other groups to specify the behavior, or by moving to other standards that don't suck. See WHATWG. See CORBA on the desktop. See XML Schema. Perhaps OOXML is that better standard, perhaps it isn't, but I don't see anyone on the ODF side even admitting there's a problem to be solved [UPDATE: Apparently there is such a group, called OpenFormula, working to fix that particular hole. That's great and I wish them every success, but it's mostly irrelevant to my main point. See the comments for more...] As long as that attitude persists, OOXML has a better chance of being that better standard than ODF does of evolving into it.

We take pride in the fact that our licenses will never discriminate against any person or organization or field of endeavor. Any licence that passes the DFSG or OSD is GUARANTEED to ensure that the software may be equally used by an evangelical Christian group or an abortion clinic or a gay rights group or a pornographer, by the United States government or by islamist extremists, by the EFF or by patent lawyers, by pacifists or by the military, by spammers or by antispam organizations... I could keep going, but you get the idea. But this isn't just a minor point, this is the CORNERSTONE of what Free Software is all about. Freedom means nondiscrimination. Including against people we as the developers of the software find distasteful.

So why is it that we make a point to treat pornographers, extremists, spammers, and even evangelicals ( ;) ) with fairness and equality, but the moment Microsoft is mentioned we forget all about that freedom and fairness and meritocracy, and immediately object vociferously and almost unanimously, EVEN when what they're doing is RIGHT?

Why is it that Groklaw, the site that earned a reputation for fairness and objectivity by making a point to give SCO's claims every possible benefit of the doubt and patiently examine every one of their claims including any time there was the ghost of a chance they might have some semblence of a real point - why is it that Groklaw had a fit when someone wanted to submit a Microsoft license to the OSI for evaluation, when by all accounts the license in question DOES pass the OSD and DFSG?

Why is it that Groklaw reported the MS-Novell deal with the headline NOVELL SELLS OUT - long before there was ANY chance for ANYONE to have examined the nature of the deal to know whether it was actually problematic or not? Why are otherwise reasonable people like Bruce Perens claiming that Novell is the next SCO, when it's completely obvious that Novell's lawyers simply made a mistake and are working with a perhaps intransigent group of MS lawyers to figure out a way to fix the problems? Even one of MS's lawyers has come out and said this outright.

So why are we vilifying Novell and treating them as outcasts, rather than recognizing that they, like IBM with patent lawsuits, like Sun until very recently with their Java licensing, like Canonical with binary drivers, and even I'm sure like Red Hat although I can't think of a blatant recent example - are a company that does a lot of good things but have made a bad decision?

And why are we treating Microsoft as the embodiment of pure evil rather than a company that does a lot of bad things but in the case of OOXML is actually doing the right thing - coming up with a file format that is by all accounts a vast IMPROVEMENT over ODF, is freely licensed including patents, independently implementable, doesn't have any HUGE GLARING HOLES in it, is actually documented and specified in detail, and being submitted to ISO for standardization.

Yes, there are problems with OOXML. It's stupid to standardize options for backward compatibility with old proprietary software when you've gone to all this trouble to invent an extensible format with all sorts of ways to embed extra proprietary information. Using that extensibility to support the legacy crap should be a no-brainer, and I hope this will be fixed in the ISO comments period. I'm sure there are other issues too. Maybe lots of them. But at least it's (almost) fully specified, open, and freely implementable - of which ODF manages only two out of three.

If you want a child to learn good behavior, it isn't enough to point out and punish the bad behaviors. You have to point out and reward the good ones too. It's well established that rewarding the good behaviors has a vastly greater effect, in fact. And punishing the GOOD behaviors is OBVIOUSLY counterproductive. Microsoft obviously isn't going away any time soon; to ignore them or think we can make them irrelevant is delusional. If we ever want them to be a good citizen, if we ever hope for them to become a productive MEMBER of the Free Software community, we should be pointing out the - perhaps small and rare - good things they do and making a HUGE deal about them.

I'd bet quite a large sum of money that in ten years time Microsoft will be the largest producer of Free Software in the world; that Windows and Office will both be released under Free, Open Source, DFSG-compatible licenses by that time. We can bring that day about sooner by working with the elements within Microsoft that are pulling in the same direction as us, or we can delay it by treating Microsoft as the enemy which only strengthens the elements within Microsoft that think of US that way. I know which future I'd rather see.

As a footnote: Microsoft just released the ASP.NET AJAX client libraries under a DFSG compliant license. I don't know if that will be the first package in Debian main with Microsoft as the upstream, but I am completely sure it won't be the last...