I'm a computer admin and programmer by trade, and I'm really intolerant of software that's not up to scratch, be it badly-written or non-intuitive or whatever. I hate it. I work with Windows, Linux, Solaris and Mac OS and none of them are perfect. I used to be a Mac evangelist, these days I still use a Mac in preference to anything else, but it's very much the "lesser of evils"
Linux has so much potential, but alas is riddled with stupid politics and ideology. I started using Linux about 7 years ago. RedHat 6.1 was the distro of the day and the idea of a free OS for your PC was still pretty novel to many people. Sure it wasn't perfect, you had to spec your system to be compatible with linux, since most hardware didn't work. Configuration was still very much text-file editing, and the available software was primitive, but it certainly was a breath of fresh air.
Fast forward seven years and Linux has come a very long way. Ubuntu, Gnome and OpenOffice 2 showcase much that is good about Linux, but all the time I keep seeing stupid decisions and arrogant software developers.
First off, Ubuntu have decided to change their default shell (/bin/sh) to be dash instead of bash. In principle, this should work, because both shells are compatible with the specification. However, the specification was changed, and bash is no longer compatible. The problem is that just about every piece of software that uses this is dependent on bash and the old standard.
By changing to dash, Ubuntu have decided that being compliant with the standard is more important that having software work! [1] Sure, there are fixes, but I can guarantee that we'll never be in a situation where all the software in the world that relies on the old standard is repaired. Microsoft would never do this. DOS is now obsolete, but most of the patches for Windows 2000 were to increase compatibility with DOS or Win9x games. Windows XP has a whole host of compatibility stuff to run games that use old standards, and Apple made sure that new Intel-based Macs can run PowerPC code and Classic MacOS applications.
Imagine if your web browser just gave you an error message when you looked at a site that didn't meet the standard. You'd dump it in favour of one which did the best it can. Why don't the Ubuntu folks see it this way?
Thn there's the issue of Gnome and the "Dragging a disk to the trash" feature. You get a warning message that this doesn't do anything, and that if you want to eject a disk, you need to do something else. Apparently this is because "Dragging to the trash is not an intuitive synonym for eject" [2] -- Yes, I agree, it's not intuitive, but that's not the issue here. If you look at it the other way, what's the intuitive thing to happen when you drag a disk to the trash? Erase it maybe, or possibly eject it. There's no reason why they can't have more than one eject mechanism. Worst of all, of course, is giving you a dialog box that says "I know what you were trying to do, but I'm not going to let you do it." -- That's just plain offensive.
These may just be small fish in the bigger picture, but it's more the ethos and mentality that drives these decisions that I object to. I believe that anyone who produces software should be more responsible to their end users and the community at large. Arrogant remarks like "I wrote this for free, you should be grateful" or "It's free software, you have a compiler, fix it yourself" hold absolutely no weight with me at all. Then there's the intolerance to commercial software. I agree with Richard Stallman that it'd be nice to have a world of entirely free software, but I've got things to get done and don't have time to refuse software on principal.
[1] https://launchpad.net/bugs/61463
[2] http://bugzilla.gnome.org/show_bug.c