no one is saying you can't be paid for your work. I write free software as well, and i make money selling support and warranties. my code comes with absolutely no warranty, and anyone can use it, but seeing as it's aimed at schools (i design school administration systems), you can bet they want some guarantee the system will function, support availability if something malfunctions, bug fixes when released, and for the "pro" package they get to suggest custom features that i'll happily implement.
some choose to be charged by hours of actual support, others buy annual support packages. and then, some might want to just use the system themselves, without my support, it's their choice, i really don't mind.
oh, and i make some profit selling hardware, almost all schools here don't have a proper server, and some have horrible networking that requires some changing, to which i charge money as well...
it just works :)