[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Legal issues with having Linux use Windows device drivers



In <[🔎] XFMail.980914223149.brimhall@pobox.com>, on 09/14/98 
   at 10:31 PM, "Geoffrey L. Brimhall" <brimhall@pobox.com> said:

>Aside from the technical issues of having Linux use windows device
>drivers (such as the video card drivers), are there any legal reasons why
>a person could not use the device drivers written for the MS Windows
>operating system ?

Somehow, I think the technical issues would be even worse than the legal
ones.  Device drivers are nowhere near ordinary programs,
and the linux kernel is very different from the windows kernel. Making
linux call the windows driver would be doable, or so I guess. The calls
the driver might make could also be mapped.
But what about data structures it might expect to find at certain
addresses? Memory management and scheduling works in different ways in the
two os'es. How about timing requirements?  Devices need real-time
responses sometimes, and may need to turn interrupts off.  Allowing all
that could bring down linux performance, and a windows driver bug could
then crash linux just as easy as windows itself.

In short, you'll find that you may need to map/emulate a lot more than a
few api points.

>There are two areas that I could think of, if any one could shed some
>light on
> these two, or bring up some more issues, I'd appreciate it.

>The first question is the basic licensing of the driver - I don't think
>this is an issues because I would think the license is attached with the
>hardware installed on the machine. So I wouldn't think it matters if the
>device driver is being used on Linux or Windows.
The driver may come with a license of its own, depending on who wrote it.
Microsoft may require that it is used with windows only.  
A hardware manufacturer will usually only
require that it is used with his hardware (not with clone hardware)  Such
a driver could probably be used under linux - if the tech issues are
resolved.  Writing a linux driver may be a lot easier though.   You can
often find source for a similiar driver and work from there.

>The other issue is whether or not the device api set which the drivers
>use to communicate with the windows operating system are proprietary or
>not. They are certainly an open, published api set (look at the DDK part
>of the Microsoft MSDN, where most of these entry points are described).
>The question is whether Microsoft owns all rights to usage of these entry
>points ? If they don't, then it seems like some kernel drivers could be
>written which supply these api points and map them to pertinant UNIX io,
>thus allowing usage of the drivers.

I don't think they have exclusive rights to the api.  Anybody may write a
windows device driver - using those API's.  Someone else may *implement*
the api's too, but they may have to prove that they didn't do this by
copying the related windows files. There are several windows emulators
emulating parts of the windows API without getting in trouble.  I don't
think the device driver api would be worse.

Helge Hafting


Reply to: