> > 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!"