User: Password:
Subscribe / Log in / New account

Reverse engineering takes longer than a product cycle

Reverse engineering takes longer than a product cycle

Posted Oct 10, 2006 11:20 UTC (Tue) by drag (guest, #31333)
In reply to: Reverse engineering takes longer than a product cycle by arafel
Parent article: Device drivers and non-disclosure agreements

""I think you'll find most NDAs forbid you from signing them in order to develop documentation to allow people to circumvent the NDA. The lawyers aren't *that* stupid.""

YES. Now you are starting to see my point.

Theo says that Linux devs are screwing up by falling for NDA traps and it's not helping anybody other then themselves. Linux developers say they are doing it because it allows them to work with engineers because documentation is non-existant. The company can't release something that is non-existant.

I say, then if it is true then they can produce the documentation themselves so that other developers can use it to improve and develop their own drivers. However if the NDA forbids stuff like that.. Then the Linux developers are full of shit and are just saying that so they don't look bad. Corporations like that wouldn't release the documentation anyways even if it existed.

I don't have a problem with them replying something like: "Tough shit Theo. The ONLY way we are going to get good drivers in a reasonable time span is by signing NDAs. Next time make a more popular OS so you too can sign NDAs otherwise shut up and go back to reverse engineering with help from the Linux drivers code and bitching about the lack of quality in said code.".

If that is the truth then that is the truth. What can anybody do about it?

(Log in to post comments)

Reverse engineering takes longer than a product cycle

Posted Oct 10, 2006 23:26 UTC (Tue) by lambda (subscriber, #40735) [Link]

I think you don't understand what NDA stands for. It stands for "Non-Disclosure Agreement". That
means that you can't talk about what you were working on. Writing documentation, and releasing it
as open documentation, would surely violate most NDAs. And the Linux developers certainly could
be telling the truth when they say there are no docs, but their NDA doesn't let them write docs. In
many cases, there may be closed firmwares, or the files they use for designing their hardware, that
they give the Linux developers access to. NDAs are usually quite broad, to make sure someone
doesn't find a way around, and so they can give you just the code to their closed firmware
while still not even allowing you to write documentation for interfacing with said firmware.

Reverse engineering takes longer than a product cycle

Posted Oct 11, 2006 2:19 UTC (Wed) by bronson (subscriber, #4806) [Link]

It's perfectly possible to sign an NDA to write documentation. In fact, it's happened in the past. Typically the NDA will include a stipulation that any materials produced must be authorized by the company before they can be distributed.

For example, let's say you enter into an agreement with Motorola. They can give you their Verilog code, and ASIC floorplan, or any other highly proprietary information that might be relevant. You would then write the documentation being careful to avoid writing about anything that would be proprietary. Once both you and Motorola are are satisfied with what you've produced, your work can be distributed publicly.

But, if you're under NDA anyway, why not just write code and some extremely well-commented header files? I've written a few drivers in my day and I found that even crappy reference drivers tend to be more useful that the most perfect English documentation. (Bad documentation: S3. Good documentation: Philips. But S3's part was much easier to bring up because they included code)

Reverse engineering takes longer than a product cycle

Posted Oct 11, 2006 8:54 UTC (Wed) by drag (guest, #31333) [Link]


NDA is a contract and contracts differ.

I would expect that if it's true that the problem is that there is simply a lack of documentation then that can easily be overcome. Either through self documenting code or other things.

I figure a company may just need help or lack resources and a Linux developer or two can then work with them in a consulting role as a sort of ambassador to figure out the best way to get their hardware open enough to allow other developers write code for it.. but not to violate any prior patent or copyright agreements with other companies and not to risk revealing hardware design more then nessicary. If a Linux developer was to follow that role then it would probably be nessicary for them to know more about the company and the hardware design then is nessicary or desirable and a NDA were the company gets to review documentation and code before release would be appropriate and safe for everybody involved.

It would be a insurance policy to protect not only the ass of the hardware company in question, but also make sure that no third party 'IP' (horrid word) makes it's way into the Linux kernel or other people's software were it could cause legal troubles down the road.

However if the company isn't going to allow you to open up the hardware then the likelihood is that the real reason that there is no documentation or reveiling code or whatever the hell people want is because _they_had_no_intention_in_releasing_anything_at_all_ and why waste resources on something like that? They'll force developers to obsicate the code and thus it will be unmaintable by anybody that hasn't signed the NDA. In that case it's not realy any that much better then closed source. Free software, Open Source software just doesn't work under those conditions. This is what Theo was bitching about.

You'd just end up with something like the 'NV' driver were it's unmaintanable and pretty buggy and just encourages people to use close source drivers.

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