"The reasons for not open-sourcing the drivers don't make sense to me. "
It makes total sense to me:
1-Every couple of years they can sell you a new card as the one that you have does not work with the new OS.
2-Competitors can not look at the code, understand and copy it, so technology leaders like NVIDIA are not reached by followers without significant investment.
3-Software Patents holders(patent trolls) can not look at the code and demand them exorbitant fees because using a buffer to paint on a computer screen is patented by them. This is very common in the USA and the main reason companies asked me for an NDA if I saw their drivers code.
4-People can not unblock features of cheap cards to make the same things expensive cards does(it is very common to make only one chip to get mass production cost and then to use some cheap hardware or software switch to deactivate features on cheap cards).
5- Video decoding and other stuff could be out sourced to specialist companies that demand their code to be secret by contract.
>> 4-People can not unblock features of cheap cards to make the same things expensive cards does(it is very common to make only one chip to get mass production cost and then to use some cheap hardware or software switch to deactivate features on cheap cards).
This is also sometimes done with slightly defective chips. E.g. AMD has sold some quad-cores as three-core cpu's when one of the cores has failed some quality control check. Sometimes they can be enabled and they work fine but there may be a risk involved.
I know this is sometimes also done because of marketing reasons. Some years ago, IBM was selling additional Java or DB "accelerator" chips to high-end servers. They were in fact the same kind of processor that the server shipped with but they were crippled with microcode so they could only run the JVM or a DB2 server or something. I very much dislike this practice, talk about wasted engineering effort.
It makes total sense to me:
1-Every couple of years they can sell you a new card as the one that you have does not work with the new OS.
2-Competitors can not look at the code, understand and copy it, so technology leaders like NVIDIA are not reached by followers without significant investment.
3-Software Patents holders(patent trolls) can not look at the code and demand them exorbitant fees because using a buffer to paint on a computer screen is patented by them. This is very common in the USA and the main reason companies asked me for an NDA if I saw their drivers code.
4-People can not unblock features of cheap cards to make the same things expensive cards does(it is very common to make only one chip to get mass production cost and then to use some cheap hardware or software switch to deactivate features on cheap cards).
5- Video decoding and other stuff could be out sourced to specialist companies that demand their code to be secret by contract.