This was written as a response to critique of Android's bad user interfaces. The original poster blamed the bad UI on A's Linux heritage.
------------------
It's not really as true as it used to be - Ubuntu 9.10 looks nicer than Vista IMO.
The reason why interfaces look bad is because interface design and software design ability don't always (or often) go together. They sometimes do, but they are different skills.
The normal way to deal with this is to hire one person to do the programming, and another person to do the graphic design and maybe the overall user experience.
The well funded FOSS projects like Firefox can hire like a for-profit business - they hire programmers and artists, and good ones.
Many FOSS projects are partly or wholly volunteer-run, so, they have to find both artists and programmers -- and these are projects run by programmers. They just don't know that many artists who have time to volunteer labor.
There are FOSS artists, but, they aren't so numerous.
There are FOSS projects run by artists, too. They tend to be built on richer platforms like Adobe Air, or are "widgets" or video games.
When they get bigger - they tend to fall apart, kind of like Miro (the Democracy media player). Great ideas, but, these mega-mash-ups generally don't work well.
GNOME made progress with interfaces by copying what Apple did back in the 80s: they wrote a book explaining to programmers how to make better interfaces. These were simple "how-to" articles explaining how to place buttons and fields on a form.
The lack of polish on Android is probably due less to Linux than to Java, which is the development environment.
Java UI focuses on Swing, but, with J2ME and these new mobile apps, there aren't many strong rules, so, things get inconsistent.
Android is still developing UI guidelines, according to their site. So, UI, while important, isn't getting all the priority.
This is an opportunity for UX people to contribute to the platform.