Today I had a nice reminder of one of the things I like best about Linux.
I've found myself being forced to draw some UML diagrams in Microsoft Visio 2003, and to be quite honest, I've been totally disappointed with the software. One of the things that bugs me is that Visio seems to have absolutely no intelligence whatsoever when it comes to laying out labels on associations - It'll blindly draw numbers on top of your classes and other diagrams.
You would think after Visio 2000 and Visio 2002 that stupid stuff like this would be fixed, but nope, this is Microsoft, and this is exactly why I love Linux.
Stupid bugs like this get fixed in open source software, because the users are the developers. With each release of Ubuntu (and other good pieces of open source software), there are not only new features added, but also a ton of bug fixes. I've yet to be affected by a bug in Ubuntu that's persisted across releases, and these guys release a new version every six months - not every couple of years (a la Microsoft). That's pretty damn good.
I think another reason why problems get fixed in open source projects is because their software development processes sometimes leave big companies like Microsoft in the dust. Quite honestly, Launchpad and other bug trackers (and the way in which they are used transparently) seems to play a large role in many projects' rapid success by providing developers with organization and a strong continual link to their users. It's this constant interaction, an excellent feedback loop, that some companies seem to lack.
Sure, many open source projects don't follow strict development processes, but you know what?
They not only get their software built, but they get it built faster and better.
Note: If you're looking for a good open source Visio replacement, here's some good ones: