For those who don't see anything wrong with the kid getting punished for expressing his opinion . . .
If the teacher had been a KKK member, put up a pic of some hooded KKK members, threw positive comments out about the KKK in class and this kid turned around and told his classmate that he disapproved of the KKK because he thought it was wrong and subsequently got punished for saying such, what would your reaction be?
Mine would be exactly the same as it is for the kid expressing his disapproval of homosexuality. It isn't the subject matter that's the controversy here (well, it is on the teacher's end) but the fact that this kid got punished for expressing/voicing his opinion.
Let's bring it even closer to home. Let's say the teacher was a militant Christian, and made a habit of talking about how homosexuality was wrong and a sin, and posted pictures of people protesting gay marriage, with approving words about them. Let's say that as the teacher was leading a class discussion on how some countries still imprison and execute gays, a student turned to his friend and said, "I think homosexuality is okay and they should have rights", and the teacher overheard it and had the kid punished.
Would the kid still be viewed as a disruptive little punk being disrespectful of his teacher, or would he NOW be a shining hero, whose First Amendment rights the left was vociferously defending, simply because NOW he's saying something they agree with?
Here's a hint, leftist retards: if you think the kid shouldn't be punished in the example (and if you're at all honest with yourselves, you WOULD think he shouldn't be punished), then he shouldn't be punished when he says things you don't like. Rights apply to everyone, or they aren't really rights.