In a previous blog entry, I talked about why I thought Microsoft wouldn't have trouble convincing Windows users to upgrade to Longhorn. As I also claimed that older versions of Windows are the biggest competitor to Longhorn, the Talkbacks started discussing Linux, believed by many to be a credible alternative to Windows.
I argued in the Talkbacks that the only way that Linux would have a chance of being a credible alternative was if they worked harder at co-opting Windows technology. For ideological reasons, however, there was no interest in doing that, so I doubted Linux would make much of a dent. As someone rightly asked, though, why would Linux want to emulate Windows?
It's not a matter of whether Linux, or the Mac for that matter, should emulate Windows. They don't have to be Windows to compete.
Rather, they should endeavor as much as possible to make it easy for Windows developers to target their platform. The reason is simple: Windows is a standard, however de facto, and asking all those Windows programmers to reorient themselves around a Unix-based platform (or a hybrid one like the Mac) is like asking French people to start speaking English.
In fact, that's a good analogy, because think about all the support infrastructure that centers around the language spoken by the inhabitants of a particular region. If the French were to suddenly give up the language of their ancestors in favor of English, all the road signs would have to change, all the documentation on packaging would have to change, all official documents would have to be translated, bookstores would have to throw out all their old books and replace them with English ones, etc., etc., etc. In short, it would be a massive, and extremely costly, undertaking.
The same applies to shifting from Windows to Linux. Windows and Unix-family OSes live in two different programming domains. Granted, they have similarities, as do English and French, but I would hesitate to say that a Windows programmer could shift into the Unix world without any difficulties (and vice-versa). There's plenty of evidence of that difficulty. Though Linux fans hate to admit it, it's fairly clear that Linux growth on the server side has mostly been at the expense of the traditional Unices. I would argue that this is because it is so much easier to shift from Unix to Linux, and harder to shift from Windows to a Unix-family operating system.
This isn't about which platform is better or worse for development. I have my opinions, and so do you. It's about cold, hard cash, and the fact that whole industries spend billions on a particular standard (however de facto) and there is expense in shifting from that.
Of course, some will point out that there are large swathes of the world just starting to dip their toe into the IT waters. Developing economies have less of an installed base, and thus incur less costs in choosing an alternative platform. What's to prevent them from choosing Linux?
More on that to come.