I have seen it both ways...when my son was younger, there were times when his cousins would grab a toy out of his hand and he would start crying but they were still happy about it...in those cases, I would ask the child to please give me the toy, and hand it back to your son and say "that wasn't very nice. He was playing with that. It's baby's turn right now you can have it when he is done." If the other child grabs it again, take it away and say "if we can't share, the toy is going in time out" And put the toy away for a few minutes. Usually that works. It is the parents job to teach their child but sometimes they just don't take the initiative and you still should stick up for your son.
Now, on the other side...my son is not quite 18 months, and he has taken toys away from other kids many times! As soon as he sees a child playing with a toy he starts yelling "my my my". As his parent, when he does that, I say "no honey that is not yours. you have your own toys to play with. Let's try this [try to direct him to another toy or activity]". If he grabs a toy from another child's hand, I take it from him and say "no honey that is not nice. He/she was playing with that" "let's give it back" and I have him hand it back and I have him give the other child a hug since he can't say sorry yet. Those techniques usually work, but if they don't, I would remove my son from the situation altogether. I would definitely not just let him get away with it! I have been teaching my son this way for 5 months now. That mother has no excuse with a 20 month old!
That kind of situation will happen over and over again and you just have to take care of it yourself, because you can't change how other people parent their children