For one thing I have to agree, NetworkManager is troublesome if one wants advanced setups while keeping the base packages untouched. However, it's still free software, and if you continue reading, I'm sure you'll understand what I'm talking about.
Anyway, to give you an idea, when I switched to Wicd, since it just uses ifconfig and such tools, I had the easiest time of my life when configuring IPTables to restore the rules I wrote for it everytime the system would start. :D However, it's still free software, because everyone receives the four essential software freedoms IN THE SOURCE CODE (this is why developers AREN'T obligated to provide compiled code for download). HOWEVER, people aren't obligated to use ALL the freedoms, because these freedoms fit best for each purpose, and everyone has different levels of interaction with computers. I have seen such "Non-customizable software at run level isn't free software" statements quite frequently lately, along with ones like: * "If it's not focused on security, it's non-free software". * "If a free software supporter or activist doesn't study and compile software from source, then he isn't a free software supporter or activist, or he is not eligible to be talking about such subject". * "If the software tries to do a lot of things, and not just only one, then it's non-free software". (I can put anti-PulseAudio and anti-SystemD as similar arguments here). This is a modularity issue, not a software freedom issue.