I'm not even sure if it should be "free". Something that is inherently free implies a lack of value, it's belittling to the workers who produce that food.
That's the bourgeois ideology talking. If I invite friends to dinner, they receive the food for free, but they sure don't think it's worthless.
I think a better way to phrase it is that society should work together to provide the basic needs to those who participate in said society.
So guests should go hungry?