Well...he wasn't completely good. He had no reason for treating Harry the way he did. I think he just did it because Harry reminded him of James, he reminded him of what he had lost, of the man that had the life he didn't. I'm not saying he had the right to treat Harry, Ron, Hermione or even Neville the way he did just because he was unhappy. The right thing to do would be to take care of the son of the woman he loved.
However I disagree on the thought that he didn't love Lily and was just obsessed with her. Let's take the Patronus' as an example. Lily's is a doe because of James' Animagus form and she loved him. So why would Severus be obsessed with Lily? His Patronus is a doe because he loved her the same way she loved James. I think there is no cuestion about his love for her but I do not think him a completely good person.
Let's not forget that he switched sides when he relised that Voldemort was after her. Why would he do that if what he felt was just obsesion? There is no excuse however on him becoming a Death Eater.
And there is also the fact that he did save Harry more than once. Perhaps it was just because he felt that he needed to repay Lily for telling Voldemort the prophecy, but he did it, and that's what counts.