> > GD = package D under the "GNAT special exception"
>
>    [very clear explanation deleted]
>
> > Now if GD was modified for this program, the GNAT special exception does
> > not completely exempt the modified GD from the GPL.  So that could be an
> > inconvenience.  The special exception allows the company to preserve their
> > rights to their own code, but distributing their program still requires
> > them to "allow" people to get the modified GD source.
>
>    Yes, of course but if you don't want people to commercialize a
>    fully proprietary version of your library after having changed one
>    space, this restriction is essential!

OK, company X writes a 50-Megabyte program the needs a sort routine.  The cost
of writing one is of course, trivial.  But the cost of a tiny modification to
one that comes with GNAT is even less.

Lawyers: "Wait! We don't want our code to be under the GPL!"

Programmer: "No problem.  See this special exception?"

Lawyers:    "OK, go ahead."

Zealous free software promoter: "Hey, when you distributed your program,
you distributed some GPL'd sort code.  You gotta tell me how to get a copy
of the source for that part."

Management: "#$^$^%%!  We saved a hundred dollars by re-using GNAT code,
now we have to spend a hundred dollars a week answering requests for the
source.  We'll never use any GNAT code again!"

Now if company X did NOT modify it, it's a different story.  They just
say, "Source code? Sure--we got it from http://codeheads.com/yadda.yadda
and you can, too!"