P.G.
Hi F.,
You can also balance the 2 types of advice you're getting, and have him take care of his own spending money, cell phone, car payments, etc., plus a small amount of "rent" for you.
I stayed with my grandmother for a few years, and paid for my own expenses, plus $100 rent. I felt that was quite fair, because she was paying the electric/water/etc. for everyone. (Me/grandmom/great grandmom). You're son is legally an adult and needs to get that real world experience. You could even take that 100$ (or whatever) and put it in an account for him (without telling him) and maybe gift it to him when he goes to get his own home, get married, whatever. Or just use it for the utilities ;)
Maybe, if you know them, have a chat with his friends' parents to see what's up there. If you all get on the same page, that'll drive all the kids crazy :)