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