Can the W2K3 SP1 RC1 DDK be used for shipping products today

We’re having an internal debate about which DDK version is appropriate for a
driver we plan to ship shortly.

I believe the W2K3 SP1 RC1 DDK is the one to use. Some people here are
uncomfortable with the RC1 designation and feel we should use the two year
old W2K3 DDK. One of the arguments against the RC1 DDK seem to be drivers
built with the old W2K3 kit are “supported”, but drivers build with the SP1
RC1 kit are not. Another argument, in favor of the RC1 DDK is it’s the
compiler/headers being used right now at Microsoft for OS’s/patches/drivers,
and has bugs fixed that may still be in the old W2K3 kit.

I’d be interested in hearing what some of you driver old timers use, and
why.

  • Jan

Actually, I’ve just upgrade to W2K3 SP1 RC2! I always use the latest DDK,
after a suitable testing in case something breaks. With the latest DDK you
get new samples (yes you should look at what has changed since the bug they
fixed in this version, could be in your driver that you based on an older
version), latest headers and tools.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply

“Jan Bottorff” wrote in message news:xxxxx@ntdev…
> We’re having an internal debate about which DDK version is appropriate for
> a
> driver we plan to ship shortly.
>
> I believe the W2K3 SP1 RC1 DDK is the one to use. Some people here are
> uncomfortable with the RC1 designation and feel we should use the two year
> old W2K3 DDK. One of the arguments against the RC1 DDK seem to be drivers
> built with the old W2K3 kit are “supported”, but drivers build with the
> SP1
> RC1 kit are not. Another argument, in favor of the RC1 DDK is it’s the
> compiler/headers being used right now at Microsoft for
> OS’s/patches/drivers,
> and has bugs fixed that may still be in the old W2K3 kit.
>
> I’d be interested in hearing what some of you driver old timers use, and
> why.
>
> - Jan
>
>
>

Jan Bottorff wrote:

I believe the W2K3 SP1 RC1 DDK is the one to use. Some people here are
uncomfortable with the RC1 designation and feel we should use the two year
old W2K3 DDK.

I’d use (and DO use) the W2K3 SP1 RC2 (RC2, NOT RC1) DDK.

One of the main purposes for having pre-releases of the DDKs are to
allow people to build drivers to be shipped with the operating system.
Think about it: The DDK does go “gold” until the OS release that it’s
paired with is released. However, the various folks (OEM, IHVs, etc)
who build drivers that are supplied “in box” with Windows need to be
able to build their driver, so they can give them to Microsoft for
inclusion on the Windows release CD.

Also, consider the fact that if you were writing code for XP X64, there
IS no previously released DDK. S03 SP1 RC2 is it. Assuming, that is,
that you can’t wait for SP1 Release.

Peter
OSR

> I’d use (and DO use) the W2K3 SP1 RC2 (RC2, NOT RC1) DDK.

Thanks Peter. A number of experienced driver developers agreed the RC1 (now
RC2) DDK was the one to use, which also agrees with what my belief was
before someone challenged it.

A little sticky issue came up during my investigation though. If you read
the license of both the W2K3 DDK and the W2K3 SP1 RC1 DDK, there is no place
where it gives you the right to redistribute the C run-time libraries that
get linked into a driver. The W2K3 DDK says a bunch about redistributing
derived works of the Microsoft sample driver code included in the DDK. The
SP1 RC1 DDK does not contain this language. Both licenses say if Microsoft
doesn’t give you a specific right, you don’t have it. If you look a the
Visual Studio license, it’s very specific about giving you rights to
redistribute the run-time library as part of your product.

I asked Microsoft support about all this, and their answer was using the
latest DDK was technically the right thing to do, but technical support
people could not give any legal advice, and I would need a lawyer to
interpret what the legal uses of the different DDK’s are. I don’t believe
Microsoft intended things to be this way, but that is what the license
actually says.

I’m not a lawyer but it looks like every developer who distributes a driver
built with the W2K3 DDK may be in violation of the Microsoft DDK license,
unless they can make a driver that avoids all use of the run-time library
(including code generation helper functions).

  • Jan

Jan Bottorff wrote:

A little sticky issue came up during my investigation though. If you read
the license of both the W2K3 DDK and the W2K3 SP1 RC1 DDK, there is no place
where it gives you the right to redistribute the C run-time libraries that
get linked into a driver. The W2K3 DDK says a bunch about redistributing
derived works of the Microsoft sample driver code included in the DDK. The
SP1 RC1 DDK does not contain this language. Both licenses say if Microsoft
doesn’t give you a specific right, you don’t have it. If you look a the
Visual Studio license, it’s very specific about giving you rights to
redistribute the run-time library as part of your product.

I’m not a lawyer, and I’m not giving legal advice. But my company’s
interpretation of this license is that you can distribute drivers
created with the DDK. There’s no need for a license to redist the run
time code linked into your driver, even the run time library code,
because you’re not re-distributing the library per-se. Rather, your
just distributing your driver.

Let’s not get into a discussion in this forum about what the DDK’s
license does or does not allow according to all the members here.

If you contact me off-list, I’ll give you the names of a couple of
driver kits PMs that you can contact so you can work this out.

Peter
OSR