comp.lang.ada
 help / color / mirror / Atom feed
From: "Hibou57 (Yannick Duchêne)" <yannick_duchene@yahoo.fr>
Subject: Re: MinGW Ada compiler licence question targeting commercial applications
Date: Thu, 18 Jun 2009 12:05:34 -0700 (PDT)
Date: 2009-06-18T12:05:34-07:00	[thread overview]
Message-ID: <fddcce71-c0b4-47ab-a3eb-0adb7cd41cee@s21g2000vbb.googlegroups.com> (raw)
In-Reply-To: LEv_l.150779$DP1.66259@attbi_s22

On 18 juin, 20:25, "Jeffrey R. Carter"
<spam.jrcarter....@nospam.acm.org> wrote:
> In the case of an Ada program, there are 2 consideration:
>
> 1. The Ada run-time. This has 2 parts:
>
>    a. The Ada run-time is linked with your program: If the run-time is pure GPL,
> then every program compiled by the compiler is GPL.
>
>    b. The Ada run-time is a shared library: If you don't distribute the library,
> then your program may not be GPL even if the library is pure GPL. If you do
> distribute the library, then your program is affected if the library is pure GPL.
>
> 2. Instantiating vendor-supplied generics, including generics defined in the
> standard. If these are pure GPL, then any program that instantiates any of them
> is GPL.

Thanks for this detailed description. You are talking like a lawyer :p

I hope some one else will find this thread useful

On 18 juin, 20:32, "Jeffrey R. Carter"
<spam.jrcarter....@nospam.acm.org> wrote:
> That answers your main question: you can create proprietary programs using the
> MinGW compiler. The rest of the paragraph is legal CYA so they can't be sued if
> you use a (non-MinGW) pure GPL library and try to claim that your program is not
> GPL.

What CYA ? (I'm not native english, and there are many common english
acronyms I do not know)


Well, a very interesing stuff : I've pointed a big difference between
the GNAT GPS compiler and the MinGW Ada compiler (wich is althought
sourced from GNAT)

Juste look at the package body for “Ada.Asynchronous_Task_Control” as
an exemple (the file is name “a-astaco.adb”).

The one shipped with GNAT GPS has the following copyright notice :


>--                                                                          --
>--                         GNAT RUN-TIME COMPONENTS                         --
>--                                                                          --
>--        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
>--                                                                          --
>--                                 B o d y                                  --
>--                                                                          --
>--          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
>--                                                                          --
>-- GNAT is free software;  you can  redistribute it  and/or modify it under --
>-- terms of the  GNU General Public License as published  by the Free Soft- --
>-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
>-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
>-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
>-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
>-- for  more details.  You should have  received  a copy of the GNU General --
>-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
>-- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
>-- Boston, MA 02110-1301, USA.                                              --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>--                                                                          --
>-- GNAT was originally developed  by the GNAT team at  New York University. --
>-- Extensive contributions were provided by Ada Core Technologies Inc.      --

Notice the big blank by the way...

Now, let see the copyright notice for the same file, for the Ada
compiler (provided by GNAT) which comes with MinGW :

>------------------------------------------------------------------------------
>--                                                                          --
>--                         GNAT RUNTIME COMPONENTS                          --
>--                                                                          --
>--        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
>--                                                                          --
>--                                 B o d y                                  --
>--                                                                          --
>--     Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc.     --
>--                                                                          --
>-- GNAT is free software;  you can  redistribute it  and/or modify it under --
>-- terms of the  GNU General Public License as published  by the Free Soft- --
>-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
>-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
>-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
>-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
>-- for  more details.  You should have  received  a copy of the GNU General --
>-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
>-- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
>-- MA 02111-1307, USA.                                                      --
>--                                                                          --
>-- As a special exception,  if other files  instantiate  generics from this --
>-- unit, or you link  this unit with other files  to produce an executable, --
>-- this  unit  does not  by itself cause  the resulting  executable  to  be --
>-- covered  by the  GNU  General  Public  License.  This exception does not --
>-- however invalidate  any other reasons why  the executable file  might be --
>-- covered by the  GNU Public License.                                      --
>--                                                                          --
>-- GNAT was originally developed  by the GNAT team at  New York University. --
>-- Extensive contributions were provided by Ada Core Technologies Inc.      --
>--                                                                          --
>------------------------------------------------------------------------------

The blank is now filled and contains something which as important
conscequences

Finally, it the application statically links to this file and it is
compiled with GNAT GPS, it must be GPL, while if it is compiled with
MinGW, it can be GPL, of course, but it is not required to be.

The presence of this special statements should be checked for each
file required for the application.

A different copyright notice may be found, depending on the version of
MinGW. The actual release candidate has this one for the same file
(once again, the interesting thing is the middle part) :

>------------------------------------------------------------------------------
>--                                                                          --
>--                         GNAT RUN-TIME COMPONENTS                         --
>--                                                                          --
>--        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
>--                                                                          --
>--                                 B o d y                                  --
>--                                                                          --
>--          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
>--                                                                          --
>-- GNAT is free software;  you can  redistribute it  and/or modify it under --
>-- terms of the  GNU General Public License as published  by the Free Soft- --
>-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
>-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
>-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
>-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
>--                                                                          --
>-- As a special exception under Section 7 of GPL version 3, you are granted --
>-- additional permissions described in the GCC Runtime Library Exception,   --
>-- version 3.1, as published by the Free Software Foundation.               --
>--                                                                          --
>-- You should have received a copy of the GNU General Public License and    --
>-- a copy of the GCC Runtime Library Exception along with this program;     --
>-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
>-- <http://www.gnu.org/licenses/>.                                          --
>--                                                                          --
>-- GNAT was originally developed  by the GNAT team at  New York University. --
>-- Extensive contributions were provided by Ada Core Technologies Inc.      --
>--                                                                          --
>------------------------------------------------------------------------------

But I do not really know how to interpret this one “ As a special
exception under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation. ”

So what does this “ GCC Runtime Library Exception, version 3.1 ”
says ?

Here is what it says :

( source is http://mirrors.xservers.ro/gentoo-portage/licenses/gcc-runtime-library-exception-3.1
)

1. Grant of Additional Permission.

> [...]
>
> You have permission to propagate a work of Target Code formed by
> combining the Runtime Library with Independent Modules, even if such
> propagation would otherwise violate the terms of GPLv3, provided that
> all Target Code was generated by Eligible Compilation Processes. You
> may then convey such a combination under terms of your choice,
> consistent with the licensing of the Independent Modules.
>
> [...]

I suppose “ consistent with the licensing of the Independent Modules.
” talks about other modules (i.e. other ones which does not make
reference this notice).

Now, a question about “ Eligible Compilation Processes ” : is a
compilation processe Eligible if it links to a module which make
reference to this satement ?

If it is, both the first copyright notice found with the older version
of MinGW and the newer one will allow to compile commercial
application written in Ada.

But as I'm not sure about the meaning of “ Eligible Compilation
Processes ” ( and perhaps “ “ consistent with the licensing of the
Independent Modules. ” ” ), I will leave it as-is for the time,
waiting for comments on this interpretation (hope I'm not looking so
much clumsy).



  reply	other threads:[~2009-06-18 19:05 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-17 19:37 MinGW Ada compiler licence question targeting commercial applications Hibou57 (Yannick Duchêne)
2009-06-18 11:07 ` Georg Bauhaus
2009-06-18 15:04   ` Hibou57 (Yannick Duchêne)
2009-06-18 15:13     ` Hibou57 (Yannick Duchêne)
2009-06-18 15:28       ` Hyman Rosen
2009-06-18 16:36         ` Hibou57 (Yannick Duchêne)
2009-06-18 16:55           ` Hyman Rosen
2009-06-18 18:00             ` Hibou57 (Yannick Duchêne)
2009-06-18 18:32               ` Jeffrey R. Carter
2009-06-18 20:53           ` Pascal Obry
2009-06-18 21:41             ` Hibou57 (Yannick Duchêne)
2009-06-19  7:06               ` Stephen Leake
2009-06-19  9:16                 ` Georg Bauhaus
2009-06-18 15:28     ` Georg Bauhaus
2009-06-18 18:25     ` Jeffrey R. Carter
2009-06-18 19:05       ` Hibou57 (Yannick Duchêne) [this message]
2009-06-18 19:11         ` Hibou57 (Yannick Duchêne)
2009-06-19  7:16         ` Stephen Leake
2009-06-18 19:20 ` sjw
2009-06-18 19:33   ` Hyman Rosen
2009-06-18 19:50   ` Hibou57 (Yannick Duchêne)
2009-06-18 19:55     ` Hibou57 (Yannick Duchêne)
2009-06-18 20:01 ` anon
2009-06-18 20:12   ` Hyman Rosen
2009-06-18 20:25   ` Hibou57 (Yannick Duchêne)
2009-06-18 20:32   ` Ludovic Brenta
2009-06-18 20:46     ` Hibou57 (Yannick Duchêne)
2009-06-19  6:33     ` MinGW Ada compiler licence question targeting commercial anon
2009-06-24 17:56       ` Ludovic Brenta
2009-06-18 22:17 ` MinGW Ada compiler licence question targeting commercial applications Stephen Leake
2009-06-18 22:41   ` Hibou57 (Yannick Duchêne)
2009-06-19  7:30     ` Stephen Leake
2009-06-19 23:54       ` John B. Matthews
2009-06-20 13:24         ` Ludovic Brenta
2009-06-20 17:19           ` Hibou57 (Yannick Duchêne)
2009-06-20 21:45             ` Ludovic Brenta
2009-06-20 20:46           ` John B. Matthews
2009-06-21 13:03             ` Ludovic Brenta
2009-06-19 13:06     ` Georg Bauhaus
2009-06-19 15:36     ` sjw
2009-06-19 16:15       ` Hibou57 (Yannick Duchêne)
2009-06-22 23:07         ` Randy Brukardt
2009-06-23 11:19           ` Dirk Craeynest
2009-06-26 14:01             ` Marco
2009-06-20 17:53 ` Marco
2009-06-21 11:55   ` Georg Bauhaus
replies disabled

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