> "The freedom to redistribute copies so you can help others"
>
> How is that not always going to end up being "free of charge"? Someone is always going to end up redistributing it without charge.
If you redistribute it. Doesn't mean you cannot sell your own software and allow the user to have the source code. The GPL allows the end-user to redistribute it, for free if they want, but it's essentially a non-supported, always behind version.
If the end-user adds some nice functionality to the software AND they then redistribute it, then they are forced to provide the source for the changes they made, which allows you, as the vendor, to incorporate those changes into your product. The idea is that, for any piece of software, the entire community of users will have the ability to modify that software.
After multiple iterations, even companies will get in on the act because they save money by contributing to, and using, the commons.
The point of the free software movement is not to prevent companies from making money writing software (that's a side-effect, sure), it's to ensure that the end-users' freedom to change the software is guaranteed.
Now you may argue that such a position, taken to its logical conclusion, will result in software developers never getting paid again. You may even be right. However that is not relevant to the movement's goals. Their goal is having a particular right for the end-user. Their goals does not include the well-being of the software developer.
It is pointless to argue that the movement, if successful, will result in software development being a non-paid activity, because not only is that not a goal for the movement, it's not even a concern for them. Hence, the argument is irrelevant.