In a blog post last week, I argued that the "theme" that unifies Microsoft's disparate product library was the creation of software ecosystems. Anti_Zealot, a regular Talkback participant, posed this question in response:
I would like to read your opinion on what it would take for a Linux-based "theme" to settle in the software market, considering its current solid position in the server business as a tool.
Oh, of course, don't bother about the desktop. <elided> What do you think would be the most pragmatic move for Linux vendors?
First, it's worth mentioning that I consider open source, and all the products that currently fall into that category, as the only group of products capable of competing with Microsoft's ecosystem. Apple is too limited in its potential product range. The traditional Unix operating systems are oriented around servers. Only open source, however fractious, has enough spread to compete with a proprietary environment that touches upon most areas of computing.
That being said, what follows are the four areas of improvement that would better position open source as a true alternative to the Microsoft ecosystem.
1. More consistency: Ecosystems are essentially standards that extend across software markets. They simplify development by lowering costs, shortening development timeframes and leveraging knowledge across markets.
For Linux to build a proper ecosystem, more thought needs to be applied to what technology will be present on every instance of Linux. That's going to be hard, as one of the things that appeals to so many users of Linux is its technology agnosticism.
If Linux wants to solidify itself as the basis of a software ecosystem, however, they need to do what Microsoft has done, which is move far beyond the traditional conception of an "operating system" into the realm of development platform, where standard inclusions extend the development base against which programmers write their software.
Those who decide what constitutes Linux must make hard decisions regarding what becomes standard Linux technology. For instance, choose whether every system must include KDE or Gnome (but not both). Decide that every instance of Linux must ship with Corba, and which Corba ORB it should use. Every version of Linux should ship with Java or .NET (note: .NET would be an interesting choice because it would co-opt some of Microsoft's development efforts, but longtime readers already know I think that). Perhaps every version of Linux should come with Firefox preinstalled. If I'm right, and the existence of a standard HTML rendering tool boosts use of HTML in Windows products, those ecosystem improvements could be matched in Linux through the inclusion of Firefox.
That doesn't mean that other technologies can't be installed, just as alternative browsers can be installed on Windows. However, a consistent base-level of functionality would start to build ecosystem-style consistency into open source platforms.
2. Greater spread: I noted in my original post that ecosystems are only as valuable as their spread. That means that Linux cannot confine itself to markets where it is currently popular. Linux needs to spread, and that means they need to get more popular in desktops, handhelds, cell phones, music players, media technology, etc.
Fortunately, the open source world already recognizes this, and there is lots of work in this area. As previously noted, there is an awareness (albeit grudging) of the ecosystem basis of Microsoft's market appeal, and attempts to march Linux into new markets are a reflection of that.
3. Detente with the world of proprietary software: Now for the controversial stuff. The single biggest force holding back the growth of open source software are the Free Software vigilantes who view proprietary software as tantamount to slavery. That puts open source in the productive category of nations that prevent the female half of the population from working. Open source programmers do great things, but proprietary software can benefit from both the efforts of open source programmers AND the efforts of those who create for financial gain.
That's a waste. Philosophically, open source should move closer to Eric Raymond (who understands that there is a role for proprietary software) and away from Richard Stallman (who is on record as saying programmer's should make less money).
On that note, open source needs to make some compromise with the world of patents. Rant about the evils of the current patent system until veins pop out on your forehead, but it is highly unlikely that software patents are going away anytime soon. That means that in the interim, open source will have trouble leveraging the benefits of patented innovation. That puts them at a disadvantage to proprietary software, which can leverage both patented technology as well as the innovations placed in the open source commons.
In other words, open source needs to learn pragmatism. I'm not implying that there aren't those who understand that principle (Mr. Raymond has a degree of it, Miguel de Icaza has more), but more need to learn it if the ecosystem promise of open source is to be realized.
4. Encourage a paying market atop your products: This relates closely to item 3, but is a worthwhile separate point nonetheless. If the open source ecosystem must rely primarily on the contributions of the open source movement (something that will happen if Richard Stallman is its ideological head), they will be at a disadvantage to the world of proprietary software, which is free to harvest the output of those motivated by a desire to extend the commons as well as those seeking a house in the Hamptons.
Of course, there is nothing which officially stops companies from selling Linux software. There is a barrier, however, that derives from a culture that expects low-cost, if not free, open source products.
This is partly derived from the difficulties of deriving revenue from software as such when the secret sauce is published for all the world to see. Lots of people gloss over that problem by noting that there are lots of other ways to make money from software besides sales. Even so, it's worth noting that the web of companies that build software for Windows (and who form a large part of the appeal of Microsoft's platforms) are attracted by the profits to be generated by a pool of buyers with a demonstrated willingness to pay.
A similar buying culture needs to be built for the open source world. That will require, of course, jettisoning the "free software" philosophy which drove the movement in its early days.