Regarding Wine: I agree that it mostly sucks. VirtualBox running a real copy of WinXP does NOT suck - software compatibility with Windows apps is naturally very high - except that 3D graphics support isn't working yet, so this is a "business software solution" versus gaming. (Note that as the virtual machine managers like Virtualbox and others get better at using the hardware virtualization extensions in the Core 2 Duo, we can expect gaming/3D/graphics performance to improve.)
Gamers are just going to have to dual-boot or avoid Linux altogether, for the moment. Wine *might* get good enough later. (It can run World of Whorecraft right now
.)
---
As to Microsoft. The two most evil things they've done are the old DR-DOS ripoff and the license violation against Sun's Java. Billy Gates and company paid about $200mil for *each* of those mis-adventures.
DR-DOS: in the early 1990s we were running MS-DOS 5/6 family as the core OS and then loading Windows 3.x on top of that. By the time we hit DOS6 and Win3.1 it was actually pretty respectable...but it was still very much a single-application-at-a-time thing...no multi-tasking like we're used to now.
MS-DOS was a ripoff of something called "CP/M", which in turn was descended from DEC minicomputers. CP/M was the product of Digital Research. DR came out with something called "MP/M where the first "M" meant multi-user - and anything multi-user (like Unix) was inherently multi-tasking. This was all the way back around 1980, to give you an idea how far ahead of Microsoft they were. DR then came out with a series of "sorta MS-DOS compatible" operating systems, some of which included the multi-tasking and even multi-user aspects of the old MP/M.
And then in the early '90s DR came out with DR-DOS. It flat-out kicked butt. Close to 100% MS-DOS compatible, single-user but multi-tasking. See, the old 386 chip had this weird mode where it could immitate 8 ordinary 8086-class CPUs side-by-side. For all I know the guts to do this are still in the Pentiums/Celerons/whatever but we don't use it. But at the time, it was a cheap and fast path to real multi-tasking. MS-DOS couldn't activate it, DR-DOS could.
Remember, Microsoft was making "double profits": they'd sell you MS-DOS as one deal and then Windows as another. The two didn't merge until Win95 (and then barely).
Well when you ran DR-DOS on the bottom and Win3.x on top, whoa, it started to kick butt. It could do some things that Win95 choked on some years later. Gates&Co were pissed.
So they sabotaged Win3.x. Literally. They added code that detected the presence of DR-DOS and self-destructed when it was found.
Now. Did MS ever *promise* DR-DOS compatibility? Of course not. BUT, the people that bought Windows could legitimately expect to buy code that was NOT booby-trapped in order to maintain Billy's lavish lifestyle.
Digital Research bellied up and died - and sold the rights to DR-DOS to another company, which didn't have the legal/financial muscle to go up against MS, so they sold it to Novell who did and knew exactly what they were buying: the right to sue the crap out of Gates. And they did, winning $200mil.
But by that time, the dominance of MS-Windows was supreme - Win98 for example was already out. MS gained much more from this black hack than they lost in court.
---
The Sun Java saga was similar. Java is a programming language designed by Sun. Anybody can make a Java-compliant interpreter for free, so long as you follow Sun's license - which states flat-out that you can't add your own features out past what Java is designed to do. That way the exact same Java code will run on any system with a Java interpreter.
As one example: this "interoperability" is why youtube works just fine on my Linux box, or a Mac, PC, BSD, whatever system, delivering exactly the same content. As long as I can get Adobe's Flash player and Sun's Java to work on a given device, including the iPhone for example, I can use youtube.
For another example, there's a money management package out there called "Moneydance". It's pretty good, esp. for the low price. You download it for Mac, PC or Linux - and it's not different versions for each, it's the SAME DOWNLOAD running under Java. It's one of the most advanced Java apps going.
So what did MS do, faced with this "threat" of people being able to write apps that would work on anything and screwing up their Windows monopoly?
They licensed Java from Sun, and then wrote a set of really REALLY good development tools to write Java apps under Windows. So far so good - software development tools is where MS started in 1976 and it's
still what they're best at. Problem was, their Java toolkit would create Java code that only ran on MS-Java in Windows - not, for example, my Linux box or a Mac or anything else.
This is why we sometimes call Microsoft "The Borg". They tend to assimilate new tech, make it their own, make it so it only works in their world, locking you into Windows.
This was all very deliberate in the case of Sun, and mentioned in numerous internal memos. Which came to light when Sun sued and won the other $200mil judgment - because all this deliberately violated Sun's license.
And yet again, it was $200mil well spent - slowing down Java by years furthered the MS monopoly.
---
Beyond all that, and yeah there's MANY more examples of fraud by Gates&Co...
Microsoft has never had the guts to change their platform enough so that old apps wouldn't work on the new OS. You can take 1982-era DOS programs and they'll probably work under Vista.
And that's a bad thing. Microsoft started with an operating system that was really a bad joke from a security and usability point of view, a single-user, single-tasking toy, and scaled it up to where it's now a looming monstrosity - but with "feet of clay" because it started out as a bad joke and the code needed to support that old gag is still in there if you dig deep enough.
When you compare this with Linux, it's descended from large-scale, multi-user, multi-tasking systems dating all the way back to 1968(!). Literally decades of deep thought regarding security are in it's genes. A graphical user interface (GUI) has been spliced in but if the GUI breaks, Linux reverts back to the old command-line mode and you can still back up your data, load new software, make repairs, get it back up properly. Many of us go a step further: we have at least two complete graphical user interfaces loaded (one of the two major ones like Gnome and KDE plus at least one minor one like Enlightenment, XFCE or the like) and on startup, when we log in we can hit the "sessions" button and switch from one GUI to another, either temporarily or permanently. I had a test copy of Gnome puke on me once, brought my lappie up under XFCE, started Firefox to google a solution, applied a fix, rebooted back into Gnome and all was well in about 10 minutes flat.
So not only is hardcore security built in as a core concept left over from university data centers of the 1980s, things are "modular" and there are competing subsections of everything available. For example, I didn't like how the Network Manager component worked so I pulled it and spliced in something called "Wicd" which handles WiFi connections much better. *Everything* is modular like that, right down to the kernel.
It's like a Zombie movie. Windows would make a damn poor Zombie - nail any part of it's integrated whole and it blows the hell up. Linux would make a terrifying Zombie - you can shotgun whole chunks out, guts flying everywhere and what's left will shrug it off and keep stumbling forward.
Let's go back to my original point about MS not having the guts to start over. Apple did. The original MacOS was pretty good - for 1986. But by around 1995 it was way long in the tooth and starting to fall apart over the increased memory demands of modern apps and multi-tasking needs of users. By about version 8.5 it was an utter joke - it was becoming harder to support Macs in a corporate environment than Windows. Version 9 was a last-ditch attempt at cleanup that failed.
So they did something remarkable. Steve Jobs had gone off to do Next and the Next-step OS which was based on pure Unix. Apple bought Next after apologizing to Jobs, and let him bring the NextOS back into Apple - calling it "OSX". In some ways it's closer to it's Unix roots than Linux, and the two are definitely cousins. OSX isn't as modular as Linux but it's good, solid, slick code that is unable to run most older OS9-and-below code. (OS10.5 is now certified as "really honest to God Unix".) Apple stopped trying to patch up a broken house and did a demolish-and-start-over approach.
Microsoft has never had the guts to take that step!Linux had good genes to start with and never needed to, but then again it's a much more "evolutionary" process with different modules competing with each other in a "survival of the fittest" mode
.