Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer.
What the GNU statement promotes is free use of software — as when we use the nouns, verbs and other language elements to present our ideas. Sometimes when we do incorrectly use those language elements, we create sentences that are nonsense. Sometimes our sentences are too complex to be understood by someone outside the target we're focusing, but most of the time what we speak is understood, and we understand what others tell us. However, none of us tend to create our sentences in exactly the same way.
Then why do people exist who oppose the open-source movement?
1) Based on the "free speech" idea, software can be thought of as a secret box with a lot of confidential things that were constructed with the ownership concept "I've created this so none except those ones that I choose can see it, if I choose, some of them can even modify it, but with restrictions".
I agree with this position. It's their right to decide how to show their ideas, thoughts and products; ancient societies have been doing this since old times, the "know-how" is common word in business environments and patents are the way that someone declares that some idea was thought by he/she.
But is it necessary to hide the logic or the code of some software from the client's sight?
Someone can say "How do you expect me to give the code for my banking system? Don't you see that can cause serious security issues?". This code is used by the bank; has the company that bought the software the opportunity to get the code used for their system? I think that it should be an affirmative answer but with a legal contract which stipulates that the code belongs to the bank and the bank itself is responsible for the use given to the code -- that's open-source as free speech, in my opinion. I create the code as when I create sentences, except that this code is meant for a specialized target, the bank, the bank has the right to learn, understand, and use that code.
2) "free beer" Why if something cost too much time and resources to build should I give it away for free?
It's valid, probably that some developer creates a great program, and he wants a revenue for that effort, but It's also valid that if I pay for that program I can use the source code to personalize it to my needs; there's a lot of examples for that so I will give examples.
Yes, if a company like Microsoft gives its code to the users their apps could cost a lot more because we're paying for the product, but they can sell the source code based on legal restrictions as in the bank example. If RedHat does that, then why do Microsoft, Apple and some other companies not do that: fear that info can be leaked? It happens all the time. Ask Microsoft about all the hacks that the company has suffered even with no source code available.
Fear of competition: Knowledge is power and people like power, not everybody likes knowledge, but that's another topic. What about if Apple sells its code, it's too possible and too probable that other businesses use that info to create applications that compete with those which where created by Apple. But if we consider that knowledge is the conjunction of info, experience and learning — it doesn't matter what other companies can do with the code. Their usage could even represent multiple opportunities from ventures between competitors for a research goal, to the motivation to create better products, better algorithms, better code, etc.
I'm even empathetic with open-source ideas, but there's some things that I don't totally agree with; as the "freedom 2" which stipulate the freedom to redistribute copies to anyone. My opinion is that if the software creator release the code with this permission it's fine, but what about if the developer created the software with a revenue goal; he must have the right to deliver the code only to the client who buys it and to decide if that code which is included in the modified software can freely (as free beer) be distributed or if the developer expects some compensation for that work.
Probably what I'm saying is that it's a mixture of different kinds of licensing and thoughts. But why not share our knowledge with an open-source ideology? Even with the existence of secret societies, humanity has proven that with knowledge share, it's possible to improve things to create better habitats and in this technological era where the immediateness has exceeded any prognostic; what about if we use that power not to become ourselves more powerful, but to create a most wise society?