a) If the drivers were open patent trolls and competitors would sue.
b) I have heard stories about some graphics vendors who have a lot of duplicated code in their drivers for supporting different generations of cards. Instead of building abstractions that achieve generality theyve succumbed to the copy paste rabbit hole.
c) If we all saw the mess that lives in the drivers none of us would be okay with it running it as a kernel module.
d) There are questionable optimizations that vendors would be caught on.