Adversarial interoperability: reviving an old weapon to slay today's monopolies
eff.org
eff.org
As a simple example of there adversarial interoperability used to work well (so much so that we had an ecosystem of interacting technologies), look at chat. First, before there was much encryption we had AIM and ICQ (and then AID/ICQ), and then an open standard in XMPP, and then Gchat used XMPP, and people used aggregating chat clients to handle all their chat needs in one application. There was no real downside to another account on another service, you could just add it to your chat handler and you were good to go.
Then we started seeing proprietary forays into this space with enough clout and lock-in to actually change the status quo. I might be wrong, but I've always attributed this primarily to Apple. When Apple provided a Mac only chat protocol and then used it to extend standard messaging but only for their platforms (SMS/iMessage interoperability), that was the beginning of the end. This was embrace, extend and extinguish as seen by Microsoft applied to a new medium, and with a slightly different strategy (instead of overall market dominance driving the change, it was vendor lock-in). Other big players followed suit in the next few years (I assume because otherwise they would be at a disadvantage). Gchat was superseded by Hangouts which was closed, and Facebook closed off their XMPP support around the same time. The excuses never held water to me. XMPP was extensible, and if it wasn't, it's not like companies like Google and Facebook (and Apple, as iChat was XMPP based as well) could not push forward whatever changes were needed for the advanced features they wanted.
We had a wonderful world of interoperating competing chat networks, a protocol that embraced this and even allowed federation, which a bunch of what are now some of the biggest companies in the world embraced, and then once everyone had an account, they revealed the extent of their bait-and-switch.
There's a lesson to be learned in there about commercial companies taking advantage of open source and open standards for their own profit (which is to be expected) but at the expense of their customers (which is unfortunate).
"I might be wrong, but I've always attributed this primarily to Apple."
RIM and BBM had a four year head start on Apple messaging. Unless Apple had a pre-mobile messaging protcol that I am unaware of. Even so, BBM was the hotness back then and people were lining up to buy a Blackberry just so they could use its exclusive messaging service.
EDIT: And popular chat clients like pidgin did not support skype, so you had to have skype + pidgin/adium or whatever. And then at some point you just drop one..
https://tools.ietf.org/html/draft-movva-msn-messenger-protoc...
From a technical perspective, XMPP never really appealed to me --- the biggest turn-off being its reliance on XML, whereas MSNP was a line-based textual protocol closer to a mix of IRC and HTTP. I found MSNP simple enough that I wrote a client and used it right up until Microsoft shut down their servers.
Also, don't forget that the original chat protocol, IRC, is still in (limited) use today.
I'm not making a case it was the best, or only protocol, but it existed and was popular, and importantly, was the protocol that Apple, Google and Facebook all used in their initial forays into the space.
That is, not only were they originally using open standards, they they were originally all using the same standard and could interoperate with each other easily if desired. That's important because it shows just how far we went. Literally from one end of the spectrum (fully open and interoperable on a client level) to the other (closed proprietary standards and enforced incompatibility).
> Also, don't forget that the original chat protocol, IRC, is still in (limited) use today.
Sure, I wasn't making a case that they died, just that we were sold an implied bill of goods that was bogus. There was no reason at the time to not use gtalk more than AIM as many people that had AIM eventually got a google/Gmail account (or Apple ichat one, or Facebook one), and to focus on those more. And new people didn't see the need to get an AIM/ICQ account because everyone they talked to had a way to reach them on those major platforms with those accounts they also got.
If we were back at the time people were signing up for accounts, and people were presented with the choice of getting a dedicated IM account in addition to their gchat or ichat or facebook one knowing that their bigcorp one would be closed to outside networks soon, I think a lot more would have done so.
It was also not designed with high latency and battery requirements in mind, such as mobile phones have. Apparently Matrix is trying to pick up where XMPP has failed.
I asked how his dad dealt with all the craziness of lobbyists?
Turns out he used them a lot. If he had trouble with a school textbook issue he would call up an unrelated lobbyist (such as oil) and ask him about it. Very quickly, he would have a thick report from leading exports on his desk outlining and analyzing in detail the school textbook issue.
Pit em against each other.
Steve Jobs was a master of things like this. He made the phone companies compromise and got smartphones to market. He made the music industry compromise and got online music jumpstarted.
"Sure, buddy. I'll have a thousand page report ready in a couple days. By the way, yesterday a Congressman asked me about the safety of fracking..."
Why would any sane person trust a corporation's word, let alone Microsoft's?
Corporations are not your friend and will happily fuck you over for a few percentage points' increase in shareholder returns. Have we forgotten embrace, extend, extinguish already?
In the end they did force Microsoft to open up the protocols used by Windows clients to communicate with Microsoft's own servers (to allow third party interoperability with server products like Samba), but did not do the same thing with the various Office document formats.
After an additional $1.3 billion fine, Microsoft stopped dragging it's feet and complied with the ruling.
https://www.computerworld.com/article/2537525/eu-fines-micro...
When everything is in the cloud all you need to do is block API access, or make your API crippled to begin with, and it's instant game over.
If you invest a sizable amount of engineering resources, you can stay a little bit ahead of cheaters and ban the ones that slip through. But your adversaries will never give up, and even if you limit their encroachment, it will slowly but surely impact your product; the tricky part of dealing with this software is that using harsh measures to defeat it will harm goodwill and incite the cheating users to campaign against you.
The same basic principles are true of adversarial compatibility: users may be ambivalent about having choices, but they will rarely have a reason to dislike it; they just don't want to be caught in the crossfire if war gets waged.
What stops this from being applied across all internet-available software is more about the legal reprisal threat: Although leveraging Facebook's own frontend code to start interacting with their systems is within the reach of any keen-minded and hard-working CS student, a company built on that principle would be vulnerable to burial by lawsuit. Companies selling cheats tend to be overseas fly-by-nights, safely out of reach from the long arm of the law.
Perhaps all we have to do is wait for WeChat or Weibo to announce Facebook compatibility.