This is an excuse, basically. They just don't want to because they fear revenue lost to compatible implementations.
The only secrets left are the bits responsible for turning OpenGL (or Vulkan now, I guess) calls into programs to run on the GPU.
I can think of AMD adopting and then ditching VLIW for one.
But on a GPU, the whole interaction between the GPU and the application is abstracted by APIs like OpenGL and Vulkan and you own the driver, you own the compiler, you own the implementation and you own the architecture. So companies tend to protect their "secrets" since they own the whole product.
If you are asking me why is it different... Ask these patent trolls instead:
- https://techcrunch.com/2014/09/04/nvidia-sues-samsung-and-qu...
- http://www.anandtech.com/show/11101/amd-files-patent-complai...
It's not an excuse, it's the sad reality.
Just as on a GPU, the whole interaction between the CPU and the application is abstracted by APIs[1] like C and Python.
[1] Yeah, we don't call them APIs. But then we don't call GLSL a "API" either. They're all languages.
There are millions of registered patents and the chances that your clean-slate ideas were already invented and patented are really high.
Open sourcing means exposing patent infringements to the public (even if you are not really aware that you are infringing anything), which means that you need to invest on a strong legal team in order to go through all possible patents and to deal with all possible litigations you might face.
In order words, open source requires much more than ideals, it also requires butt loads of money.