comp.lang.ada
 help / color / mirror / Atom feed
From: David Trudgett <wpower@zeta.org.au.nospamplease>
Subject: Re: GNAT GPL 2005 Edition is now available
Date: Fri, 16 Sep 2005 18:36:02 +1000
Date: 2005-09-16T18:36:02+10:00	[thread overview]
Message-ID: <m3mzmdh0jx.fsf@rr.trudgett> (raw)
In-Reply-To: b8SdnQ7KnYa2_LTeRVn-3A@comcast.com

Jeff Creem <jcreem@yahoo.com> writes:

> David Trudgett wrote:
>> The GCC compiler is also licensed under the GPL, which allows the
>> development and distribution of proprietary software using that
>> compiler. Could you please explain here on comp.lang.ada how the same
>> licence can have two different effects, one for GCC, and another for
>> GNAT?
>
> We will have to wait and see if they respond but in general questions
> like this to AdaCore usually come back (correctly) with "consult your
> own qualified legal council for advise"...

It has been little more than 24 hours since I made my reasonable
request for a public explanation, and I expect that they are still
working on a suitable reply. "Consult legal counsel for advice," would
not be a reasonable reply, because I am not asking for legal advice, I
am asking them to publicly justify their action. Being unable or
unwilling to publicly justify what they have done would, I speculate,
have a negative impact upon their image as, for example, it might
justifiably be interpreted as a snub to the Ada community (or at least
that section which frequents c.l.a).

If AdaCore were to respond citing only a pure technical reason for the
difference between GCC and GNAT, along the lines that the C and C++
run-time licenses give freedom to developers, but the GNAT run-time
has had this freedom revoked, then AdaCore may find themselves in a
little spot of bother. This is because in that case it would be quite
apparent they are unwilling to explain their motives, and people will
be left to draw conclusions about that which will probably be
negative.

If AdaCore responds with silence, the result will be somewhat similar,
though less decisive. So, if I were AdaCore and had something to hide
about my motivations, then I would definitely fail to reply.

The explanation AdaCore comes up with must explain how restricting the
freedom of developers to license their own work in the way most
suitable to them, does not prove contempt of the very principles of
freedom that the GPL is supposed to be defending. Maybe they have such
an explanation, and (for all of us) to find out what it is, is the
purpose of my enquiry.


>
>
> But the short ** non-qualified ** answer is that whether programming
> in C,C++ or Ada, there is generally some run-time library that one
> links against for any non-trivial programs (ok..there are probably
> non-trivial programs that can be 100% run-time free.)...
>
> In any case, with GCC for C one usually links against the the OS libc
> which is non-GPL (or at least has that option)
>
> For C++, the GCC runtime library has a "special exception" clause like
> the GNAT-3.15 runtime used to have.
>
> For Ada, the runtime (and supporting libraries) which are extensive
> used to be GPL with the special exception that prevented having to
> apply the GPL to programs that "make use of" the library.
>
> In this AdaCore version, they have removed the exception. One can only
> assume 

Avoiding assumptions is a good reason for my question to Jamie.


> that they negotiated this with the FSF (who is the copyright
> holder on most of this even though it was mostly developed by
> AdaCore). FSF probably would not have a problem with it anyway since
> the more "Free" it is the more they like it. 

On the contrary, it is demonstrably less free. Previously, there were
no restrictions on what a GNAT developer could produce. Now, a GNAT
GPL developer will be restricted to producing GPL products. Too bad if
the developer wants to license under some other Free licence (for
instance). Anyone can easily see that we are going from more free to
less free in this sequence of events, and, furthermore, that this
reduction in developer freedom does not increase the protection of the
compiler or run-time against those who would like to make proprietary
versions of them.

It seems to me (correct me if I'm wrong) that libgnat is pretty
useless in practice without the GNAT compiler. It further seems to be,
therefore, that libgnat and GNAT are effectively, for all practical
purposes, parts of the same product. Although there is no problem in
licensing different parts of the same product differently (should that
be useful, and create more freedoms), by licensing libgnat under the
GPL (without the exception that is under discussion), AdaCore is,
ironically, trying to use the GPL to violate the intent of the GPL. In
particular (section 2 of the GPL, version 2):

    Thus, it is not the intent of this section to claim rights or
    contest your rights to work written entirely by you; rather, the
    intent is to exercise the right to control the distribution of
    derivative or collective works based on the Program.

At the beginning of the same section:

    You may modify your copy or copies of the Program or any portion
    of it, _*thus*forming*a*work*based*on*the*Program*_, and copy and
    distribute such modifications or work under the terms of Section 1
    above, provided that [... etc.]

    (my emphasis)


Linking one's program into a compiler's run-time library *should* not
and *does* not in itself constitute a derivative work, nor a
collective work. I am not modifying my copy of the compiler or the
run-time. I am not extending or enhancing the library, and nor am I
bundling the library within a collection. I am certainly not doing any
of this with respect to the compiler itself. When I write a program
and compile it with a compiler, and I use no libraries besides the
run-time library that comes with the compiler, then I am (and I claim
that any programmer can plainly see it) producing a work entirely by
myself. This is what everyone understands by this phrase. Otherwise,
the only works one would be able to produce entirely by oneself would
be machine code programs. No one's programs run from source code
(interpreters effectively compile to machine code on the fly).

AdaCore, in fact, seems to tacitly admit this point when they use the
word 'guarantees' in the following sentence:

    The GMGPL guarantees that executables generated by GNAT Pro can be
    distributed under customer-specific terms and conditions.

    -- https://libre2.adacore.com/dynamic/gnat_faq.html#licensing

This wording would seem to mean that the GMGPL merely provides a
_guarantee_ over a GPL that could otherwise perhaps be misinterpreted.
It would be unnecessary to _guarantee_ it unless the right might
already exist nevertheless under the plain GPL.

Of course, further down, they claim that the GPL "guarantees" that
executables compiled by GNAT GPL will be Free Software. So they could
just be using the word 'guarantees' in a sloppy way. What they really
mean by this is that they intend to *force* (this is not freedom)
developers who use GNAT GPL to licence their own software under the
GPL. This goes way beyond protecting the Free status of one's own
software and enhancements to it, and firmly steps across the line into
gratuitous control of the actions of others by restricting their
freedom.

Needless to say, using the GPL not to enhance, but to gratuitously
restrict the freedom of others, is quite distasteful, if not
hypocritical.

Notice that these points remain valid even if lawyers determine that
the GPL technically allows them to get away with it.


> Note I am only
> speculating that this requires FSF approval. There is a copyright
> assignment process that one goes through when submitting code to the
> FSF GCC tree but it is not clear to me what unique rights the original
> copyright holder might retain.
>
>
>
> The runtime files in the FSF tree still have the special exception so
> I would guess AdaCore has written some script that they run when
> packaging the GPL version that strips out the special exception
> portion of the header and again has cleared this with the FSF.

I don't believe that it is necessary to clear that with the FSF. It is
my understanding that exceptions to a GPL licence can be removed by
any distributor if they wish. [1] A distributor, however, is prohibited
from adding additional restrictions. One could say that telling
developers they must license their own programs under the GPL is an
additional restriction.


    [1] When other people modify the program, they do not have to make
    the same exception for their code--it is their choice whether to
    do so.

    -- http://www.gnu.org/licenses/gpl-faq.html



>
> This does muddy the water a little even for free SW developers that
> want to use this compiler version since it makes it (a little) more
> difficult to release the code under a non GPL but still free
> license. 

GPL software, or modifications to it, can only be released under the
GPL: i.e., not BSD, not X11, not LGPL. How is "impossible" the same as
"a little more difficult"? :-)



> However, it really has no effect for people creating
> libraries that they distribute as source code under the GMGPL (with
> the old exception clause).

GMGPL is not the GPL. GPL licensed programs can't be distributed under
the GMGPL (unless the original copyright holder says they can).




As a final comment, I would add that I am not against the GPL in any
way except where it is used to gratuitously limited other people's
freedoms. The purpose of the GPL is to protect the freedom of
software, not to force other people to produce free software. A
compiler is a special class of program that allows the GPL to be
abused, because the *purpose* of a compiler is to facilitate the
production of programs that are *not* derivative works, but original
works, yet parts of a compiler, especially but not exclusively, the
"run-time", must necessarily form part of the output of the compiler.

GPL'ed compilers, by their very nature and purpose, contain and embody
by implication an exception to a literal interpretation of the terms
of the GPL that do not allow GPL'ed code to be incorporated into
non-GPL'ed code. Can a licence really negate the raison d'etre of the
software it is supposed to be protecting? And can it do this while
negating its own raison d'etre of promoting freedom? A more perverse
situation is hard to imagine.


David


-- 

David Trudgett
http://www.zeta.org.au/~wpower/

For in a Republic, who is "the country?" Is it the Government which is
for the moment in the saddle?  Why, the Government is merely a servant
- merely a temporary servant; it cannot be its prerogative to
determine what is right and what is wrong, and decide who is a patriot
and who isn't.  Its function is to obey orders, not originate them.

    -- Mark Twain




  reply	other threads:[~2005-09-16  8:36 UTC|newest]

Thread overview: 203+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-15  6:50 GNAT GPL 2005 Edition is now available Jamie Ayre
2005-09-15  7:34 ` Jacob Sparre Andersen
2005-09-15  8:44   ` Ludovic Brenta
2005-09-15  9:27     ` Martin Dowie
2005-09-15 10:03       ` Ludovic Brenta
2005-09-15  9:33     ` Brian May
2005-09-15 10:15       ` Ludovic Brenta
2005-09-15 22:58         ` Brian May
2005-09-15  9:39     ` Jacob Sparre Andersen
2005-09-15 10:50     ` Samuel Tardieu
2005-09-15 11:19       ` Stephane Riviere
2005-09-15 11:30     ` GtkAda and GPL/GMGPL, was: Re: GNAT GPL 2005 Edition is Simon Clubley
2005-09-15 11:42       ` Ludovic Brenta
2005-09-15 12:00     ` GNAT GPL 2005 Edition is now available Samuel Tardieu
2005-09-15 12:44       ` Ludovic Brenta
2005-09-15 12:55         ` Samuel Tardieu
2005-09-15 13:37       ` Samuel Tardieu
2005-09-18 15:24       ` Florian Weimer
2005-09-15 13:01     ` Dr. Adrian Wrigley
2005-09-15 15:39       ` Martin Dowie
2005-09-15 16:09         ` Larry Kilgallen
2005-09-15 17:27       ` Dr. Adrian Wrigley
2005-09-15 23:26         ` Jeff Creem
2005-09-16  0:02           ` Dr. Adrian Wrigley
2005-09-16  1:37             ` Jeff Creem
2005-09-16 15:16           ` Jeffrey Carter
2005-09-15 14:27     ` Ludovic Brenta
2005-09-15 15:35       ` Andreas Schwarz
2005-09-15 16:44         ` Georg Bauhaus
2005-09-15 17:05           ` Niklas Holsti
2005-09-15 17:17           ` Adrien Plisson
2005-09-15 18:08             ` Georg Bauhaus
2005-09-15 20:39               ` almost free development tools (Was: GNAT GPL 2005 Edition is now available) Adrien Plisson
2005-09-15 18:18           ` GNAT GPL 2005 Edition is now available Martin Krischik
2005-09-18 16:10           ` Florian Weimer
2005-09-15 18:14         ` Martin Krischik
2005-09-15 22:59           ` Andreas Schwarz
2005-09-15 17:20       ` Simon Clubley
2005-09-15 17:43       ` chris
2005-09-15 18:58       ` Ludovic Brenta
2005-09-15 21:08         ` Georg Bauhaus
2005-09-15 21:24           ` Georg Bauhaus
2005-09-18 16:10             ` Florian Weimer
2005-09-19 12:44               ` Georg Bauhaus
2005-09-19 16:08                 ` Pascal Obry
2005-09-19 16:20                   ` Georg Bauhaus
2005-09-15 21:25           ` Tapio Kelloniemi
2005-09-15 21:28             ` Tapio Kelloniemi
2005-09-16  8:28               ` Ludovic Brenta
2005-09-16 10:41                 ` Tapio Kelloniemi
2005-09-18 16:01           ` Florian Weimer
2005-09-15 23:21         ` GNAT GPL 2005 Edition is now available - A Vote and some other comments Jeff Creem
2005-09-18 15:48         ` GNAT GPL 2005 Edition is now available Florian Weimer
2005-09-18 18:10           ` Jacob Sparre Andersen
2005-09-15 20:32       ` Tapio Kelloniemi
2005-09-16 12:36       ` xavier
2005-09-16 21:57       ` Björn Persson
2005-09-17 10:05         ` [OT] Reasons for using Debian (Was: GNAT GPL 2005 Edition is now available) Jacob Sparre Andersen
2005-09-17 17:41           ` Björn Persson
2005-09-18 16:17           ` [OT] Reasons for using Debian Florian Weimer
2005-09-18 15:42       ` GNAT GPL 2005 Edition is now available Florian Weimer
2005-09-18 16:15         ` Ludovic Brenta
2005-09-18 16:39           ` Florian Weimer
2005-09-18 17:05             ` Ludovic Brenta
2005-09-20  9:50               ` Florian Weimer
2005-09-20 10:28                 ` Ludovic Brenta
2005-09-18 17:32             ` Martin Krischik
2005-09-18 18:25           ` Jacob Sparre Andersen
2005-09-18 21:19             ` Ludovic Brenta
2005-09-19 13:06               ` Jacob Sparre Andersen
2005-09-15 16:01     ` Niklas Holsti
2005-09-15 16:27     ` Jeffrey Carter
2005-09-15 16:59       ` Georg Bauhaus
2005-09-15 18:42       ` Ludovic Brenta
2005-09-16  9:17     ` David Trudgett
2005-09-16 14:15     ` Ludovic Brenta
2005-09-18 13:13     ` Ludovic Brenta
2005-09-18 17:24       ` Florian Weimer
2005-09-19 14:12       ` Marc A. Criley
2005-09-20  5:09         ` Ludovic Brenta
2005-09-18 18:59     ` Niklas Holsti
2005-09-18 21:27       ` Ludovic Brenta
2005-09-19  7:23         ` Brian May
2005-09-19  7:49         ` Samuel Tardieu
2005-09-15  8:10 ` David Trudgett
2005-09-15  8:50   ` Ludovic Brenta
2005-09-15  8:56     ` wojtek
2005-09-15 18:08       ` Martin Krischik
2005-09-15 20:09         ` Samuel Tardieu
2005-09-15 22:33           ` Björn Persson
2005-09-15 23:13             ` Samuel Tardieu
2005-09-18 15:30           ` Florian Weimer
2005-09-19  7:56             ` Samuel Tardieu
2005-09-19 12:46               ` Ole-Hjalmar Kristensen
2005-09-19 20:08                 ` Björn Persson
2005-09-19 21:23             ` Björn Persson
2005-09-19 23:05         ` wojtek
2005-09-19 23:55           ` Larry Kilgallen
2005-09-21  7:17             ` Preben Randhol
2005-09-21 12:26               ` Larry Kilgallen
2005-09-21 13:22                 ` Preben Randhol
2005-09-20 13:50           ` Steve
2005-09-20 18:01             ` Ludovic Brenta
2005-09-20 19:10               ` Larry Kilgallen
2005-09-20 19:17                 ` Ludovic Brenta
2005-09-21  2:22               ` Steve
2005-09-21  4:48               ` Steve Whalen
2005-09-21 23:30           ` chris
2005-09-27  9:28             ` Ole-Hjalmar Kristensen
2005-09-15 18:06     ` Martin Krischik
2005-09-15 19:34       ` Martin Dowie
2005-09-15 20:14       ` Samuel Tardieu
2005-09-21  7:27         ` Preben Randhol
2005-09-21  7:57           ` Samuel Tardieu
2005-09-21  7:58           ` Brian May
2005-09-15 11:55   ` Jeff Creem
2005-09-16  8:36     ` David Trudgett [this message]
2005-09-16 10:14       ` Larry Kilgallen
2005-09-16 10:56         ` Ludovic Brenta
2005-09-16 12:20           ` Samuel Tardieu
2005-09-16 12:59             ` Ludovic Brenta
2005-09-16 13:58               ` Niklas Holsti
2005-09-16 15:37               ` Georg Bauhaus
2005-09-17 14:09                 ` Ludovic Brenta
2005-09-16 16:45               ` Tapio Kelloniemi
2005-09-16 18:12                 ` Marc A. Criley
2005-09-17  6:58                   ` Martin Dowie
2005-09-17 10:20                     ` Jacob Sparre Andersen
2005-09-17 12:47                       ` Georg Bauhaus
2005-09-17 13:37                         ` Jacob Sparre Andersen
2005-09-17 14:17                       ` Martin Krischik
2005-09-17 17:42                         ` Jacob Sparre Andersen
2005-09-17 17:48                           ` Ludovic Brenta
2005-09-17 18:41                             ` Ludovic Brenta
2005-09-17 19:06                             ` Björn Persson
2005-09-17 20:39                               ` Ludovic Brenta
2005-09-17 22:59                                 ` Björn Persson
2005-09-17 23:32                                   ` tmoran
2005-09-18  0:25                                     ` Brian May
2005-09-18 15:35                           ` Florian Weimer
2005-09-17 13:08                     ` Marc A. Criley
2005-09-17 14:44                       ` Martin Dowie
2005-09-17 16:19                       ` Martin Dowie
2005-09-19 19:22                       ` Marc A. Criley
2005-09-21  7:57                     ` Preben Randhol
2005-09-21  8:25                       ` Niklas Holsti
2005-09-21  8:39                       ` Martin Dowie
2005-09-21  8:59                         ` Niklas Holsti
2005-09-21 11:02                           ` Martin Dowie
2005-09-21 13:20                             ` Alex R. Mosteo
2005-09-21 17:29                             ` Jeffrey Carter
2005-09-21 20:26                               ` Martin Dowie
2005-10-07  0:56                             ` Randy Brukardt
2005-09-21 13:47                       ` Marc A. Criley
2005-09-19  1:20                   ` chrismiller677
2005-09-19 11:24                     ` Brian May
2005-09-19 13:19                       ` Martin Dowie
2005-09-19 13:35                         ` Martin Dowie
2005-09-19 13:38                       ` Dirk Craeynest
2005-09-19 14:49                         ` Georg Bauhaus
2005-09-19 19:17                         ` Björn Persson
2005-09-19 11:39                     ` Georg Bauhaus
2005-09-21  7:56                   ` Preben Randhol
2005-09-21  8:03                     ` Samuel Tardieu
2005-09-21 10:57                       ` Preben Randhol
2005-09-21 10:58                         ` Preben Randhol
2005-09-21 12:11                         ` Jacob Sparre Andersen
2005-09-21 12:32                           ` Hyman Rosen
2005-09-21 13:03                             ` Samuel Tardieu
2005-09-21 13:16                           ` Preben Randhol
2005-09-21 13:49                             ` Jacob Sparre Andersen
2005-09-21 20:30                           ` Tapio Kelloniemi
2005-09-21 17:27                         ` Jeffrey Carter
2005-09-21 19:11                           ` Pascal Obry
2005-09-16 20:31               ` Björn Persson
2005-09-17  2:51               ` David Trudgett
2005-09-17  5:56                 ` Simon Wright
2005-09-17 14:31                 ` Ludovic Brenta
2005-09-17 15:55                   ` Martin Krischik
2005-09-16 13:26             ` Stephane Riviere
2005-09-16 15:44             ` Jeffrey Carter
2005-09-19  6:47               ` Steve Whalen
2005-09-19 23:49           ` wojtek
2005-09-20  0:06             ` wojtek
2005-09-19 12:57         ` Ole-Hjalmar Kristensen
2005-09-16 10:56       ` Jeff Creem
2005-09-16 14:19         ` Marc A. Criley
2005-09-16 20:27         ` Björn Persson
2005-09-20  1:22         ` David Trudgett
2005-09-20  8:36           ` Georg Bauhaus
2005-09-20 12:02           ` Hyman Rosen
2005-09-15  8:49 ` wojtek
2005-09-15 13:18   ` Thomas Quinot
2005-09-15 10:30 ` Brian May
2005-09-15 10:54   ` Friess Michael
2005-09-15 22:17     ` Brian May
2005-09-15 22:31       ` Britt Snodgrass
2005-09-15 15:11 ` Larry Kilgallen
2005-09-15 15:20   ` Ludovic Brenta
2005-09-15 16:08     ` Larry Kilgallen
2005-09-15 17:53     ` Simon Clubley
2005-09-15 22:10 ` Björn Persson
2005-09-15 23:19   ` Samuel Tardieu
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox