YES! another Linux vs rest of the world thread!
We call that choices. From bootloader to windowing system to browsers to office suites to web servers, you have several choices to choose from. But you are right, it does introduce incompatibilities. But if you use a more widely used distribution like Ubuntu, Fedora, Debian, Mandriva, SuSE... they usually have nicely packaged libraries and programs that just work.1. Lack of standards. Open source is good when the community can find and fix bugs, but it is bad when it results in every tom dick and harry having their own mutually incompatible libraries, packages, and distribution.
Apparently CS students from my university have to . At least programs fail with meaningful error messages. Not an "unknown error" and a number to call. A manual written by CS students is better than one written by marketting student IMHO.2. Poor documentation standards. man files are obviously written by CS students, most of whom have never taken a technical writing class.
I can't believe a MENSA LIFE MEMBER has trouble installing mainstream Linux distributions. For modern mainstream distributions, they are essentially boiled down to time zone selection, language selection, partitioning (there's an auto mode that resizes existing partitions, or partition the free space), and click "Install". Try a recent version of Ubuntu, SuSE, Fedora, or Mandriva before you make this statement next time (if I had time, I would record a Ubuntu installation in a VM...).3. Lack of a functional default no brainer installation. The average user is neither qualified nor interested in making a decision about which package to install.
That I believe is a true weakness. Not Linux's fault, though. It's a chicken and eggs problem - software vendors don't write for Linux because the userbase is small, and the userbase is small because there are no games.4. Wide support for commercial quality software packages including, heaven forbid, games.
Huh? What API? The POSIX API is pretty well documented last time I checked. And what software incompatibilities? I haven't encountered any in my ~5 years of using Linux.5. Lack of a well documented standardized API. This really puts a damper on software development. Without it, a developer has to require the end user to install specific packages, which may be incompatible with some other software the user is running. While this is fine for single purpose computers, it is simply impractical for home or office computers.
It's okay. I do .6. I don't like penguins, its kinda creepy the way they waddle like that.
And for Linux Advantages (TM) -
1. User friendliness. For example, the package management systems (APT, Yum, etc) - >10000 programs and libraries packaged in your distribution's native format. Installing one is as simple as "apt-get install firefox" (there is a cute GUI thing too if you prefer that). All dependencies are automatically resolved. And a package removal - "apt-get remove firefox" (uniform interface for package removals - have you tried uninstalling a few dozen packages in Windows? well, in Linux, you just append their names to "apt-get remove"). No reboot needed unless you are updating the Linux kernel. All your installed packages are centrally updated, too. A "apt-get upgrade" updates all your packages (compared to a few dozen reboots and mouse clicks and head scratchings and clickings to update just Windows itself from a fresh install to current). No need to check each individual sites for updates.
2. Developer friendliness. A lot of interaction between developers and users. Try to get Microsoft to implement some feature for you in Microsoft Office. I've successfully done that with a few open source developers (and have implemented a few things in my open source programs by requests of their users).
3. Customizability. You can change just about everything, easily. And even more if you are a programmer (you can implement features for yourself).
4. Choices. You have several well supported windowing systems (equivalent of the Windows Shell) to choose from, a few office suites, a few filesystems (FAT32 vs NTFS don't really count), a few browsers, a few IM clients, a few bootloaders, a few login managers...
5. Security. Malwares have never been a problem for Linux. Before you say it's because no one cares to hack Linux, no, it's because (I think) primarily of the priviledges level. Linux users don't typically run with root (admin) priviledges. Almost every Windows user does that, and it's really not their fault. Many Windows programs break when they don't have admin priv, since earlier Windows versions allow that. They write to the registry, and their installation directories. I think Windows is catching up in this regard, though. Vista's UAC and VirtualStore (a very innovative workaround) are a step in the right direction (not sure how well they work, though). For consumer computers, Windows will probably be "secure enough" that users won't need to worry about malware very soon, but I doubt mission-critical servers will switch to Windows anytime soon.
For me, I take the best of both worlds. Windows for games and entertainment, Linux for everything else. Luckily they don't try to wipe each other out when installed on the same computer. Well, Windows does, by wiping out the MBR, but that's easily fixed.