From: Michal Nazarewicz on
Hello everyone,

While developing an USB gadget and creating an INF file for it
I stumbled across some licensing issues which I cannot figure out.


First of all, for RNDIS I've used a template provided on MSDN at:
<http://msdn.microsoft.com/en-us/library/ff570620(VS.85).aspx>

Is it correct if I assume that this snipped is covered by the Microsoft
Limited Public License found at
<http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>?

Also, is 3(F) even relevant for INF files?


The second INF file was for USB CDC ACM function and I based it on
a template by Microchip (attached at the end of the message). I am not
100% of the source of this template and as a consequence I have no idea
as of its license.

There are several articles on MSDN that deal with usbser.sys and INF for
them but overally that does not help me determine terms and conditions
for the whole file.

I'm yet to hear from Microchip about it.


Could anyone help me out with those issues?


The USB CDC ACM inf template:

----<cut here>------------------------------------------------------------

; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
; Copyright (C) 2007 Microchip Technology Inc.

[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MFGNAME%
LayoutFile=layout.inf
CatalogFile=%MFGFILENAME%.cat
DriverVer=11/15/2007,5.1.2600.0

[Manufacturer]
%MFGNAME%=DeviceList, NTamd64

[DestinationDirs]
DefaultDestDir=12


;-----------------------------------------------------------------------
; Windows 2000/XP/Vista-32bit Sections
;-----------------------------------------------------------------------

[DriverInstall.nt]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.nt
AddReg=DriverInstall.nt.AddReg

[DriverCopyFiles.nt]
usbser.sys,,,0x20

[DriverInstall.nt.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.nt.Services]
AddService=usbser, 0x00000002, DriverService.nt

[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\%DRIVERFILENAME%.sys

;-----------------------------------------------------------------------
; Vista-64bit Sections
;-----------------------------------------------------------------------

[DriverInstall.NTamd64]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.NTamd64
AddReg=DriverInstall.NTamd64.AddReg

[DriverCopyFiles.NTamd64]
%DRIVERFILENAME%.sys,,,0x20

[DriverInstall.NTamd64.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.NTamd64.Services]
AddService=usbser, 0x00000002, DriverService.NTamd64

[DriverService.NTamd64]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\%DRIVERFILENAME%.sys


;-----------------------------------------------------------------------
; Vendor and Product ID Definitions
;-----------------------------------------------------------------------
; When developing your USB device, the VID and PID used in the PC side
; application program and the firmware on the microcontroller must
; match. Modify the below line to use your VID and PID. Use the format
; as shown below.
; Note: One INF file can be used for multiple devices with different VID
; and PIDs. For each supported device, append
; ",USB\VID_xxxx&PID_yyyy" to the end of the line.
;-----------------------------------------------------------------------
[SourceDisksFiles]
[SourceDisksNames]
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000A

[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000A


;-----------------------------------------------------------------------
; String Definitions
;-----------------------------------------------------------------------
;Modify these strings to customize your device
;-----------------------------------------------------------------------
[Strings]
MFGFILENAME="mchpcdc"
DRIVERFILENAME ="usbser"
MFGNAME="Microchip Technology, Inc."
INSTDISK="Microchip Technology, Inc. Installation Disc"
DESCRIPTION="Communications Port"
SERVICE="USB RS-232 Emulation Driver"

----<cut here>------------------------------------------------------------

--
Best regards, _ _
.o. | Liege of Serenly Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michal "mina86" Nazarewicz (o o)
ooo +--<mina86-tlen.pl>--<jid:mina86-jabber.org>--ooO--(_)--Ooo--
From: Tim Roberts on
Michal Nazarewicz <mina86(a)tlen.pl> wrote:
>
>While developing an USB gadget and creating an INF file for it
>I stumbled across some licensing issues which I cannot figure out.
>
>First of all, for RNDIS I've used a template provided on MSDN at:
> <http://msdn.microsoft.com/en-us/library/ff570620(VS.85).aspx>
>
>Is it correct if I assume that this snipped is covered by the Microsoft
>Limited Public License found at
><http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>?
>
>Also, is 3(F) even relevant for INF files?

Microsoft seems quite schizophrenic on the topic of license coverage for
DDK/WDK samples. The SDK license has a clause that says "anything
identified as a sample can be copied and used without restriction", but the
WDK does not have such a clause. On the other hand, it is OBVIOUS that
Microsoft intends us to use those samples as a starting point. That's the
whole reason for shipping the samples in the first place.

If you're worried about it, add a "Portions copyright (C) Microsoft
Corporation" in the INF.

>The second INF file was for USB CDC ACM function and I based it on
>a template by Microchip (attached at the end of the message). I am not
>100% of the source of this template and as a consequence I have no idea
>as of its license.

Microchip includes a huge set of sample projects in their development kit
when you buy one of their PIC USB chips. They are basically intended only
for use with a PIC chip. However, there's absolutely nothing in that INF
file that isn't completely generic, so I would have no hesitation in
deriving from it.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.
From: Michal Nazarewicz on
> Michal Nazarewicz <mina86(a)tlen.pl> wrote:
>>While developing an USB gadget and creating an INF file for it
>>I stumbled across some licensing issues which I cannot figure out.
>>
>>First of all, for RNDIS I've used a template provided on MSDN at:
>> <http://msdn.microsoft.com/en-us/library/ff570620(VS.85).aspx>>
>>Is it correct if I assume that this snipped is covered by the Microsoft
>>Limited Public License found at
>><http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>?>
>>Also, is 3(F) even relevant for INF files?

Tim Roberts <timr(a)probo.com> writes:
> Microsoft seems quite schizophrenic on the topic of license coverage for
> DDK/WDK samples. The SDK license has a clause that says "anything
> identified as a sample can be copied and used without restriction", but the
> WDK does not have such a clause. On the other hand, it is OBVIOUS that
> Microsoft intends us to use those samples as a starting point. That's the
> whole reason for shipping the samples in the first place.
>
> If you're worried about it, add a "Portions copyright (C) Microsoft
> Corporation" in the INF.

That's what I am doing at the moment. I was only wondering if that's
going to be all right.

>>The second INF file was for USB CDC ACM function and I based it on
>>a template by Microchip (attached at the end of the message). I am not
>>100% of the source of this template and as a consequence I have no idea
>>as of its license.
>
> Microchip includes a huge set of sample projects in their development kit
> when you buy one of their PIC USB chips. They are basically intended only
> for use with a PIC chip. However, there's absolutely nothing in that INF
> file that isn't completely generic, so I would have no hesitation in
> deriving from it.

Thanks for the comments. I also considered those templates rather
trivial but wouldn't want to infringe any copyright so just looking for
opinions more experienced people.

--
Best regards, _ _
.o. | Liege of Serenly Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michal "mina86" Nazarewicz (o o)
ooo +--<mina86-tlen.pl>--<jid:mina86-jabber.org>--ooO--(_)--Ooo--
From: Michael Reim on
One question:
Does this sample work for you on a newly installed XP 32 bit?


"Michal Nazarewicz" <mina86(a)tlen.pl> schrieb im Newsbeitrag
news:87ocfdtr7u.fsf(a)erwin.mina86.com...
> ; Windows USB CDC ACM Setup File
> ; Copyright (c) 2000 Microsoft Corporation
> ; Copyright (C) 2007 Microchip Technology Inc.
>
> [Version]
> Signature="$Windows NT$"
> Class=Ports
> ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
> Provider=%MFGNAME%
> LayoutFile=layout.inf
> CatalogFile=%MFGFILENAME%.cat
> DriverVer=11/15/2007,5.1.2600.0
>
> [Manufacturer]
> %MFGNAME%=DeviceList, NTamd64
>
> [DestinationDirs]
> DefaultDestDir=12
>
>
> ;-----------------------------------------------------------------------
> ; Windows 2000/XP/Vista-32bit Sections
> ;-----------------------------------------------------------------------
>
> [DriverInstall.nt]
> include=mdmcpq.inf
> CopyFiles=DriverCopyFiles.nt
> AddReg=DriverInstall.nt.AddReg
>
> [DriverCopyFiles.nt]
> usbser.sys,,,0x20
>
> [DriverInstall.nt.AddReg]
> HKR,,DevLoader,,*ntkern
> HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
> HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
>
> [DriverInstall.nt.Services]
> AddService=usbser, 0x00000002, DriverService.nt
>
> [DriverService.nt]
> DisplayName=%SERVICE%
> ServiceType=1
> StartType=3
> ErrorControl=1
> ServiceBinary=%12%\%DRIVERFILENAME%.sys
>
> ;-----------------------------------------------------------------------
> ; Vista-64bit Sections
> ;-----------------------------------------------------------------------
>
> [DriverInstall.NTamd64]
> include=mdmcpq.inf
> CopyFiles=DriverCopyFiles.NTamd64
> AddReg=DriverInstall.NTamd64.AddReg
>
> [DriverCopyFiles.NTamd64]
> %DRIVERFILENAME%.sys,,,0x20
>
> [DriverInstall.NTamd64.AddReg]
> HKR,,DevLoader,,*ntkern
> HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
> HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
>
> [DriverInstall.NTamd64.Services]
> AddService=usbser, 0x00000002, DriverService.NTamd64
>
> [DriverService.NTamd64]
> DisplayName=%SERVICE%
> ServiceType=1
> StartType=3
> ErrorControl=1
> ServiceBinary=%12%\%DRIVERFILENAME%.sys
>
>
> ;-----------------------------------------------------------------------
> ; Vendor and Product ID Definitions
> ;-----------------------------------------------------------------------
> ; When developing your USB device, the VID and PID used in the PC side
> ; application program and the firmware on the microcontroller must
> ; match. Modify the below line to use your VID and PID. Use the format
> ; as shown below.
> ; Note: One INF file can be used for multiple devices with different VID
> ; and PIDs. For each supported device, append
> ; ",USB\VID_xxxx&PID_yyyy" to the end of the line.
> ;-----------------------------------------------------------------------
> [SourceDisksFiles]
> [SourceDisksNames]
> [DeviceList]
> %DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000A
>
> [DeviceList.NTamd64]
> %DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_000A
>
>
> ;-----------------------------------------------------------------------
> ; String Definitions
> ;-----------------------------------------------------------------------
> ;Modify these strings to customize your device
> ;-----------------------------------------------------------------------
> [Strings]
> MFGFILENAME="mchpcdc"
> DRIVERFILENAME ="usbser"
> MFGNAME="Microchip Technology, Inc."
> INSTDISK="Microchip Technology, Inc. Installation Disc"
> DESCRIPTION="Communications Port"
> SERVICE="USB RS-232 Emulation Driver"
>
> ----<cut here>------------------------------------------------------------
>
> --
> Best regards, _ _
> .o. | Liege of Serenly Enlightened Majesty of o' \,=./ `o
> ..o | Computer Science, Michal "mina86" Nazarewicz (o o)
> ooo +--<mina86-tlen.pl>--<jid:mina86-jabber.org>--ooO--(_)--Ooo--
>