Spoilers is a touchy thing and difficult to really get right.
I prefer to avoid spoilers for people when possible, even though I think in most cases it's not a big deal. I appreciate when people avoid spoilers for me, even for things that have been out for a while; for instance, while I own Mass Effect 3, I've never finished it (haven't even finished 2), and while I've heard about how everyone and their mother hates the final 15 minutes or so, I still have no idea what actually happens. I'm hoping I can make it through to find out for myself.
Usually when approaching something like the ending to a movie in conversation, I'll say something like "Well, it's towards the end of the movie/game/event, do you want me to not say it?" It's a simple courtesy that costs you 5 seconds of time, it really shouldn't be a big deal to just ask the question. That way, people can decide for themselves if they care or not.
I really don't know what the time limit should be. Maybe a year? That should give people plenty of time to either see it/play it or not, and at some point you want to be able to talk about it openly without worrying about others. Best to just play it by ear, I suppose.
Uh, yeah, ha, I did a somewhat major spoiler one time for a friend regarding Harry Potter
. It was accidental, of course, but I had presumed she already knew about it, Whoops.
Finally, as for social media and society - I mean, I don't partake in those things too often (re: ever), so I avoid all the troublemakers that naturally brings with it. I don't think that on any large scale anything should be "done" about it. I think most everyone knows what they're getting into when you involve yourself in things like that; people will be jerks if they want to be, and internet is only going to empower them.
I think any kind of "public shaming", "doxxing", or anything else along those lines is inappropriate, although if individuals want to complain on their own time to said person, that's their business. Smaller communities of public forum access (like ours) can decide among themselves, as a group, for what to do. For instance, I trust this community to keep any Star Wars Episode 7
spoilers confined to our dedicated Star Wars
thread. So I've made the conscious decision to just keep out until I actually see the movie. Likewise, Steve Jackson Games forums created two threads for Star Wars - a spoiler thread and non-spoiler thread, and so the community could all talk and speculate together in whichever thread they preferred.
I guess if someone came along on here, for instance, and sent PMs about Star Wars, spoiling the thing, I would report it and expect the mods to do something, probably a suspension or something along those lines.
I don't think any kind of movement by society at large to prevent/shame/harass people who spoil things is appropriate.