There are always ways to restrict speech with GNU software. There are plenty of ways to make software non-free with GNU software. In fact no software is free. The closest you'll come is BSD/MIT/NRCOL software.
If a consultant charges money for GNU related consulting, it is a restriction of speech. One cannot freely get consulting from a consultant who charges money.. therefore speech is restricted. It is just a never ending game of restricting one thing or restricting another.
In order for anyone to make money, something has to be restricted. Sometimes, restricting the consulting is more powerful than restricting the source code.. since many people can't understand source code. So you could end up with more restricted software if the GNU author isn't willing to give you advice about the software and only releases a bunch of crypitc sources. In fact this is how many GNU consultants make money.. code a bunch of stuff and then never reply to people on mailing lists.. force them to buy the support contract, which is a restriction of speech.
Charging money for the documentation.. again is a restriction of speech. GNU allows one to charge for speeches about the software on cruise ships, which is ludicrous if they are worried about true freedom. Isn't a speech on a cruise ship, supposed to be... well.. free? Digitally replicate-able using a microphone and camera.
But they aren't concerned about freedom at all... they leave that loophole open so that some guy can restrict the software and make money off the GNU software. Many times the speeches on cruise ships and the books written about the software are more important than the source code itself - so yes, you can charge money for those important things, but not for source code? LOLWUT. WTF?
i.e. there is no true freedom ever.. sorry.
A long hard to understand license is a restriction too... freedom involves simple and easy to understand licenses like MIT/BSD/NRCOL.
If something is free, it should not have 3 million restrictions listed in the license to restrict freedom. Restricting freedom is an oxymoron or paradoxical statement.
One of the reasons that GNU is successful is because nobody understands what it means. Most people take a quick glimpse at the false phillosophies and assume they are true because everyone else believes in them.. even companies like Red Hat.. so it just must be true.. just like it must be true that since Linus Torvalds chose the GPL, it must be a rational license.
If someone gave away freeware without the sources and provided 500 pages of documentation.. and the person using the freeware never needed the sources since they didn't understand them anyway (most software users), and if the freeware could be extended with plugins.. this software may be more free than some GNU software that has no documentation, no plug-in system. In other words, GNU freedom is completely meaningless and biased, since it assumes that software source code is the most important speech part of software.
In most cases, the most important speech part of software is actually the consulting about the software.. that's why people get paid so much money to consult about software. Asking people to pay for consulting is a form of speech restriction.. since you are holding back information and not giving it away.. similar to holding back source code and not giving it away. Freedom is not only about source code... and this is why people make money on GNU software.. because people are restricting the freedoms of something else. Some form of speech is restricted in the end.