Open Source Myopia, Revisited


Aaron J. Seigo acheieved notoriety today through this essay, in which he questions the logic of Open Source support for Windows (and, to a lesser extent, Mac OS X).

His main point is that, by porting applications to non-Open Source systems, those applications add value to current proprietary environments and decrease the incentive for people to leave those environments - i.e., to ditch Windows and switch to Linux.

It's Not About Linux - It Never Was

And he forgets that there is ample need for something like Firefox to promote real web standards (no one in their right mind will think that the piddling percentage of Linux browsers is a driver for fostering proper adherence to standards), or for OpenOffice to provide real inter-platform exchange of documents (I still use Office on Mac OS X, simply because nothing even comes close - not even OO).

In short, he is looking down the GNU's navel, and forgetting that there is far more to gain by providing cross-platform applications than any possible benefits there might be from keeping those apps and frameworks in the Linux ghetto.

Nobody will switch to Linux because KDE runs better there. And neither will porting KDE to Windows make any sizable dent in the (relatively small) number of people who would consider changing to Linux due to KDE. Or Gnome, for that matter - although Gnome people, for whatever reason, tend to have a better take on things, the arguments about people migrating (or, most likely, not) to Linux to run KDE applications are also applicable to Gnome.

KDE on Mac OS X - Their Next Target?

During the last year or so, I kept track of heoric efforts (like Benjamin's) to port KDE to Mac OS X. It runs fine, and you can have most of it running on Mac OS X using native Qt right now.

I kept track of it because I thought having a common framework for Linux and Mac OS X stuff made sense, and due to the obvious reason that it would make some interesting stuff (like KOffice) available on Mac OS X, providing people with more options.

Now, it looks as though the KDE people are the ones who will not even consider providing others with options. If I recall correctly, that's what most people in Open Source accuse Microsoft of doing.

Contradictions In Terms

At one point, he asks -

Consider: why do you think Apple invests so heavily in their iApp series of programs? and why was Apple so hesitant to port iTunes to Windows?

This stands out from all the other (wrong) points he makes by not only being completely, utterly wrong, but by providing ample leverage to counter some of his other arguments. They weren't hesitant. iTunes for Windows is a critical enabler for iPod and iTunes Music Store sales, and they just took their time doing it. It had nothing to do with delivering an application in a "foreign" OS - Apple has had QuickTime for Windows for ages, plus a few other (long deceased) odds and ends.

Furthermore, iTunes also contradicts one of his other points related to Firefox, which is -

You can not compete on a playing field to which you do not have access.

Yes you can. The iTunes/iPod combination is an excellent example of precisely such a situation, in both software and consumer hardware. Apple started from zero footprint in both fields, and carved out a whole new market, selling iPods (and, guess what, Macs).

The Myopia Of Switching

People won't migrate to another operating system by restricting interesting applications to run on it. Not anymore, at least.

People will change if the apps are there, sure, but mostly if they can take their existing data with them. That's why OpenOffice has to be able to run on Windows - to not only read Word files on it, but also to kickstart the file format conversion and generate critical mass (in terms of raw data in people's machines).

It's a gradual, accreting process that will take decades (if it ever gets there at all, but that's another thing - I think we'll be lucky if we ever see Word formats go down to near 50% of corporate attachments within our lifetime).

And getting people to run KDE applications on Windows (or Mac OS X) can have precisely the same effect - in the long run. Any non-Linux port will always be the runt of the litter, because it requires specialist know-how not only to do the ports, but also (quite often) to use them.

Open Source Quality Stands To Benefit

Let's get real here: The percentage of people likely to actually use a Windows port of KDE applications is ridiculously small, and the people who most benefit from that port going out the door, are, ironically, the KDE proponents themselves.

Yes, that's right. By proving such ports can be done and accepting the relevant patches in your main trunk, you're actually improving the code quality of Open Source applications - and I dare say that there are plenty of them which are desperately in need of extensive improvements, on all camps.

Linux source code is spurned by "big iron" UNIX geeks because it's so heavily dependent on the peculiarities of the Linux userland and libraries that you need to port around a dozen dependencies to get your average Linux application running on, say, Solaris.

Or (and this is what irks me the most) Mac OS X. Linux zealots tend to forget that Mac OS X is their UNIX cousin, and (uncharacteristically of them) never look beyond Cocoa to find the BSD userland under the hood.

Which, sadly, is fine for most Linux developers, since they usually don't know (or care) about portability - with the laudable exceptions of compiler and kernel hackers, who, ironically, tend to show more awareness of how the real world works than the application stack people.

And the world got further proof of that today, I think.

Colophon

It's just sad to see such things being written, and I think that this will ultimately be used as ammunition by closed-source proponents. It smacks of the kind of whimsical internal politics that drives sane people away from many projects, and (like all kinds of zealotry) does not help things in the least.

Hipocrisy is one of the things I dislike the most about the so-called "Open Source Movement". And the other, as I said before, is its tendency to permanently look down the GNU's navel.

After all, if your source is open, why complain about it being ported? Isn't that what it's all about anyway? Aren't you committing some sort of mortal sin by actually going out and saying "we shouldn't let this go on" or "I'm worried about my code running on Windows"?

Isn't actually going out and writing that contrary to the Open Source ethos? Or is it just the old, old story about young, rebellious folk hating Microsoft (or "The Man", depending on what century you reached maturity) and throwing up a smoke curtain of "principles" to justify themselves?

Minor Footnote on Windows and Open Source

Since Aaron has mentioned time and again that everyone missed his concerns - namely, whether Microsoft would allow Open Source to exist in Windows and whether Open Source could prove itself there - my reply is simple and straightforward:

It makes no sense. Microsoft would be alienating its own developer ecosystem if it started trying to counter Open Source software by locking down their APIs (which, by the way, are far better documented than pretty much anything out there), and that tremendous mind-share is one of their most prized possessions.

As to Open Source making a good showing of itself on Windows - well, even if I didn't run Cygwin every day, the reply should be obvious -

It's entirely up to Open Source developers, regardless of platform.