Wednesday, May 19, 2004

Supplier Power 

Surprisingly, someone has finally said something sane about integrating Mono into Gnome, and I couldn't be more pleased. To be fair, Havoc Pennington has always been very reasonable about this, but he hasn't taken the hard line that Seth Nickell finally has in his blog.

To summarize, the Gnome project has been considering what its policy will be with respect to the adoption of a high-level language. The candidates for this, basically, are Microsoft's C#/.Net (through the open-source Mono implementation) and Sun's Java, with Python as a distant third. The debate is already coming a bit late, as Mono has started getting software written for it, and a major distributor (Novell) seems to be fond of it. Havoc Pennington simply pointed out that Gnome needed some of that sort of technology, and that getting it from Microsoft might pose problems. The subsequent debate was never resolved, but people seemed surprisingly open-minded about the possibility of creating a huge dependency on Microsoft's intellectual property. Miguel de Icaza (the creator of the Mono .Net implementation) has argued very passionately that Gnome should actually trust that they can depend on their own implementation of .Net. Seth Nickell has come along and pointed out that all technical issues aside, a "trust us" from Microsoft isn't worth very much, and that's essentially what de Icaza is proposing the Gnome project accept.

I agree with Seth Nickell, and I intend to argue at an even higher level than he does. Let's assume, for now, that Microsoft's licensing terms are actually acceptable, and mix well with the rest of the free software universe without any fears of legal trouble initiated by Microsoft. It would still be a bad idea to choose .Net as the high-level language for Gnome.

Let's look at this from a competitive strategy standpoint. According to Michael Porter, professor of business and expert on competitive strategy, there are five forces of competition: buyer power, supplier power, threat of substitution, intra-industry rivalry, and the threat of new entrants to a market. As things stand right now, Microsoft is a competitor in Gnome's market (that is, it's an industry rival). Gnome is also a competitor in Microsoft's market. (A competitor, just to be clear, is anyone or anything that can affect your business. Assume for the moment that Gnome is a business; although not in the traditional sense, it does want to compete and win in a market). The legal aspect is just one way for them to mess with your life.

So in essence what is being proposed is to make Gnome subject to Microsoft's supplier power in addition to its already strong competition in industry. I hope it's obvious why depending on your biggest rival as a supplier is not a great idea. It doesn't even need to involve any threat of legal attacks. Your interests are fundamentally not aligned, and when your supplier is a monopolist in the good being supplied, as Microsoft is the only source of .Net licensing, you are handing over a lot of supplier power.

De Icaza seems to argue that this hand-over of power is inevitable. This is utter madness.

One point he makes is valid, and that is that it is undesirable to have Linux locked out of a platform that will become dominant. But I disagree that this is inevitable. Not every cool thing Microsoft has ever pushed has become widely used, for various reasons. We haven't yet seen how people will react to the Avalon technology (a component of .Net) and how likely it is to become a must-have component of a desktop system. This is certain to not happen if people are unwilling to adopt it, and I'm not convinced that the ease of programming in creating simple applications it offers will necessarily translate to useful applications. In fact, I think that there's a very good possibility that corporations will look at the technology, think it's nice, do a cost-benefit analysis (benefit: easier programming, cost: Microsoft is now a vital supplier), and take a pass. This has been happening in recent years with all sorts of Microsoft initiatives. (Having a Linux implementation of this technology, however, might in fact make corporations more likely to wade in. His suggestion might actually cause the very situation he is trying to manuever around to become a reality. That doesn't mean hedging your bets and having an implementation isn't worthwhile, but that's a very different thing).

But this is all a bit of a digression, because having a free-software implementation of Avalon is different from making Gnome depend on .Net. If .Net is really so legally clear, Mono can always be installed on a Linux system to interoperate. As he said, that's great for Novell's Linux distribution. This isn't the same thing as building Gnome (or parts of it) on Mono.

Furthermore, doing so would risk alienating a major ally of Gnome: Sun. De Icaza points out that Sun has patents on Java, and argued that Sun is just as fickle and threatening as Microsoft, but this is pure sophistry. To argue that Sun, who contributes programmers and code to Gnome, and who ships Gnome on its workstations, is just as likely to attack Gnome (it's own supplier!) is ridiculous. Yes, the possibility cannot be ruled out, but let's be realistic here. Furthermore, to suggest that they should ship their competitor's major product is asinine. Gnome and Sun have a shared competitor, and gain strength from each other's help. The relationship is not as healthy and reciprocated as many in the Gnome community would like, but you have to work with the choices that are in front of you. (Microsoft, by the way, pays no programmers to work on Gnome, adds no code to Gnome, and does not have any dependency on Gnome at all. Oh yeah, and they see it as competition to be destroyed). Sun, for their part, hasn't exactly handled this whole thing well, and the progress Microsoft has made with .Net is largely their fault. It was their game to lose when Microsoft entered, and though they haven't lost, they have lost ground. For one thing, Microsoft is willing to evolve the virtual machine, while Sun isn't. The value people have created with Java isn't in the binaries, it's in the source code.

All that said, I do have a lot of sympathy for Mono and de Icaza's thinking. I do think it is a better technology than the Java language stack, and I wish it could be used. I sympathize with the geeks who want to just use the best technology. However, as much as we'd all like it if competitive forces weren't an issue, Gnome can't pretend that Microsoft doesn't intend to compete with them. That means geeky considerations have to sit in the back seat, and some solid business strategy has to dominate these decisions.

sun's been hurting lately.

they recently closed down their big-ass palo alto office.

once again microsoft proves to be the death of anything productive or cool.
Gnome really should be leveraging Java (or C#). It seems obvious that Sun would want to go with Java. GUIs in Unix are so freaking broken, it's time we just had something where we can say "going forward, just always do your GUI in <blah>", where blah is some high-level language that fits 95% of the realworld needs.
Thank you!
[url=http://ioqzdzcd.com/xnfi/nhtb.html]My homepage[/url] | [url=http://evmqomzj.com/cboc/obxi.html]Cool site[/url]
Well done!
My homepage | Please visit
Good design!
http://ioqzdzcd.com/xnfi/nhtb.html | http://gulhmeof.com/sjot/tkkz.html
Post a Comment

This page is powered by Blogger. Isn't yours?