some points valid but...
I think that some of the points made are valid. It is true that developers deserve to be compensated for their efforts.
You have stretched Stallman's comments regarding the need to charge money for OSS to the limit to make your point. There is a BIG difference between charging money for a CD collection of software and a publishing house that tries to collect royalties. I think RMS would object to such a thing and I certain do because it will hinder the OSS movement.
One of the reasons why free software is popular is because it is usually also free in the economic sense. Furthermore there is already a system setup for developers who want to be compensated... its called shareware. Now I know shareware is based on the honor system but it does work quite well for many developers.
Finally it would be realy hard to setup a royalty system for OSS software projects. Lets say you publish some software and start to collect royalties. Then I "buy" your code and modify or embed it to make a new project. When someone "buys" my code (which includes yours) how do we figure out the royalties? Would I have to charge more for my stuff so I can cover the cost of paying you a royalty? Now imaging trying to solve this same problem for projects that start off with hundreds of programmers and spawn derivative projects with hundreds of more developers. Now how do you distribute royalties? Maybe you'll answer "those projects do get royalties because they are too big". But thats not fair is it? The developers for these projects have worked just as hard and deserve compensation just as much.
In short... there is a place for everything. If you want compensation as a developer then you should charge for your code. You can make it a comercial product or it can be shareware. If you want to give away the source code then you just have to accept the fact that others will use your stuff to their advantage; probably without compensating you. If that bothers you then don't give away your source code... you wouldn't be the first to distribute stuff in binary only format.
What you want is to have your cake and eat it too. And yeah I understand the desire but the reality of the situation is that OSS projects will probably always be free in every sense of the word. You want compensation but understand that when people shell out their hard earned dollars they expect more in return than most OSS developers are willing to give. Are you gonna provide support for you projects? Update cycles that are responsive to users desires? If you want to do all that then I say go for it !! But if you still want to give the code away then don't whine when someone else uses your stuff to make a buck as well. Your publishing house example is a little flawed. Authors don't "give" their works away to anyone in general and they don't allow derivative works without negotiated contracts. When an author does put something into the public domain they voluntarily give up the right to keep others from using their stuff and making derivative works. Guess what... same thing with developers !!
Overall the system works as is. Lots of people put code into the collective pot and lots of people take out. Those that take but don't give are still making some positive impact because of the "media" exposure of having someone base their business/project on OSS code. I think most people are willing to give back although everyone doesn't have to give back in the same way (ie: code).