Without joining an argument of whether or not Marijuana is good or bad, the fact is that in most places its illegal and considered a bad thing.
I have always felt no sympathy towards people like Phelps who do the wrong thing, sure people make mistakes, but I believe when you are paid endorsements and extremely large wages like he is, you must sacrifice some freedoms in order to keep them.
If a football player who earns 800k a year makes a scene in a bar and has a fight, I think they should be punished, just like everyone else, your job is to please/entertain the public, if it wasn't for them, you couldn't afford your solid gold toilet seats and fancy cars