The Linux Mucky Mucks are Crapping Their Pants

Rick Kitts points to this amazing article by Havoc Pennington (a big GNOME hot shot who works for Red Hat). Looks like a lot of issues are finally starting to rear their ugly heads, and it has a lot of people worried. Rick's summary:

“This is the death knell for desktop linux as a first class citizen in the world. While people bitch and complain, debate about this or that, wrap their morality around the discussion and so forth, MSFT will be delivering solutions that work (please, no trolls about their stuff only sorta works). The MSFT stuff will be coherent, it will solve real problems and it will be moving things forward. “

A few quotes:

“Microsoft has set a clever trap by standardizing the core of the CLI and C# language with ECMA, while keeping proprietary the class libraries such as ASP.NET and XAML. There's the appearance of an open managed runtime, but it's an incomplete platform, and no momentum or standards body exists to drive it to completion in an open manner. Many interesting class libraries are clearly encumbered by Microsoft IP and nobody concerned about legal liability will want to ship them. The core may also be encumbered, though that remains uncertain.

Aside from IP issues, Microsoft controls the .NET platform. They will always be ahead, and it will always be tuned for Windows. This is the wrong direction for free software, if we want to win the war, and not only some battles...

...Every month without a coherent open source managed runtime answer - something we can start using across the board in the major projects - risks losing developer mindshare and the open Internet to a de facto Microsoft lock-in.

In proposing and advocating a language runtime, companies and individuals need to keep in mind what's genuinely viable to be adopted across the board. For example, anything which isn't open source isn't viable; significant interest groups including some companies won't accept it, and for pretty good reasons.

Anything which is defined as a ".NET clone" also appears to be not viable; there's strong opposition to this path as well. Cloning .NET on Linux may speed up adoption of Microsoft's technology, handing them the Internet on a silver platter. Speeding up the competition's success is not the way to catch up with them. Fear of this is widespread.

Those of us trying to make a profit should keep in mind that everyone stands to benefit from keeping the core open source platform unified and competitive. There are a lot of class libraries and applications in an overall competitive ecosystem that can be company-specific. This opportunity to add extra stuff "on top" doesn't exist in an all-Microsoft world, where the profits go to a single company. But the core platform is the wrong place to be creating company-specific hooks, because in doing so we can sink the whole ship.

We need a unified front on this topic, and quickly. We either find a way to use Java or Mono, or we need to put the issue to bed and declare C/C++ the only way for the forseeable future...

...The big question is, can we accept a solution where C# can't be used to implement the GNOME core? If some insist on C#, and others insist on "anything but .NET," we're at something of an impasse. It's possible there's a viable compromise involving the Mono core without the .NET class libraries, and additional legal evidence that the Mono core is safe; but I'm not sure even that will be enough to get critical mass to accept it. Supporting Microsoft is the last thing most other players in the industry want to do.

The open source Java subset is something we could start using today, that nobody has any fundamental reason to reject. It's strategically safer because it doesn't endorse Microsoft's platform, and all three major vendors involved in GNOME maintain a VM that can run it. It has stronger technical ties to the rest of the Linux world, including server and embedded; rather than isolating the desktop on a desktop-specific platform.

Thus I think it's time to start getting buy-in and coding proof-of-concept for using Java in the GNOME core. Longhorn arrives in only 1-3 years, and we need all that time. If a proprietary JDK becomes open source then great, we could figure out how to move to it if it's better. But let's not count on that deus ex machina, as a community we need a self-reliant plan to derail the Microsoft monopolists.“

4 Comments



  • What is a mucky muck? Sounds like it's intended as an insult.



    One of the comments on Ricks blog is right, it's no different from BillG or SteveB sitting down and telling people which path to take, except in this case it is a democracy and people are free to take the code and try and make it better. Forking Gnome wouldn't matter, one or the other would become the de-facto version and you would be left in the same position as now.



    Part of the problem appears to be some members of the Gnome project having plans for Mono that not everyone else shares. Sure they have problems in clarifying an object/component model but who doesn't? Microsoft certainly did otherwise they would not have spent so much time and money on .Net, would they really have done it if it wasn't needed? I'd point out at this point that Apple don't seem to need .Net - they are getting along very nicely with Objective-C.



    The nice thing about this discussion is that it is the developers using the platform who will get the final say in this *open* discussion. Nothing will be foisted on the community because one person things it is the right thing (good advice or not). The developer community will not be *FORCED* to use a platform that they don't believe in - and trust me there are plenty of old VB developers who are less than happy.



    Rick says that the linux desktop is dead? Bah. It's not dead, it's growing, it's becoming more mature and more solid *EVERY DAY*. Havoc raising this issue is the right thing to do .. it's encouraging discussion about a subject that needs discussing.



    In short - Don't write off Gnome. They're not done yet.

  • "Mucky Muck" = "Head Honcho" it's not an insult. You must not develop much software (especially OS). You cannot fork Gnome with a C++, C#, and Java branch (or all three). Not only is the OS community knowm specifically for their lack of standardization on anything (there are already two major linux desktops, neither of which is a defacto standard, and a plethora of linux OSes, none of which is a defacto standard), it would also be a developer nightmare. Which branch would you code for? I know what the answer for 99% of developers would be, "None. I'll just use the legacy interfaces." That would defeat the point of doing the port in the first place.

  • PS: not to mention the OS community has a hard enough time keeping up when they only have one branch that they are working on. Fragmenting the code in such a manner would almost definately devistate the Gnome project.

  • I must admit I was somewhat mystified by Havoc's essay... it seems like paranoid anti-Microsoft raving in parts. I mean, I know I'm not exactly pro-Microsoft but neither do I go around muttering about "setting clever trap[s]"... If Havoc is to be taken at face value, the vagueness and the lack of direction in the open source desktop community are certainly issues of concern but I'd be more sympathetic if they focused their message on "choice" rather than "beating Microsoft"...

Comments have been disabled for this content.