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