To summarize:
By not providing a public notice if charging a fee for d/l or by
restricting access without a legitimate reason, you're effectively
bypassing the GPL and its nature, even if the GPL doesn't explicitly
tell that.
Companies which want the sw they're using to stay a secret, can ask the
author for another license, and the author is free to charge a license
fee for that.
Nobody is forcing the companies to use Linux or any other open source
software. But if they choose to use it under the terms of GPL, then
they just can't do what they want.
Marek