However, my experience in the hardware industry leads me to believe it's something about an 'intellectual property' fetish and pearl-clutching when confronted with the idea of 'giving away code for free'.
As someone who has worked on a chip design team and had to deal with this stuff... one of the biggest reasons is patents -- software patents. They can't sue you if they can't see what you're doing. There are lots of dumb software patents out there. AMD did get hit with a couple of those, but we were able to beat them because the order of operation didn't exactly match the claims in the patent.
Often it's a mess of third party proprietary dependencies, code owned by subcontractors, etc.
e.g. when AMD open sourced AMDVLK, they had to replace the proprietary compiler it was depending on with LLVM. That was an easy one. Many projects are much more deeply intertwined with proprietary crap.
Usually the code is not important, just the specification. Data sheets and explanations of how the hardware acts will do, they can keep their secret code.
However, my experience in the hardware industry leads me to believe it's something about an 'intellectual property' fetish and pearl-clutching when confronted with the idea of 'giving away code for free'.