For all those morons calling Snowden a traitor: consider this scenario.
Reviewing circumstances of that Petraeus scandal in the light of Snowden's revelations, it's pretty clear that NSA knew about CIA director affair, and more importantly kept the fact to itself (if, of course it wasn't a parallel construction
by FBI, which is easy for them to check)
Now what we have? We have that NSA had dirt on a top CIA official, a popular political figure, with very probable presidential candidacy on the horizon. And what it did with that info? It kept it's chips to itself to cash-in at the most opportune moment! And the whole infrastructure at the NSA is built in such a way (intentionally!) that unless NSA wants to, nobody can say with absolute certainty what they knew and when they knew that.
In my books that is a direct threat to the republic.