On Mon, 27 Mar 2006, Philip V. Neves wrote: [...]
Although I accept the fact that this is mostly true I believe that is a good argument for creating the Linux OS and other OS's not for creating wine. With the wine project you are bringing the homogenious population to the Linux community.
I agree with you that operating system diversity is only part of the equation, and that application diversity is important too. But even so I think Wine is good for diversity.
* Promoting application diversity means promoting alternatives to the most popular Windows applications. That's a good argument for the development of, not Linux, but Firefox, Open Office, etc. But it does not mean that it is bad to run more obscure Windows applications, whether in Wine or on Windows, especially if they are alternatives to near Monopoly ones. In fact, running Open Office or WordPerfect Office on Windows is good for application diversity too.
* There would be a good argument against Wine, from an application diversity point of view, if it was only meant to run monopoly applications. But this is not the case. While interest in getting popular Windows applications is inevitably higher than interest in getting obscure Windows applications running, Wine can and is used to run some fairly obscure Windows applications. My favorite example being MDL Chime<g> (http://www.codeweavers.com/compatibility/browse/name/?app_id=95).
* Without Wine, anyone who needs a even a single Windows application has no choice but to run it on Windows. This reinforces the >90% operating system Windows monoculture. It also reinforces the Internet Explorer, Outlook Express, Windows Media Player and MSN Messenger monocultures because if you're running Windows they're just there, so why not use them too? At least if you are running a Windows application on Linux, you are more likely to just run this one application you need in Linux and prefer native applications for the rest of your activities. And that's good for application diversity.
* Viruses and worms don't just exploit application bugs. They also exploit security bugs in the OS libraries used by the applications. While Wine strives to be API compatible, being security-bug compatible has never been a goal and is not needed. Security-bug compatibility is not even likely as providing the same buffer overflows would require work and an intent to do so (though I'll grant you that security-bug-by-design issues are more likely to be replicated, *cough* EMF *cough*). So even running a monopoly application in Wine increases the ecosystem's diversity, if only a bit.
* Finally, even if they manage to run in Wine, a lot of Windows malware will see their nastiness greatly reduced. For instance, on Windows, keyboard loggers arrange to be started at boot time. On Linux they will not be started until you start Wine, and even then, only if we ever decide to simulate a Windows boot before starting any Windows application. In other words, even once installed, a Windows keyboard logger would essentially never be run in a Wine environment. Similarly, Windows rootkits would only be able to hide themselves and their payload from other Windows applications, not from the Unix user. In effect this means they would fail to 'work as advertised' (i.e. hide from the user) even if they did run properly in Wine. And that's a big if: since rootkits mostly work by patching the Windows kernel it is highly unlikely that they would ever manage to run at all in the first place.