There are some bits in them that would/could rightly be considered proprietary, air/fuel maps, ignition timing, transmission shift logic, etc. I don't see any reason why those proprietary bits can't be segregated from the code we're interested in.
So, to answer your question, maybe they do, but probably not by necessity.
So, to answer your question, maybe they do, but probably not by necessity.