I am very disturbed by the idea that prioritizing classes of application is an okay thing to do.<p>First, it's impossible in the long run: if for instance you slow down everything but the web and e-mail, you'll see more and more application using HTTP as a transport layer. This can quickly degenerate into an arms race. Second, it requires the ISP to effectively wiretap their users.<p>Really, if there's not enough bandwidth, just limit the bandwidth. Users will prioritize their traffic themselves.
In my ideal world ISPs should honor customer-provided QoS flags, while limiting total bandwidth as necessary. They can also limit high priority traffic to a certain percentage of a user's total available bandwidth (i.e. 50mbit/s connection, only 8mbit/s may be high priority when the network is heavily loaded). Anything beyond that is abusive, and will reduce the amount of bandwidth-intensive innovation coming from startups that can't afford to pay off the ISPs.
Money Quote:<p><i>"I see the idea of "absolute" net neutrality going away at some point. Eric Schmidt made an important point at Web 2.0 Summit: There are two concepts of net neutrality. One is you can’t discriminate against any particular company or any particular application. But on the other hand you can discriminate against classes of applications.</i>"
The real complicating factor is wireless, since from an infrastructure standpoint it isn't actually the same network - cell companies have to invest in their own infrastructure to provide internet access wirelessly.