Cygwin & Microsoft's EULA, was: Re: Dispelling BSD License Misconceptions (fwd)

Chuck Swiger chuck at codefab.com
Fri Jan 19 22:24:44 UTC 2007


On Jan 19, 2007, at 1:22 PM, John Cowan wrote:
> Chuck Swiger scripsit:
>> It doesn't matter which compiler the Cygwin folks use; Cygwin's
>> setup.exe dynamically links against:
>
> Fortunately, setup.exe is not a Cygwin program and is fully  
> replaceable
> should the need arise.

http://www.cygwin.com/setup.exe isn't a Cygwin program...?
Run "strings" against it and look at the tail of that output:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"  
manifestVersion="1.0">
<assemblyIdentity
     version="1.0.0.0"
     processorArchitecture="X86"
     name="RedHat.Cygwin.Setup"
     type="win32"
<description>Cygwin installation tool</description>

...followed by the dependency output and .DLLs I'd previous quoted.

It's probably true that normal UNIX binaries might only need link  
against the version of GNU libc that Cygwin comes with to work, but  
things like the Cygwin terminal program, things which install  
themselves as Windows services in order to do networking, things  
which eventually end up calling Win32 APIs to allocate new tasks,  
draw on the screen, access file or network resources, are eventually  
invoking Win32 APIs.

They appear to be doing so via a shim layer called winsup/w32api:

   http://cygwin.com/packages/cygwin/cygwin-1.5.23-2-src

...which includes a GPL "COPYING" file, yet if you actually download  
the Cygwin or MINGW version of this w32api shim and check the  
libraries or source code (I was looking at prdownloads.sf.net/mingw/ 
w32api-2.4.tar.gz), you'll find the following:

ADVAPI32.DLL
CAP.DLL
COMCTL32.DLL
COMDLG32.DLL
CRYPT32.DLL
CTL3D32.DLL
Control_FillCache_RunDLL
Control_RunDLL
DDRAW.dll
DINPUT.dll
DLCAPI.DLL
DPLAYX.dll
DSETUP.dll
DSOUND.dll
GDI32.dll
GLAUX.DLL
GLU32.DLL
IMAGEHLP.DLL
IMM32.DLL
IPHLPAPI.DLL
InitializeDll
InternetInitializeAutoProxyDll
Kernel32.dll
LZ32.DLL
LdrDisableThreadCalloutsForDll
LdrGetDllHandle
LdrLoadDll
LdrUnloadDll
MAPI32.DLL
MFCUIA32.DLL
MGMTAPI.DLL
MPR.DLL
MSACM32.DLL
MSIMG32.DLL
MSVCP60.DLL
MSVFW32.DLL
MSWSOCK.DLL
NDDEAPI.DLL
NETAPI32.DLL
[ ... ]

-- 
-Chuck




More information about the License-discuss mailing list