Reasons partially out of $COMPANY's control.
Posted Oct 10, 2006 4:36 UTC (Tue) by danm628
In reply to: Reasons partially out of $COMPANY's control.
Parent article: Device drivers and non-disclosure agreements
The companies may not be able to release the documentation even if they they want to.
I worked at a startup (since bought by Intel which is where I now work though on a totally different product -- just making full disclosure here). We developed a wireless product which unfortunately never shipped. But even if we had released it there were limits on what we could have publicly documented. Obviously we had the right to document the portions of the chip that we designed. But we purchased licenses for a couple of large RTL blocks and licensed a couple of large hunks of C code from other companies. These companies exist solely to sell licenses to the RTL modules and code they develop which means they have no desire to publish their code under any of the open source licenses.
Our product would have been "open", we planned to document the PC side API's to the firmware completely. You could have written a driver for Linux (in fact we did for internal use) or OpenBSD. But we could *NEVER* release the source code to the firmware or even document the internal registers that the firmware used. In a single register there could be IP from multiple companies and we can only publish our companies IP. So we couldn't have written documentation that would have allowed outside developers to write code unless they were under the same NDAs that we were under.
And all of this ignores regulatory issues. The FCC really doesn't like software controlled radios to be documented. You have to get approval to sell you chip. Our solution was to put the FCC stuff into our firmware. This made our driver (Windows, Linux, etc.) was very thin.
Many chips are like the one we designed. A small amount of IP designed by the company, the "key" feature of the product. A lot of off the shelf modules that may or may not have publicly available documentation. The company can try to select modules with public documentation but they may not exist. So you have to license what is available, whether or not it has public documentation. The company can try to develop all of the modules itself so it can release the documentation but that takes more money and takes more time. Both of which are in short supply on any project.
I'm not sure what the solution is. Theo does have a point; he usually does. Without public documentation of hardware we can't have a fully open OS. But getting fully open hardware requires changes to how chip IP vendors work, which will take time to achieve.
to post comments)