...are condemned to reinvent it, poorly.” — so spake Henry Spencer’s sig, in 1987. And here we are, eighteen years later, and everybody’s favourite blame-server finally gets around to beginning the process. And I quote from Page 2:
A newcomer to the Windows group, [Corporate Vice President, Windows Core Operating System Development] Mr. [Amitabh] Srivastava had his team draw up a map of how Windows’ pieces fit together. It was 8 feet tall and 11 feet wide and looked like a haphazard train map with hundreds of tracks crisscrossing each other.
That was just the opposite of how Microsoft’s new rivals worked. Google and others developed test versions of software and shipped them over the Internet. The best of the programs from rivals were like Lego[®] blocks — they had a single function and were designed to be connected onto a larger whole. Google and even Microsoft’s own MSN online unit could quickly respond to changes in the way people used their PCs and the Web by adding incremental improvements.
What I suspect that they haven’t begun to really come to terms with is just how very deeply so very many applications reach into that non-Flying Spaghetti Monster of code.
I’m sure that the WINE and Win4Lin people will be having a good chuckle to themselves over this one. Seeing Microsoft’s efforts to chain customers to their codebase come back to bite them on the butt must be quietly satisfying, and now Microsoft faces de-engineering much of the spaghetti out of their own code.
Since people are going to be rewriting applications for Vista now, Linux and BSD advocates have yet another fabulous opportunity to say “Well, why not make it portable this time, so you don’t have to go through the same drama again next time Microsoft changes stuff? And in the process grab yourself some access to emerging markets — the Linux which Microsoft so rightfully fears will eat their corporate lunch, and the revitalised Macintoshes?“
I already know of an Australian application developer eagerly porting to Kylix and PostgreSQL from Delphi and MS-SQL-Server, ready to join others who develop on Linux for cross-platform targets (through Free Pascal, they can target x86, PPC, AMD64, 68k, Arm and Sparc on a variety of platforms, specifically including Linux, Win32, Mac OS <=9, Mac OS X and FreeBSD).
They and their customers have started noticing how much “seats” cost and how much Microsoft’s software limits their other hardware, software and support choices.
The next major release of their premier application will run end-to-end natively on Linux (their current release runs under WINE but for .xls export, however is still tied to the database). This vertical-market application is an expensive lump sum to swallow, but rolling it out on Linux, OpenOffice and PostgreSQL across a fifty-seat business roughly halves the overall cost to the customer without the slightest loss of profit to the developer, and the customer still has the option of running it on MS-Windows workstations and/or servers and/or application base if they want to.
If you know a developer, talk to them about it. Tell them that other developers are going portable, and why. Even if they don’t jump on the idea right away, a seed might be planted.