
Greg Kroah-Hartman's
announcement for free Linux driver development included the necesssary legal framework to honor NDAs when creating GPL'd drivers. This allowance
was discussed on the OpenBSD -misc mailing list. In a public exchange with Greg KH, Stephan Rickauer said:
"Now these companies have a great excuse to keep specs locked up tight under NDA, while pretending to be 'open'. The OpenBSD project has made clear more than once how this will hurt Free Software in the long run. Signing NDA's ensures that Linux gets a working driver, sure, but the internals are indistinguishable from magic. It is a source code version of a blob." OpenBSD founder Theo de Raadt called the free driver effort a farce, "you are trying to make sure that maintainers of code - i.e. any random joe who wants to improve the code in the future - has less access to docs later on because someone signed an NDA to write it in the first place. You are making a very big mistake."
Member since:
2005-07-13
I never thought I'd say this in a hundred gazillion years, but I agree with Theo. Sort of.
Kernel devs should not be signing NDA's. Period. They can be a legal minefield in an already litigious environment. There is an inherent risk that those devs could taint future contributions that may be entirely unrelated to the NDA-encompassed project, and the point about hindering documentation and future support are valid.
Having said that, I'm also very cognizant of the fact that issues related to the concept of intellectual property are not going to simply disappear simply because the community dismisses them as invalid. Companies have investors, shareholders, regulators, predatory-competitors and above all else, overzealous legal departments, that they are held accountable to. Free software advocates in public forums rank somewhat near the bottom of the list, and customers are somewhere in the middle.
Properly structured NDA's can possibly hold value if they can address the concerns of the corporate stakeholders without handcuffing developers; it is possible. If the linux kernel devs want access to proprietary information that will not be divulged without signed NDA's, then those NDA's should be signed by a responsible and accountable external organizations (such as the Linux Foundation) so that qualified developers can document the proprietary information in such a way that it provides enough information for developers to work with in terms of accessing and controlling hardware protocols and API's without necessarily divulging proprietary specs or trade secrets.
The kernel developers (or anyone else) could use these specs to develop against, without the hindrance of signing NDA's. The kernel devs (and linux itself) are isolated against claims of trade infringement if they choose to work on similar projects or drivers down the road, and by properly documenting the specs there's no fear of a project dying because someone gets hit by a bus.
Of course, it's not ideal. The hardware companies still ultimately control the information released, and may choose to inhibit full functionality. The kernel devs are still constrained by the information provided, but at least there's no prohibition on future reverse engineering either.
Free software advocates will often advocate an all or nothing approach, which is noble and admirable. But for others, compromise is not necessarily a bad thing as long as it advances your ultimate objective without demanding too big a sacrifice.
I don't think the idea of NDA's being used as a tool to aid driver development is inherently bad, I'm just not sure Greg's idea of developers themselves signing them is the best approach. Or even a good one.