Edwin> You can distribute the application object code without the
Edwin> application source code without violating the GPL and let
Edwin> users link it into the GPL'd library themselves.
Someone else has pointed it out, but let me repeat that the above
paragraph is completely wrong.
If the GNU Scientific Library is *required* for your program to
function, then your program is a "derivative work" and must be
distributed as spelled out by the GPL (the easiest way is to put your
program under the GPL), even if you don't ship a binary that is
statically linked to the GNU Scientific Library.
If the GNU Scientific Library is just one of many libraries with
identical APIs, then you might have other options.
Edwin> I don't think that there is any practical way for the FSF
Edwin> or the library developers to prevent users from doing this.
Breaking the law is breaking the law, even if it is difficult to get
caught. Breaking the law to exploit people's volunteer work and not
return to the free software community counts as unethical in my book.
All things considered, trying to "work around" the GPL is dumb.
People could try a copernican-style shift in their thinking: the GPL
is a powerful tool, and people should look at the "derived work"
clause as an opportunity to try a licensing model that they would have
ignored otherwise and that might actually work much better for them.