The problem is that "Open Source" is seen as a carreer move
Today people have a strong incentive to participate in "Open Source" projects. Recruiters look for names in such projects, and honestly this isn't the worst way to look for new talent.
However there is currently very little public incentive to make sure that code is useful or good. The prime example (because it's so clear) is the OpenSSL "keep alive" feature. There was someone writing a thesis on this feature... which is of limited use... then he writes a patch which contains a glaring error and it gets accepted.
We need people like Linus Tovalds which question new features. We would need them in projects like Debian or Gnome or xfce. Unfortunately we have to little of those people.