AceShowbiz - J.K. Rowling explains on Twitter that "Snape died for Harry out of love for Lily" and "Harry paid him tribute in forgiveness and gratitude." Apparently some of fans are not happy with the author's post, and her simple answer to a fan's question as to why Harry chose to name his son after Severus Snape snowballed into a long explanation.
"There's a whole essay in why Harry gave his son Snape's name, but the decision goes to the heart of who Harry was, post-war," Rowling said. "Snape is all grey. You can't make him a saint: he was vindictive & bullying. You can't make him a devil: he died to save the wizarding world. In honouring Snape, Harry hoped in his heart that he too would be forgiven. The deaths at the Battle of Hogwarts would haunt Harry forever."
The author also felt the need to emphasize that her tweets are "not a rant." She explained, "I'm thoughtful, not upset! Snape deserves both admiration and disapprobation, like most of us." She continued later, "Snape was a bully who loved the goodness he sensed in Lily without being able to emulate her. That was his tragedy."
"Snape didn't die for 'ideals'. He died in an attempt to expiate his own guilt," she added. "He could have broken cover at any time to save himself but he chose not to tell Voldemort that the latter was making a fatal error in targeting Harry. Snape's silence ensured Harry's victory. Harry chose to perpetuate the names of the two who had nobody in their families to do so."
Rowling added another explanation about Snape as she wrote, "He stood to gain nothing personally but the triumph of the cause Lily had believed in. He was trying to do right." She then ended the debate with, "Well, thanks to everyone who participated in today's unplanned debate: "Snape, Good: Evil or What?" People to dinner - got to go! xxx."