photo by Mark Grealish
Why is it that people both inside and outside of Microsoft seem to think of the company as incompatible with free software? Here are a few crazy thoughts on how a next version of Windows could be free-software powered. Disclaimer: I hardly ever use MS Windows these days – let me know if I’ve developed a distorted view of the product and the company as a result :)
Need for a next version
Does it make sense to develop another version of Windows at all? Won’t free software kill the market for proprietary operating systems?
Let’s first ask what it is that attracts people in free software. Just browse through the Ubuntu forums and you’ll have your answer: the first thing most people want to know after installing the distribution is how to install an Adobe Flash plugin, a bunch of Windows Media codecs, a DVD decrypter, and a fancy video card driver – things that are either proprietary, covered by software patents, or in other ways non-free. You see, the average user doesn’t care about the sweet ideology.
They’re in it for the gratis aspect. And they hate it when their favourite proprietary bits don’t run.
Let’s see what that means for MS. They have a product that works well enough for millions of users, and that can host all the popular and possibly proprietary stuff people demand. Nobody cares whether it is proprietary technology (except perhaps Richard Stallman, and you and me). The toughest bit, then, is that they will eventually have to compete with gratis.
Need for a bit more free(dom)
The real problem with proprietary isn’t that the market cares about such things, but that academics care. As more and more students are brought up in institutes that give them a preference for free software, it may become harder for MS to recruit the best and the brightest. Essentially, it’s a marketing issue, it’s all about company image. You don’t have to become a free-only shop to be loved: just look at Google – it seems every developer wants to work there, yet it’s not like Google is giving all their customised server software away to everyone. They found a balance between proprietary and free. I don’t see why MS couldn’t do that too.
The second reason why MS could use a bit more free is that they will need to cut down on development costs if they want to stay competitive with gratis. Apple has shown the way: in building MacOS X they used parts of BSD, creating an effective blend of free and proprietary. Again, MS could easily do the same – and remember, copy-catting Apple has been a lucrative approach for them before ;). BSD seem the obvious party to liaise with: their product is robust, and their licenses don’t bite proprietary.
Building Windows on BSD
This is where it gets interesting: what makes Windows such an attractive product? I’ll say it’s the user interface, which excels in uniformity, consistency, and aesthetics, and the stable APIs that make that possible – again, uniformity, consistency…
Creating a competing GUI that measures up is a complicated matter, if only because it’s so hard to point out all the crucial properties that make Windows Windows. It doesn’t just take software programmers and graphical artists, you see. It takes psychologists and testers, who spend hours and hours with “Joe average”. It takes people who know how to write layman-accessible documentation, and who maintain it (in umpteen languages, too). Many of those tasks are not things you’d keep doing for long without wages. Let’s not even talk about the special accessibility features… MS Windows really is a hard act to beat.
But who’s fond of the underlying system? Can the NT core do anything that a GNU/Linux or BSD can’t? Ok, there are a few popular hardware abstractions there. No, wait, we also want to keep the registry.
Anyway, the recipe seems simple: take BSD, spice it up with a few worthwile APIs, and equip it with that special, proprietary graphical user interface that makes it Windows. To secure full backwards compatibility, you could even throw a virtualised Vista into the package – Windows users don’t seem to mind a few extra GBs of disk use…
Last but not least: the BSD folks should love it. MS will bring more developers, more employment, and suddenly every hardware shop in the world will provide BSD compatible drivers (yes, I’m suggesting to just make “Windows” a layer on top of an off-the-shelf BSD). A thriving BSD community can probably save MS even some more cash.
Corporate buyers will always understand that gratis doesn’t exist. They need support services and training programs anyway. They like uniformity. They’ll stick with MS as long as the price is fair.
The private user is a different matter. While it’s not where the big money is coming from, it’s still important to keep the private user on Windows: if half the available workforce grow accustomed to a free desktop they use at home, companies will reconsider their choices too. I have some ideas on creating unique value that will appeal to the home user, but I’ll save them for another post. Let’s first see how badly you’ll flame me for this one (yes, that’s an invitation – I’m asking for a reality check!).
Edit: AA told me that it wouldn’t be bad to put in some Wikipedia references, which I did now. Thanks!