An API is almost as binding as a law of nature. People will grumble, and maybe write adaptors, pile on abstractions, possibly even send you pull requests. But to change an API against the owners' will requires a bold and binary decision to fork with all it entails.
It also doesn't matter. There's only one limitation programmers are often exposed to: that of the choice of language/framework/platform... And witness how much flack a perfectly innocent language* like JS gets.
Within their implementation, programmers have free reign (within reason, don't get your hopes up, tab-indenting freaks)
For design, it starts out with a somewhat arbitrary definition of what is meant by a "style guide". Methods to validate implementations are tacked-on (if existing). A fully-formed style guide (...doesn't exist, but...) would reduce those implementing it to mere tools, while any style guide that allows creativity will inevitably lead to design-by-committee-that-never-meets. At a company, this tension is resolved by iteration, team-work and constant communication, allowing people to form a group identity. But that requires some sort of authority, a hiring/education process that creates a group with some basic, shared understanding/ideology/vocabulary and lots of FaceTime.
*applying the insanity defense
As a front-end web-dev with a passion for Design/UI/UX I can tell you that many designers just don't know how to contribute and a large portion don't know that contributing to a project as large as an OS is even something you can do.
Programming has a history of collaboration going way back, and because of things like Git/package managers etc, this sharing economy is presented very early on and it sticks on the programmers mind. The designers equivalent is stuff like free stock-photo websites and icon packs, their sharing economy lacks comparable concepts.
edit: formatting
This is why many of us that enjoy UI design ended up going to platforms where it is praised.
That said, not all design is made equal, sometimes a little dose of reality check from the community can be helpful.
Which means it took 4 years to get it to usable state where i don't have to download tons of plugins to make it effective environment for work and multitasking.
Designers do their own part by putting out the design equivalent of free open source code, in other words free icons, fonts, templates, concepts, etc.
The only well designed open-source projects are usualy from people who are designers who can code. Or led by company hiring designers.
Most of the open source software manages to ask for logo and thats it. Logos are hardly passion, in fact its boring and its not design.
Secondly, "good design" is subjective as opposed to a program that achieves its goals. No matter what you do, you will have a substantial amount of people hate your designs. So when people come in and tell them that the design sucks, there are a lot of people also telling them that it is good and it works.
What needs to happen is people come up with objective shortfalls in existing designs and let them know how that can be fixed.