If I'm willing to go to your location, buy the card for your router
and pay you for the staff hours to set it up, there should be *no*
situation in which I'm willing to accept your traffic from an upstream
Internet link but am unwilling to engage in otherwise settlement-free
peering with you.
I disagree with this. In fact, I can think of several possible cases where
this would not hold, both using pure business and pure technical
Please educate me. I'd be happy to adopt a more nuanced view.
First, define "upstream Internet link" - i.e. upstream to whom? If I peer with your upstream, then peering with you could easily drop me below their requirements, causing me to lose a much bigger peer for what I may consider no real benefit.
Let's assume you meant upstream to me. Many people negotiate volume discounts, peering with you may drop me to a lower tier, which may cost me more than your peering saves me.
Let's further assume it is upstream to me. Perhaps I am trying to turn that upstream into a peer. This devolves into the first situation.
Irrelevant on what you meant by upstream, I may have operational issues such as space & power, that disallow me from adding another port pointed at you in the location you want the port. I don't care if you buy the card, if there is no slot or power for the card, buying another rack - if possible in the first place! - may not be worth the benefit of peering with you. And I haven't even covered the CapEx & OpEx of adding a chassis to deal with your port irrespective of the power & space.
Hopefully you get the gist.
Your customers have paid you to connect to me and my customers have
paid me to connect to you. Double-billing the activity by either of us
collecting money from the other is just plain wrong.
Wrong? My rule is: Your network, your decision.
Yes, wrong. Some decisions fall in to areas covered by general ethics.
You sell a customer a red ball when you know you can only deliver
green balls, it's a lie. Unethical. Wrong.
You work for a company (W2 salary) and in the course of your work
contract something to another company where you're an officer it's a
conflict of interest. Unethical. Wrong.
I see your point here, but neither of those examples are peering related.
A customer pays you to build a piece of software by the hour. Another
comes along and asks for the same software. You bill both for each
hour. Double billing. Unethical. Wrong.
This is far less clear. Should the second customer get it for free just because you already wrote the code? Or is it the fact you billed "an hour" instead of "software" that bothers you?
Not that it matters, since this has nothing to do with peering.
A customer pays you to deliver a packet to "the Internet." You talk to
the packet's destination and say, "Hey, I'll deliver it to you
directly but only if you pay me. Otherwise I'll just toss it out in a
random direction and hope it gets there." Double billing. Unethical.
I think if you look closely at any transit contract, almost none of them (cough Akamai cough) guarantee delivery t the end user. They typically only guarantee delivery to the edge of their own network, and make zero promises about _which_ edge they will use to get to the next network. Plus those "guarantees" are weaker than almost any other guarantee in any industry.
Of course, if someone sold me "full transit" and could not reach a significant fraction of the Internet, I'd claim breach of contract. But A != B.
So the straw man above _may_ be morally wrong (I'm not 100% certain of it, need to ruminate some more), it doesn't actually exist in the real world. And certainly is not related to the original post.
Besides, "double billing" is not unethical in your example above. Using your exact straw man, if I go to the destination, make that threat, and they cave, I haven't harmed my customer at all. If they don't cave and I send them the packet directly anyway, I still haven't harmed my customer. Double-billing in-and-of itself is not morally wrong.
All that said, if a provider sucks, change providers. <Cue discussion about being unable to change providers and how wrong that is. :->
None of these things is necessarily illegal although like spam some of
them are illegal under specific conditions. Yet all of them (and spam)
We can agree that spam is wrong.