On 2/14/07, Nick ! wrote:
We have seen this happen in the past. A couple of examples have
already been given, such as when one particular BSD project went under
NDA with one particular storage adapter manufacturer and came out with
crap drivers for the community. This has also been an item of HUGE
debate over the last couple of years in this project's community.
Search archives and Undeadly for specifics. I'm providing a couple of
resources in this posting.
> "[NDAs] are usually signed either to keep information about the
Read: the _created code_ is to be released. Not the _docs_ and
_specifications_ that led to the code.
What do you think helps keep driver code maintainable and improved as
time goes on? Code itself, or documentation and specifications?
> nothing will be obfuscated
This statement is wrong and just plain idiotic. Something is
obfuscated; the original specifications from which working,
maintainable drivers can be written. The code itself *is* obfuscation.
This is the reason our community doesn't petition hardware
manufacturers to give us driver source code; it's nearly useless.
> He might *actually* be telling the truth. Maybe not all NDAs are
Don't make excuses for the project guy (as well intentioned as he may
be), and certainly don't make excuses for the hardware vendors who
screw their customer base. The code will be readable to some degree,
without a doubt, but it will *not* accurately provide implementation
documentation so that a working, maintainable driver can be authored
by other open source projects. Driver code can be filled with magic
numbers, meaningless constants, and inadequate commenting that results
in a working implementation for the Linux kernel source tree but
insufficient information for reverse engineering that crap for any
other implementation.
In short, it's next to useless.
> Also, please educate me: couldn't a BSD driver be created by using the
That *has* been the approach in many cases. And it sucks.
http://www.openbsd.org/papers/opencon06-docs/index.html
http://kerneltrap.org/node/6550
http://kerneltrap.org/node/7184
http://kerneltrap.org/node/6497
DS
| Mariusz Kozlowski | [PATCH 01] kmalloc + memset conversion co kzalloc |
| Rafael J. Wysocki | [Bug #10629] 2.6.26-rc1-$sha1: RIP __d_lookup+0x8c/0x160 |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
| Jeff Garzik | Re: [RFC] Heads up on sys_fallocate() |
git: | |
| Linus Torvalds | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
