LWN.net Logo

To Greg Kroah-Hartman

To Greg Kroah-Hartman

Posted Sep 28, 2007 20:53 UTC (Fri) by JoeBuck (subscriber, #2330)
In reply to: To Greg Kroah-Hartman by Zoborov
Parent article: The Linux Driver Project takes off

Provided that the NDAs are only temporary, and that in the end a fully documented driver (without any obfuscation) is released, I'm cool with it, and I think that you should be too.


(Log in to post comments)

To Greg Kroah-Hartman

Posted Sep 28, 2007 21:13 UTC (Fri) by Zoborov (guest, #29327) [Link]

Provided that the NDAs are only temporary

What conceivable incentive would manufacturers have for eventually releasing their APIs, given that Kroah-Hartman's at pains to assure them they've no cause to:

All that is needed is some kind of specification that describes how your device works, or the email address of an engineer that is willing to answer questions every once in a while.

[...]

If your company is worried about NDA issues surrounding your device's specifications, we have arranged a program with OSDL/TLF's Tech Board to provide the legal framework where a company can interact with a member of the kernel community in order to properly assure that all needed NDA requirements are fulfilled.

To Greg Kroah-Hartman

Posted Sep 28, 2007 22:21 UTC (Fri) by sobdk (guest, #38278) [Link]

>What conceivable incentive would manufacturers have for eventually releasing their APIs

APIs? OK I'm not exactly sure what it is you are referring to, but I think you have a misunderstanding of why a NDA might be needed. In order to write a device driver you need to know how to communicate with that device. Ideally the manufacturer would give you a register level programming manual for the device which documents all of the registers and any other special information you may need to know. Of course the problem is that despite popular belief these manuals don't write themselves. Writing this documentation is tedious, error prone and expensive, and for a lot of companies there is no gain in writing such a manual when internally they have access to hardware developers and their "write once" Windows driver.

So why require a NDA? Because this allows the companies to simply give access to same information they would have internally without having to worry about making it safe for external eyes only. This does not prevent anyone from creating a well documented open source driver that can be further improved by others who did not sign a NDA. In fact many of these same companies would probably be just fine with you using your NDA to write the RLP manual if that is how you would rather spend your time.

To Greg Kroah-Hartman

Posted Sep 28, 2007 23:24 UTC (Fri) by Zoborov (guest, #29327) [Link]

This does not prevent anyone from creating a well documented open source driver that can be further improved by others who did not sign a NDA.
If register level programming documentation's necessary to writing a fully functional driver, then how can "others who did not sign a NDA", i.e., those not privy to that documentation, able to substantially improve on it?
In fact many of these same companies would probably be just fine with you using your NDA to write the RLP manual if that is how you would rather spend your time.
A manual that, as a NDA signatory, I presumably wouldn't be able to show to fellow Linux developers (let alone to developers working on FOSS operating systems other than Linux)?

To Greg Kroah-Hartman

Posted Sep 29, 2007 0:59 UTC (Sat) by sobdk (guest, #38278) [Link]

>If register level programming documentation's necessary to writing a fully functional driver, then how can "others who did not sign a NDA", i.e., those not privy to that documentation, able to substantially improve on it?

Well, really that depends on the NDA (Non Disclosure Agreement). Specifically it depends on what the agreement says you are not allowed to disclose. Often they simply prevent you from disclosing information about the device before it is released to the public. Or they may prevent you from disclosing information you learn about the design process or other internal hardware/software (Maybe you'll get to see the VHDL code).

As long as the NDA allows you to write a non obfuscated GPL driver then the source code should provide all of the information others will need to work on the driver in the future. All registers and "magic" numbers will be defined as clearly named constants, functions and variables will have useful names, and of course there will be comments.

Improving the driver

Posted Sep 30, 2007 18:07 UTC (Sun) by filker0 (guest, #31278) [Link]

It also depends on how the driver is being improved. If the improvement is in how it interacts with
the hardware, having access to the additional information may be very useful. If the improvement
is, however, in any other area of the driver, that can be done without reference to the hardware docs
(if any exist).

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds