S9 code is open source.
Meanwhile the other 'so called' better firmware added #xnsub to their code (which probably is in some versions the S9 code also - no idea)
2 things about that:
1) It's a major security issue since it allows the proxy/pool to change the work being mined to without any notification or log of it happening.
i.e. the pool/proxy can even switch what coin or what pool or what username you are mining without any log of that.
2) Who knows what issues they caused adding the #xnsub code ... did they test it still finds blocks?
(no doubt the standard reply to that is "Why do you need to find blocks?")
Miners can do whatever they please with their gear, or at least thats how it should be. Some companies think they should keep controlling the things they "sell", treating them more like some sort of lease you have no rights to...
This relates to destroying hardware and sending it back to bitmain wanting them to fix it ...
While it's under warranty you actually can't do whatever you want to it and expect them to fix it ... which no doubt is the problem there.
Bitmain should add some hardware log of max temperature/frequency/voltage that can't be deleted - but no doubt someone will come up with a firmware to hide that.
People like to make up conspiracy theories about all sorts of rubbish, but it seems pretty obvious why they would do it if you take a very small moment to think about it logically.