The argument that QoS would violate net neutrality is FUD from net neutrality opponents. The only time I've seen proponents call it that was because ISPs would block bittorrent for "quality of service" reasons, which of course isn't QoS at all.
I am pro-net neutrality, and I think that particular packets getting QoS guarantees is exactly what I'm against - and pretty much completely describes what I'm against.
I don't know what net neutrality with QoS guarantees even means. Unless QoS is a promise that the ISPs will be making to me, guaranteeing that I will always have a particular amount of bandwidth - but I don't want any of the packets that I am sending or receiving to get favorable treatment of any other packets that I'm sending or receiving.
I'd even like to see law about the variables that upstream caching algorithms can use, and I think that situations like the Netflix appliance could absolutely legitimately be declared a no-no. Packet throughput should be fungible, and it is before people start slipping each other cash.
QoS is a highly desirable feature of a network, iff you, the end user, control the QoS selection. If I'm playing a fast-paced online game, talking to a group of friends with VoIP, and downloading a movie from one of the online stores to watch later, I'd like to place the priority of the movie's packets below the game and voice packets. But if the ISP does that for me, gives me no choice in the matter, and/or prioritizes my minimum guaranteed allotment movie packets above or below the voice packets of other customers, that's not okay.
I've mentioned this strategy a few times before on HN, starting ~4 years ago:
Yes; QOS has no place crossing the boundaries of a network segment - It should allow me to control the ingress and egress of my network, but be stripped before it gets to a network "trunk" like an ISP.
Further on that; If bandwidth on a segment is constrained, the ISP should divide it as fairly as possible, while also trying to maximize throughput. Each user should get an equal share, and if they're using less than that, the remainder should be apportioned to the other users evenly.
It seems to me that some level of either user-controlled QoS or congestion notification is desirable at the ISP level, since your software (e.g. Netflix, VoIP) might not know that the ISP network is congested, but you'd still prefer to tell your ISP's routers to prioritize the VoIP over the Netflix (within your allotted share of bandwidth, of course).
>QoS is a highly desirable feature of a network, iff you, the end user, control the QoS selection.
Agreed, although I think of that as something that I do at my own router, but that only covers my outbound. Being able to control what comes down to me would only be an improvement.
I guess I disagree then, because when I think of QoS, I think of what has to be done to keep a network and services on it working smoothly. I consider it a violation of net neutrality when a packet is blocked or throttled for political or business reasons, but not when a packet is blocked or throttled to keep the integrity and functionality of the network intact. Where this still intersects with politics is when an ISP makes claims like that what its customers use the network for is itself causing problems, which really is a business problem--if all your customers are using Netflix and it's choking your network, that's not a technical problem per se--it's a mismatch between the features your network offers and the features your network users desire to use. Which is a business problem. So I am against the usage of QoS as a FUD tactic, that is to say, "we have to throttle your traffic because you're abusing the network by using it."
I don't consider technical QoS decisions to be a violation of net neutrality, because everything that is permitted is not good. I can saturate my upload with bittorrent traffic so that it makes looking at websites unusable. Dropping my bittorrent upload just enough that it doesn't cause this problem doesn't violate my rights as far as I'm concerned.
The main argument against QoS-style throttling is not the bittorrent example, but rather the example of Netflix and friends - cable companies have a vested interest in throttling by content type in order to limit quality of online video services and sell their own cable TV/video on demand.
The QoS issue wasn't that bittorrent was blocked, but that ISPs were heavily deprioritizing bittorrent and potentially other unwanted traffic through packet inspection. It is and was very much something opposed by net neutrality advocates.
I didn't feel like going into that level of detail, but since you brought it up you are right. ISPs were using tools like Sandvine to detect bittorrent traffic and throttle it down to unusably low speeds. The ostensible reason was that the Bittorrent protocol was using a ton of data transfer (that the customer thought they had bought, boo hoo) and that the packet storm was causing the performance of everything else to drop to shit quality (legitimate.)
I guess QoS could mean many things to many people, but in this example, I think it was techinically incorrect for them to say they were doing it for the performance of the network when they were dropping the speeds to far below what would have simply stopped the bufferbloat problem. They were mad because people were bittorrenting rather than just sending an email now and then and checking out a webpage.
So when I say FUD, I mean you can justify a lot of rotten shit to prop up your business and call it QoS. I may be wrong because this is not my area of expertise, but you can prioritize packets based on protocol in ways that keep your network working without engaging in draconian throttling and caps. I mean, if the argument is that NN means everyone can bittorrent at full speed even if it makes the entire network run like shit, well then I would be against Net Neutrality too.