Hi Greg, if i understand correctly, you are advocating the program described on http://www.kroah.com/log/linux/free_drivers.html in order to enable one open source operating system to support as much hardware as possible, which is certainly a useful goal. In fact, i am using Linux myself for one of my servers (the others are running OpenBSD) and for the majority of the workstations i maintain.
Yet i am concerned about questions of maintainability of driver code. As far as i understand, the main point about open source software (irrespective of its particular license) is that anybody can read the source code in order to evaluate its functionality, correctness and security, and anybody with the required skills can fix any bugs that might have slipped - or adapt the code to any particular needs. Let me put the problem i feel in the following pointed way, which is all the same not intended to be disrespectful, but only intended to make the point clear, which is, in my humble opinion, not at all a point of Linux vs. BSD. If an immortal being who is at the same time utterly incapable of committing any software bugs writes an open source driver for an operating system which is guaranteed to be absolutely bug free, too, and which is guaranteed to never need any changes to its kernel-driver interfaces, this might be quite useful - provided that the immortal being either commits itself to indefinitely support the driver or that it can foresee any potential uses anybody could have for the hardware device in question. And provided that the operating system in question can fulfill any potential needs any future computer users could ever develop. If a skilled, but mortal programmer carefully writes a driver for a real-world operating system, even if it's a very good OS, it is *much* less useful under NDA than starting from free documentation, irrespective of the particular operating system and irrespective of any licensing issues. Reading source-changes mailing lists, i often see commit messages of the style "fixing FOOBAR bug in FOO driver with respect to misuse of BAR firmware (or hardware) interface, thanks to <[EMAIL PROTECTED]> for pointing this out to me". Shouldn't you try very hard to avoid ruining your chances to profit from such help? To give more examples, how do you guard against developers dropping projects and manufacturers not trusting their successors? Wouldn't you be forced to drop driver support? That would be bad: In the first place, you told Linux users that the device would be supported. Do you deem it fair claiming a device to be supported when a third party you cannot control may in effect force you to drop support? How do you make sure that manufactures do not back out of some of their NDA agreements, effectively rendering the drivers for part of their hardware unmaintainable for future kernel versions? Some manufactures even do such things on purpose in order to motivate customers to buy new products - MS Windows does come to mind here, doesn't it? So if your goal is to get as many GNU/Linux drivers as possible, if your goal is at the same time to get them as correct, as maintainable and as useful as possible, and if your definition of "supported" includes "will also be supported in the future", i really think you should make a stronger point about the importance of open documentation in the GNU/Linux context. In my humble opinion, it would also be fair to tell manufacturers up front and at a prominent place that releasing hardware documentation to the general public will result in better and more flexible drivers, more effective bug squashing and better overall driver maintenance, so in the end of the day, in customers being able to make better use of their device and in getting a better impression of their company. Currently, all i can find in http://www.kroah.com/log/linux/free_drivers.html is this: "If your company is worried about NDA issues surrounding your device's specifications, we have arranged a program..." I think, at that point, you ought to clearly tell manufacturers that participating in that kind of program will render the resulting driver much less useful than opening documentation. You also ought to seriously urge them in each single case not to take that route. In my humble opinion, even according to your own goals (as far as i understand them) you should seriously reconsider whether writing open source code under NDA is actually useful enough to warrant the effort, in particular given that the offer to do so can motivate manufacturers *not* to release documentation to the public, thereby also harming other GNU/Linux developers and the GNU/Linux community in general and thereby rendering Linux less useful than it could be, regarding the grand total. Additionally, you might consider to supplement your FAQ in the following respects: [EMAIL PROTECTED] $ grep -i maintenance free_drivers*.html [EMAIL PROTECTED] $ grep -i bug free_drivers*.html free_drivers.html: be good to have so that debugging doesn't have to be done by email, [EMAIL PROTECTED] $ grep -i fix free_drivers*.html [EMAIL PROTECTED] $ grep -i update free_drivers*.html [EMAIL PROTECTED] $ grep -i security free_drivers*.html [EMAIL PROTECTED] $ Yours respectfully, Ingo -- Ingo Schwarze <[EMAIL PROTECTED]> usta.de / studis.de sysop