There’s an interesting debate going on within the GNOME and Mono communities. The main thread is a debate between Havoc Pennington and Miguel de Icaza. Lots of other people have contributed to the conversation, but here’s a list of some of the main posts (I may have missed some messages in here, but hopefully this will give a decent flow):

This is essentially a debate about how to go forward with development of an open source desktop system, in particular what technologies and languages to use in implementing the system itself. I think it’s interesting to see all the issues that go into making a decision such as this, as of course there are both technical and nontechnical factors.

For those not familiar with Mono, I would suggest at least skimming the FAQ. Compatibility with the .NET system appears to have heavily influenced much of the discussion so far. The planned operating system Longhorn (a Microsoft product) apparently exposes .NET interfaces and plugin APIs at many different levels of the OS. It’s an excellent idea for a desktop system, but it’s also not a new idea. Why start playing catchup on this concept because Microsoft has decided to implement it? If we want a pluggable desktop system which exposes all user information as objects I would personally opt for building one without waiting to see what Microsoft has done. Compatibility with Longhorn is important, but that doesn’t mean that the only way to get advanced desktop features is by waiting to copy a commercial product. I really hope it’s not the only way at least. But with the US patent system in the state that it’s in, maybe that is the only viable option.