Re: Make Windows open source please

With all the subtle rules in driver land, it helps to see the
line-by-line detail of what the OS interface is doing (to know what
the driver has to do in order to cooperate with it). I find myself
often wanting to know more. The DDK samples demonstrate common
practices, but they don't show the underlying mechanisms. For
instance, today I was calling IoAllocateIrp and wondering which fields
of the IRP are "automatically" (as the DDK documentation says)
initialized and which ones the driver is expected to initialize. It
would be useful if the source of the entire OS was available, instead
of just the headers.

There is a huge difference between want and need. Besides which, I haven't
encountered a curious moment that couldn't be satisfied in a very short time
with WinDbg and IDAPro. It would be *nice* if source or private symbols were
available to all but in my view, this is a distraction from the job of a
kernel mode developer; writing compliant and safe code as per the docs and
guidelines that Microsoft issue.

A while back, a colleague and I had a conversation with Mark Russinovich. In
response to the question "Which is the better documented OS, Linux or
Windows?" without hesitation he answered Windows (which angered my Linux
zealot colleague...!) On balance, I have to agree. Having the Linux source
code available hasn't made my job as writing kernel mode software
significantly easier. Microsoft Press and the DDK/WDK docs have though.

My last foray into Linux was at a time when Linus had forbidden interactive
debugging of the kernel. I dont know about anyone else, but I find poring
through vast swathes of other peoples code tedious and unproductive
especially if you are unfamiliar with the source tree. Quite simply, I spent
more time searching through the source code than I did writing code and the
information I *needed* was actually accessible in books, online resources
and in particular, newsgroups in a fraction of the time.

My two penneth...



Relevant Pages

  • Re: Driver Programming - super ugh!
    ... Mungo wrote: ... How do I go about writing a driver for linux in any language, ... Before writing the driver, you need to know about the hardware's input, output, etc. ...
  • Re: Suse 8.2 Wont Recognize CD Burner
    ... > Linux sg driver version: ... > Using libscg version 'schily-0.7' ... Can you try writing the CD directly from the command ...
  • OpenBSD driver for nforce-based ethernetcards.
    ... So if anyone is interested in writing a driver for Linux for the ... nvidia ethernet cards: That's a nice place to start. ...
  • Video Input on VIA chipsets
    ... Just wondering if anybody has had any success with writing a Linux ... driver for the CLE266's video input ports? ...
  • Re: Fedora 5 - Intel Pro/Wireless LAN 2100 3B Mini PCI adapter woes.
    ... Intel PRO/Wireless 2100 Network Connection Adapter ... IMPORTANT INFORMATION BEFORE USING THIS DRIVER ... Intel PRO/Wireless 2100 Network Connection driver for Linux available ...