> > This is, unfortunately, very untrue. Versions 3.5 and 4.0 of NT have
> > very different driver architectures. My last driver required three
> > DLLs because of the funky *new* design. In porting linux drivers,
> > there is documentation and on-the-net collaboration. The support
> > engineer at Microsoft, after several hours of phone time, could never
> > answer my questions. A couple of weeks later, he called *me* to glean
> > my answer because other developers were calling about the same thing.
>
> How cooperative. My last contact with the Evil Empire was asking if
> they offer documentation for the ARC firmware as used in MIPS NT boxes.
> Their answer was we'd have to become member of one of their developer
> programs first for DM (M$ Munich) can't remember. My lower part of the
> body ...
My former employers are an anti-virus company that wanted to produce a
product that intercepted file system accesses so that it could perform
real-time virus detection. (This is what almost all NT anti-virus
solutions do.)
Now, NT has support for this and many other things that want to hook
into the system. In this case, NT supports the concept of file system
filters that can hook in at different levels of the system and look at
or modify the data flow. So, it wasn't as if they were trying to do
something NT wasn't designed to do.
However, Microsoft had at that point not documented this. In fact,
Microsoft had not issued documentation or headers for *anything* to do
with file systems, whether it was writing new file systems or filters
or what-have-you. If you wanted to write a new FS for NT, the only
MS-approved way of getting the information you needed was to buy an NT
source licence - for megabucks, needless to say (it was at least
$250,000 if I remember rightly)
Worse, MS had promised this documentation repeatedly. Practically
from the launch of the original NT, MS had promised a FS Development
Kit 'in six months'. A rolling six months, it seemed, because the
answer never changed. I hear it finally came out this year.
What planet are Microsoft on? You'd have thought that they'd
understand what happens if you don't publish your interfaces; people
reverse engineer them and work out their own ways of doing it. When
this happens, developers unknowingly introduce dependencies on parts
of the system that are going to change. Compatibility hell ensues.
Half the problem is that MS doesn't think it has to be nice to
developers. Everyone wants to develop for Microsoft OSs, seems to be
their attitude; why should we spend even a moment's effort encouraging
them? This is why Microsoft's developer phone support simultaneously
costs lots and is useless; why development info costs money. But not
making the information available at any price? That's just plain
stupidity.
It could also have something to do with the fact that MS, who are
after all application developers too, see developers for their OSs as
not customers so much as competition.
NT isn't too bad an OS, despite its origins, but MS don't particularly
try not to be the Evil Empire, do they?
-Matt