>From: tom ehlert <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Subject: Re: [Freedos-devel] Executable compression
>
>SK>  special exception, the source code distributed need not include
>SK>  anything that is normally distributed (in either source or binary
>SK>  form) with the major components (compiler, kernel, and so on) of the
>SK>  operating system on which the executable runs, unless that component
>SK>  itself accompanies the executable."
>
>I'm not aware of any compiler, that comes normally distributed with
>windows (or any exepacker).
>
>So distributing any GPL compiled with VisualC or Delphi would violate
>GPL. You're kidding, aren't you?


The 'major components' do not have to be provided _with_ the
OS, they must be _of_ the OS.  Thus one can use any compiler,
linker, or whatever is deemed a major component of the OS.
This distinction [which I recently got into an argument about
with the GNU gettext folk, because they claimed MSVC 7 could
not be used, but MSVC 6 could -- which was finally settled
to either can be used, but neither's C runtime DLL can be
distributed with a GPL'd program] is what allows one to use
Borland C/C++, Turbo C/C++, Turbo Pascal, etc to build FreeDOS or
Microsoft Visual C/C++, Borland C/C++, Delphi, etc to compile
programs on Windows.  Now the funny part is that clause
'unless accompanies the executable'.  So if an exe compressor
includes a stub decompressor, and this stub is legally derived
from the original executable, then its source must be made available and must be 
available under terms of the GPL; though if
there is no source to the decompressor (as defined by the GPL)
then obviously there is nothing to make available [otherwise one
would need to supply source to other generated items such as
exe headers, dll import stubs, etc which really have no source].
The actual exe compressor source does not matter, however, the
license of any decompressor program embedded could matter;
it depends on if a wrapper (think zip, installer, etc) is
derived [in copyright law] from what it wraps or not.  An exe
compressor produces a executable that is no different than a
self extracting zip or a compressed file accompanied with the
uncompressor program; as it is merely a specialized self
extracting file.

The thing to note about MSVC, Delphi, or even Visual Basic;
one can not include with their GPL project [using standard
GPL license] the dynamic runtime libraries without either
violating the GPL (where is the source?) or the compiler's
license (do you have a right to release source for their
runtime?).  One can of course provide them as a separate
item if the license permits (which IIRC MSVC does not).
Note: linking against the dynamic runtime is fine, as this
is part of the compiler, which is part of the OS, so no
source needs to be provided; it is distributing the runtime
with the GPL'd program that causes problems.

So the even funnier part is about statically linked runtimes;
most people simply choose to ignore their existance otherwise
you have a serious problem -- no GPL'd [again assuming the
stock GPL license without such an exception] program can
legally be released if built with a compiler's (C/Pascal/VB/...)
normally included libraries including startup code unless
one has the right to pass the source of these libraries on
to others in terms compatible with the GPL.  I really doubt
any programmer is going to strictly enforce this aspect of
the GPL, but to be fully legal, if requested one must be
able to supply the source [as defined by the GPL, ie the
human readable junk] to the compiler startup code and any
compiler libraries statically linked with the resulting binary.

So strictly speaking, a GPL licensed program is limited to
be built with a GPL compatible startup code, static runtime
library, etc. but the tool itself (compiler, linker, exe compressor, etc.) and dynamic 
runtime library (assuming not
provided with GPL program) need not be GPL compatibly
licensed as it is a major component of the OS[1].

[1] Of course as creators of the OS, we get to define what
its major components are; but then we also have to limit them
otherwise our binaries won't be legally compatible for another
OS such as MS/DR/PC DOS, Windows, ReactOS, DOSEmu, etc.  

* For programs with very few copyright right holders, where
said copyright holders release the binary; the GPL does not
matter in the least -- i.e. the binary can be built with all
sorts of libraries without source and packed by some super
special compressor -- though it is uncertain if anyone else
can actually pass this binary on to others.

>
>-->> So, if you distribute the sources to built the Program, the reciever
>SK> can re-built a functionally 100% identical Program.
>
>and thats how I understand OPEN SOURCE.
>
>not as a way to rule the world.
>
>tom
>

I agree, open source should be about being able to produce
functionally identical programs [not binary copies] that one
can use to learn how something gets done, fix problems, and improve on.

Personally, I still believe FreeDOS should use the tools,
be it compiler, linker, or exe compressor, that provides the
optimal binary for releases.  Provided, if one has the identical
tools, an identical binary can be produced from the provided
source, otherwise the source need only provide a functionally
identical binary.

Jeremy




-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to