gnu-misc-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Now it's my compiler!


From: The Ghost In The Machine
Subject: Re: Now it's my compiler!
Date: Thu, 25 Sep 2008 14:43:00 -0700 (PDT)
User-agent: G2/1.0

On Sep 25, 1:25 pm, David Kastrup <d...@gnu.org> wrote:
> Rjack <u...@example.net> writes:
> > Hyman Rosen wrote:
> >> Rjack wrote:
> >>> Now it gobbles up your compiler too.
> >>> To wit: A Practical Guide to GPL Compliance
> >>>http://www.softwarefreedom.org/resources/2008/compliance-guide.html
>
> >> Witless is more like it, since the quoted passage explicitly
> >> says that the GPL does *not* gobble up your compiler.
>
> > Quote:
>
> > "If you have used a proprietary, third-party compiler to build the
> > software, then you probably cannot ship it to your customers."
>
> > Cut the crap Hymen! The brave GNU World wants to control your
> > compiler.
>
> "it" obviously means the proprietary, third-party compiler.  Your
> reading comprehension appears a bit sub-standard.
>
> --
> David Kastrup, Kriemhildstr. 15, 44793 Bochum

OK, I'm missing something here.  If, legally (obviously
technical considerations are a different axis):

[1] GPL code + GPL compiler = distributable binary

but

[2] GPL code + proprietary compiler = non-distributable binary

precisely *why* is this the case?  Section 4.2.3 is not all
that clear on this question, and completely *ignores* the
issue of a support API (which a C++ compiler must have in
order to handle things such as dynamic_cast<> and
the ability to call the kernel), though in all fairness the author
might have simply bundled it in with the "proprietary, third-party
compiler" concept instead.

Granted, if said compiler accepts constructs (#pragma is
the only one coming to mind) the GPL variant
does not, there's a few issues that may have to be
worked through; ideally, an astute developer will
feed back a new version of the distributed source with
appropriate corrections.  Fortunately, in C++'s case,
one can use #if or #ifdef, and GNU does provide a number
of tools (autogen, autoconf, etc. etc.) which might assist
in handling variations of support API/libc() on various
systems.  Most C++ compilers also provide predefined symbols
for use in #if/#ifdef.

4.2.3 *is* clear in that one need not distribute the actual
compiler in order to meet the GPL requirement, although
ideally (as the second paragraph points out) one could
easily do so if the compiler is itself FOSS.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]