Miguel de Icaza was a hacker's hero, until he stopped fighting and learned to embrace the Borg.
As founder of the GNOME desktop, a user-friendly interface for Linux, Miguel de Icaza is nothing if not an open source zealot. But as GNOME grew, his evangelical bent brought him to a crossroads. Late last year, he faced a decision: Should he let the project get bogged down supporting the many different languages - C, Perl, Python, whatever - in which GNOME volunteers submitted code? Or should he take an efficient new route to multilanguage programming, one that runs through Redmond?
For de Icaza, it wasn't much of a decision - never mind that the new common language infrastructure proposal he was considering is a core component of Microsoft's .Net strategy. "It was pretty much what we wanted for GNOME," he says. "It's like Java taken to the next level," allowing code written in any language to be run anywhere.
And for the crew at Ximian, de Icaza's small software startup in Boston, the .Net connection was a plus: Their open source version of Microsoft's CLI components, dubbed Mono (after the Spanish for monkey), would not only let GNOME move forward on the desktop, it would let Linux-powered businesses run .Net services on their servers. Chalk up another one for open source barnstormers.
But when Ximian announced Mono in July, would-be fans freaked. Among them, InfoWorld columnist Nicholas Petreley, who called de Icaza's enthusiasm naive and referred to Mono as "a covenant with death." Petreley and others considered it a Microsoft stalking-horse that would encourage businesses to build .Net services into their Linux-powered Web sites, then hook them into the Passport system, operated at Microsoft data centers, for customer identification. Once critical mass was reached, Bill Gates' winged monkeys would change Passport's interface so it would talk only to Windows computers. Business owners, Petreley wrote, awakening to find themselves crippled with thousands of broken Linux sites, would frantically "fire the open source developers and switch everything back to Windows."
Of course, Mono is neither the first nor the biggest project to let Windows code run on other operating systems. Sun Microsystems offered a complete Windows application binary interface for its Unix systems from 1993 to 1997. The open source project WINE (WINE Is Not an Emulator) claims that 300 developers have been a part of the struggle to create a Windows compatibility layer over Linux. Yet de Icaza's reverse-engineering of .Net strikes many as a deal with the devil. "People say, 'You're doing Passport! You're helping Microsoft! You're Eeeevil!'" he groans. "I went to a conference, and the keynote speaker told everyone Mono was a bad thing - while I was sitting there." As de Icaza got up and argued at the time, Microsoft already offers Passport software for Linux and several other operating systems, no Mono required.
When it comes down to it, the criticism de Icaza's project has provoked probably has less to do with the actual death covenant and more with the person making the pact. Some coders have expressed concern that de Icaza's marquee name will legitimize .Net. But the backlash is far from unanimous: More than 25 programmers have already contributed code to Mono. And as for charges that he's been fraternizing with the enemy, de Icaza reacts with Gates-like impatience. To him, taking advantage of .Net is anything but naive. "The worst-case scenario is that Microsoft will help us implement an open source version of their CLI," he says. "So what?"