Intended audience: all readers.

The "GNAT-modified GNU Public License" adds additional freedoms to those given by the standard GPL (V2). It's applied to the run time library (RTL), not to the compiler itself which remains firmly GPL.

The additional freedom amounts to the freedom to produce proprietary programs using the compiler and RTL.

The reason for doing this is that Ada's RTL is thought not to be compatible with the Library GPL (LGPL), and also instantiating a generic may be considered to embody the library's text in the user's program.

This is in line with the FSF's practise in similar situations (Bison, the C++ Standard template Library).

The additional freedoms are typically listed in each Ada source file with this statement appended to the standard GPL text:

-- 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.        --

Ada programming, © 2005,2006 the Authors, Content is available under GNU Free Documentation License.