Re: Win2k or Win32 IPTABLES

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Lew Pitcher (lpitcher_at_sympatico.ca)
Date: 02/17/05


Date: Wed, 16 Feb 2005 22:47:57 -0500


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David Schwartz wrote:
> "Lew Pitcher" <lpitcher@sympatico.ca> wrote in message
> news:EITQd.18087$4I5.884210@news20.bellglobal.com...
>
>
>>>>Besides the differences at the network API level between MSWindows and
>>>>the
>>>>unixish systems that use Netfilter, the only restriction would be one of
>>>>licence.
>
>
>>>There is awful lot of GPL software available for Windows.
>>>That is definitely not a problem
>
>
> Right. The API is a license boundary. It's like two books sitting on
> your bookshelf.
>
>
>>It might be, especially with something like Netfilter. Netfilter is GPL'ed
>>software, which means that any software that incorporates it must also be
>>GPL'ed software.
>
>
> Correct, where 'incorporates' means that there is no boundary between
> the two bits.
>
>
>>The internal hooks in MSWindows that an MSWindows port of Netfilter would
>>have
>>to connect to would not be licenced under the GPL.
>
>
> Doesn't matter. The hooks are a license boundary.
>
>
>>The interface sources (i.e.
>>the .H files, for instance) would not be licenced under the GPL.
>
>
> The way you usually resolve this is you either put the header files into
> the public domain or you write your own header files under a totally open
> license.
>
>
>>Some of the
>>necessary dependant services (i.e. MSWindows service DLLs) would not be
>>licenced under the GPL.
>
>
> That doesn't matter. So long as there's an API, there's a license
> boundary.
>
> Imagine what would happen if you assume that the program has to be under
> the same license as the service DLLs. Now someone else makes another set of
> service DLLs that implements the same API. Which one does the program have
> to have the same license as?
>
>
>>The person who ports Netfilter to MSWindows would have
>>to reconcile the various licences, such that the released MSWindows
>>Netfilter
>>still conforms to the GPL, but this might not be possible if those other
>>licences forbid their component's use in GPL'ed code.
>
>
> I have never seen a EULA or shrink-wrap agreement that did this. No
> other type of license would have that power, because ordinary licenses
> cannot restrict ordinary use, which this is.

IIRC, Microsoft has already issued EULAs on some of it's products that forbid
the use of the products to create GPL'ed software. I assume that (for
instance) a developer porting Netfilter to MSWindows would have to check the
EULA of his MS Visual C++ installation for restrictions if he were to use
MSVC++ to recompile Netfilter for distribution.

Similarly, Microsoft (or others) might have licenced their DLLs such that they
are not legally usable with GPLed software. Are you /sure/ you read and
understood /every/ EULA for every DLL on your system?

>>In other words, the implementor would have to be /very/ carefull about
>>licence
>>issues.
>
>
> Well, that's certainly true. But most likely it would turn out not to be
> a problem unless you did something unusual.

This is system level code, which would run in MSWindows. That puts this
proposal square in the middle of 'something unusual' ;-)

>>FWIW, the part of the GPL that I'm thinking of reads...
>> "These requirements apply to the modified work as a whole. If
>> identifiable sections of that work are not derived from the Program,
>> and can be reasonably considered independent and separate works in
>> themselves, then this License, and its terms, do not apply to those
>> sections when you distribute them as separate works. But when you
>>* ------------
>> distribute the same sections as part of a whole which is a work based
>>* ---------------------------------------------------------------------
>> on the Program, the distribution of the whole must be on the terms of
>>* ---------------------------------------------------------------------
>> this License, whose permissions for other licensees extend to the
>>* -----------------------------------------------------------------
>> entire whole, and thus to each and every part regardless of who wrote
>>it."
>>
>> -------------------------------------------------------------------------
>>
>>This paragraph refers to the requirements in incorporating GPL'ed software
>>into
>>a new program, such as a GPL'ed Linux Netfilter into a new MSWindows
>>Netfilter.
>
>
> Except that this does not constitute a 'whole work'. An operating system
> and the program running on it are not a 'whole work' even if they're
> distributed together. License boundaries (such as defined APIs) separate
> distinct works.

No, but the Netfilter program and any of it's dependant DLLs would be
considered a "whole work". And if the program uses code with an incompatable
licence, or the DLLs are not licenced for use with a GPL program, then legal
h*ll breaks loose.

>>>- but the network API is.
>>
>>That would be my bet as the critical problem to implementing Netfilter for
>>MSWindows.
>
>
> I don't know enough about the specifics. Does there exist a header file
> that has a GPL-compatible license? Or is it easy to create one? So long as
> there is an API and the Netfilter could theoretically work with another
> implementation of that same API, there's no problem.

A translation of a header file (i.e changing variable names, etc.) or a
transcription of a header file (i.e. typing it in from a copy) would be
considered "derived works" of the original header file, and fall under the
requirements of the original header's copyright and licence. Thus, an
MSWindows header (say for WinSock), even if rewritten by someone else, likely
could not be used in a GPL'ed work.

- From what I've heard, the Linux Kernel gurus have debated this same issue, but
from the Linux side. Their conclusion seems to be that, if a kernel module
uses a Linux kernel header, then the module must be GPL'ed. /Only/ if the
module uses no kernel code (including headers) can it be propriatary
(although, they dislike propriatary modules in the kernel).

- --
Lew Pitcher

Master Codewright & JOAT-in-training | GPG public key available on request
Registered Linux User #112576 (http://counter.li.org/)
Slackware - Because I know what I'm doing.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCFBPtagVFX4UWr64RAvJpAJ0WvbqzM2cA2Qnx5U+DdjcgyBQ3RgCfesYL
IooQczeX2xsFVSXSk4U0N/g=
=Q7mv
-----END PGP SIGNATURE-----



Relevant Pages

  • Re: Win2k or Win32 IPTABLES
    ... The API is a license boundary. ... especially with something like Netfilter. ... The hooks are a license boundary. ... Does there exist a header file ...
    (comp.os.linux.networking)
  • Re: Win2k or Win32 IPTABLES
    ... The API is a license boundary. ... especially with something like Netfilter. ... The hooks are a license boundary. ... Does there exist a header file ...
    (microsoft.public.security)
  • Re: Win2k or Win32 IPTABLES
    ... The API is a license boundary. ... especially with something like Netfilter. ... The hooks are a license boundary. ... Does there exist a header file ...
    (microsoft.public.win2000.security)
  • Re: Win2k or Win32 IPTABLES
    ... the same license as the service DLLs. ... service DLLs that implements the same API. ... > to reconcile the various licences, ... such as a GPL'ed Linux Netfilter into a new MSWindows ...
    (comp.os.linux.networking)
  • Re: Win2k or Win32 IPTABLES
    ... the same license as the service DLLs. ... service DLLs that implements the same API. ... > to reconcile the various licences, ... such as a GPL'ed Linux Netfilter into a new MSWindows ...
    (microsoft.public.security)