Just a idea to get some ideas from others -- this does not necessarily represent how art or artists feel or operate since I am not one and don't actually know.
As an example, look at most of Linux Distro's UX since you brought it up. They aren't meant for the layman the way Mac/Windows was. the deeply technical audience, for better or worse, puts up with a lot of UX issues for their tools. That doesn't work the same way for a general audience website or app.
----
But that's from the "why can't programmers art" side of the argument. Of course, that begs the question "why can't programmers find artists to work with them?"... well, there's a dozen different reasons. Culturally, historically, socially, and so on.
But to list the one big reason; there aren't stereotypes about programmers being short on cash and needing to commissions out programs after their full time job just to get by. (a few) programmers do all that just for their own self-fulfillment or for their own goals, with no expectations of a big payment most of the time. Because many are already financially comfortable.
On the contributor side:
- Visual style guides require much more time and skill to create (relative to style guides for code) and still generally fail to achieve anywhere near the aesthetic unity of a single great designer with total control.
- If you commoditize your design elements to the point where it is easy to contribute them, then it is no more difficult to do it yourself to begin with.
- Delegation of design work still requires that you funnel it somewhere to be judged on qualitative measures, rather than the pass/fail nature of code
Generally the best you can do is collaborate very, very tightly and then funnel it through a single person in the end anyway a la Python's BDFL in a very trial and error fashion.
On the contributor side:
- Visual style guides require much more time and skill to create (relative to style guides for code) and still generally fail to achieve anywhere near the aesthetic unity of a single great designer with total control.
- If you commoditize your design elements to the point where it is easy to contribute them, then it is no more difficult to do it yourself to begin with.
- Delegation of design work still requires that you funnel it somewhere to be judged on qualitative measures, rather than the pass/fail nature of code
Generally the best you can do is collaborate very, very tightly and then funnel it through a single person in the end anyway a la Python's BDFL in a very trial and error fashion.