First post, first rant :-p
(actually recycling a recent article of mine, but I guess blogs are the default channel for those nowadays, so here goes)
This blurb is meant as a quick answer to ERS's World Domination 201. It's christmas so I figure I can indulge myself a little.
So you really still expect Linux to take over the Desktop someday ?
Let's make a quick check of some of ESR's previous predictions : "I now think that Microsoft monopoly is going to collapse for other reasons in the near future.", back in 2000. And "When the price of a PC falls below $350, Microsoft will no longer be viable,", in 2002.
Anyway, in my opinion, here's what it would take for it to happen :
- convince the Gnome people that an alternative between "OO in C" and more or less complete wrappers over OO in C (which you'll still be confronted to when debugging) aren't that attractive as a development framework these days. Even though it might come as a shock to some. Pull the plug on Gnome, it's served its purpose as a magnet for naive coders who actually thought that OO is just syntactic sugar back in the we're-the-best-cause-we're-free-software-hackers bubble days, while KDE went ahead and actually implemented Miguel's vision of a consistent desktop made with reusable components. Except without the CORBA fluff.
- convince the KDE people that, yes, you can live without dozens of customization options. More specifically, convince some KDE people that, yes, you can live without this particular customization which you were so adamant about.
- get a large company (the only one I can think of is IBM) to hire about 100 of the most active KDE developpers, the Gnome usability team, and a bunch of tech writers. Put them in a Googleplex-like building (top-notch workstations, 24" screens, comfortable chairs, free food, nap rooms), give them good project managers, and let them carry on. Start with polishing and documenting the KDE4 API, though, so 3rd party app writers will actually feel like that can do something with this environment. It won't be as advanced as .NET or Cocoa, but it will do for now.
- pour money in Mono, get them to ditch GTK for Qt, make them getting Winforms up to date to be their first priority. Make C# a first choice for KDE development (that will take a while).
- ignore anyone who argues about how having multiple desktop environments is good because competition will sort the natural winner out ('been years and counting... anyone still believes this ?), and who claims he really can't be as productive under any environment other than his own little heavily customized pet environment which nobody but him can use. In fact, ignore anyone who's never done serious work in building a real end-user linux application.
More seriously, we're stuck for the forseeable future with divided, ego-driven efforts, because
- the idea that everyone should fork or write his own project and let the users decide rather than trying to collaborate to an existing one is deemed a good thing, since choice is always good, and the users will decide what's best, right ? Well, no, piling indulging everybody's selfishness, ego-trip and itch-scratching does not result in common good. I very much believe that this part of the Open Source paradigm was more driven by ESR's political opinions that by actual reason [1].
- Open Source / Free Software works mostly as a distribution principle. But, as a community, we next to impossible to deliver a finished end-user product, not without the help of a corporate environment, i.e. paid people working full-time, preferably all in the same building, and some sort of management, even if minimal.
1 : which brings a funny paradox, in that OSS is often seen as being anti-capitalistic as opposed to the software industry, more specifically Microsoft, but at the project level, MS is the rigid communist one while OSS is the free-market contender - it's easy to see that, in all cases, any paradigm fails when erected as a dogma in spite of reality)