Susheel Daswani wrote:
My belief (which opposes the 'fact' stated above) is that if there was virtually complete documentation of what exists, and full disclosure of additions and modifications, a cloning could be achieved. Of course it would take a huge capital and time investment, but the payoff would likely be worth it.
The finding you cite was probably true 10 years ago, but it may be less relevant today. There are many, many applications that were and still are sold to be used with the Win32 API, but there are other applications that are available commercially for Linux x86, and some also for Solaris x86 and FreeBSD. Furthermore, more applications are written to run on platform-independent runtime environments, such as Java, JavaScript and .NET. Besides, a pure Linux platform is sufficient for many, many tasks.
On the other hand, some application developers like working against a complex, uniform, binary, proprietary OS that changes regularly but not too often, and don't care if it's a monopoly (since they don't feel like they are the ones paying for it.) Game vendors use all sorts of tricks to achieve "copy protection", as do digital music services. (Cf. the recent Sony incident.) Windows application developers also have a habit of trying to get the user to escalate their privileges more than is strictly necessary; for instance, MusicMatch Jukebox (which came free on my brother's WinXP laptop) won't run properly in a "Limited User" account. For comparison, I just installed the Linux version of matlab as a normal user (in my home directory, without becoming root), and it runs just fine.
As a more general statement, the fact that old programs become unusable or unstable after an OS upgrade means that the useful lifetime of a piece of computer software is no longer anything near its copyright term, but instead only about 2 or 3 years. Even if a third-party organization verified that Wine 1.0.0 on such-and-such a vendor's version of Linux (kernel 2.6.1001, glibc7, ...) implemented 100% of the Win32 Unicode API calls correctly when set to the en_US.utf8 locale, a lot of application vendors (including Microsoft) would probably still not want to support it, because that version of Linux could be stored on a CD and run on a different computer 20 years from now with the same application.
Of course, the biggest potential threat to Microsoft dominance is probably OpenOffice, Firefox and other open-source standard-document-processing applications. (I said "is" because they are only a threat together; no one component is a competitor by itself.)
Just some ideas...