Re: UDI stuff.

Horst von Brand (vonbrand@sleipnir.valparaiso.cl)
Sun, 11 Oct 1998 14:00:51 -0400


Adam Sulmicki <adam@cfar.umd.edu> said:
> I don't think I have seen this before but about this compromise.
>
> As I see from one side are manufactuers who does not want to release specs
> for their brand new sutff.
>
> from other side is the open source community who wants to have sources to
> the drivers.

There are other considerations for the manufacturers and OS vendors too:

- Manufacturers:
+ Will need to release _one_ version of the driver (perhaps binary, maybe
source), not several: Better tested drivers, more people available for
writing them (not just "expert in OS/XYZ" anymore)
+ Gives them instant (or almost) access to a larger market, later even
including outdated versions of various OSes for no extra work
+ Source distribution would be ideal, no extra work getting random
vendors to include the driver with its offering. Just put the source up
for download and point folks at appropriate tools (gcc, whatever). Soon
enough the driver will be in every "Useful stuff for OS/XYZ" collection
+ Makes it somewhat easier for the competition to find out how the device
works (I'm sure binary drivers do get disassembled routinely, reverse
engineering laws/agreements/whatever notwithstanding)

- Vendors:
+ No need to get/write/adapt a special driver for it's own version
anymore, can use available drivers.
+ If some tweaking is needed/warranted, it should be very minor compared
to the current state of affairs
+ Access to a wider range of hardware (one of the traditional troubles
of commercial Unices on PCs is the dearth of supported devices)
+ They are obviously thinking of tapping the development work of open
source systems (if not, why the whole discussion here ;-)
+ Much less possibility of shining because "our support for XYZ devices
is unparalleled"

Clearly, the manufacturer can distribute a UDI driver in source with full
specs under NDA to vendors, who might just compile and link; AFAIU that's
exactly what they do now, just that vendors have more trouble than just
"compile and link". And/or they could release specs and even full source
to the open community to reap the benefits of high quality drivers if/when
they become available.

On the vendors side they'll probably insist on some form of licensing that
allows them to include the drivers into their offerings without pain. The
UDI interface will either allow module loading a la Linux or at least
linking into a prebuilt rest of the kernel (to be able to get at the larger
user base, this is a must). So they'll want a DGPL (Driver GNU Public
Licence ;-) that allows this.

> My idea was that if manufatuer want to release specs that is ok.
> If they does not want, they are permited to release binary-only
> drivers for, say, 8 months and after that they would be required
> to release sources.

Careful, Linux is _not_ the owner of UDI by a long shot. For a manufacturer
the best outcome would be that MS makes UDI its driver interface, and they
could then leave Linux out in the cold. For the Unix vendors Linux is a
mayor threat (remember WinNT and Linux are the only OSes in the server
market that are growing, this means eveybody else is loosing ground). If
Linux includes UDI, it will be able to get at drivers for other Unices (but
the vendors could restrict the use of the drivers they distribute to their
own systems!), and Linux device hackers will have better work chances in
the commercial sector. We might also loose access to specs for devices, or
at least timely access to specs; or we could get almost instant access to
specs and full source to working drivers, perhaps under a time-limited NDA
for selected developers/beta testers. Which way each manufacturer chooses
will be his own call...

OTOH, if UDI turns out useful, and perhaps even if not, somebody will write
patches to include it into Linux (either some random hacker or somebody
paid for the job by the UDI folks, a vendor or manufacturer). The open
software community is certainly not in a position to dictate any kind of
terms for it's cooperation: Remember, this community has been aptly
described as a "loosely knit bunch of hackers held together by the
Internet". Sure, if Linus, esr, rms and other elders coincide in voicing
strong objections, that will quench the enthusiasm of the rest somewhat,
but by how much is clearly an open question. If you don't believe me, take
a look at the discussion around some of the patch sets that are the center
of heated flaming, which Linus doesn't allow into the official kernel.

To me, which way the outcome will fall is not at all clear, not by a long
shot. UDI might turn out to be a flop, with no vendor adopting it, or get
boged down in endless internal political squabbles, or turn out to be
ill-conceived and go into an enless "version x.y.z UDI spec, incompatible
with earlier versions" spin, or give horrible performance and get dropped
except for "you can also use generic UDI drivers for exotic hardware". Not
that I know much about the matter, just trying to chart possibilities.

Just my 2 cents worth of oil to heat up the fire ;-)

-- 
Horst von Brand                             vonbrand@sleipnir.valparaiso.cl
Casilla 9G, Viņa del Mar, Chile                               +56 32 672616

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/