But still, opening stuff has a cost, you need a legal team to review the whole stuff, possibly redo internally (with clean room) some bits that you bough to a third party, or even possibly, some technology of a startup you bought that you don't own fully, etc...
Originally Posted by johnc
Against that, you have gains: you can use open source tools for your driver, other corporations and individuals will be working for you, you can influence the whole platform if it's open too, the kernel/OS developers can work with your stuff more easily, etc..
For the windows platform, most of these gains don't exist: there are no open source tools or kernel to build upon, and development is centralized. And if you want OS devs to work/debug with you, they all will be professional Microsoft employee, so you can give them NDA + sources or debug dlls, that won't have all the hurdles of public distribution.
So it's quite possible that costs/benefits balance in one direction on Linux and the other on Windows... If their code base is small enough of "non-legacy" enough, it makes sense for them to develop two drivers, each best adapted to its environment.