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

Reply via email to