No sooner had I launched a demo version of Flamingo than I get an email from Twitter Platform Operations telling me to shut it down on the grounds that I was “resyndicating Twitter content” which is against their API terms of use.
The email was a rather anonymous message apparently sent from a customer service ticketing system of sorts. It was a casual threat of legal action, euphemised as follows:
“If changes have not been made to bring your service into compliance by [date] we will take steps to enforce our API Terms of Service. Thank you in advance for your cooperation.”
As it happens I was well aware that resyndication was against the rules for Twitter apps. The idea of Flamingo was that it was a hosting service for running your own app, as opposed to an app itself that re-syndicates content to you. It was simply designed to make this easier for front-end developers who may not know much about servers and back end code.
It’s complicated
As the app was for Ajax purposes there was obviously a risk of exposing private data to the web and circumventing Twitter’s security model. Because of this, Flamingo had security features that many third party apps do not bother to take care of (such as showing mentions from protected user accounts).
As far as I can see, Ajax-powered Twitter apps are not against the rules. Furthermore any display of Twitter content anywhere outside of Twitter could be defined as resyndication of content if Twitter decided to call you on it. They obviously want to be the sole distributer of their content, but they have an API – what a fundamental contradiction.
Syndication aside: As a hosting service – or PaaS if you will – it’s not even clear whether running Twitter apps on behalf of a third party is even bound by Twitter’s terms (they’re not law, they’re rules for customers). Arguably a hosting provider’s customers are Twitter’s customers and the host is not using the API, its customers are. At the time of writing I’ve had no clarification on my query about this.
Despite the extremely grey and debatable nature of Twitter’s API terms and its loose definitions – and the fact that they can change any of this at any time – what independent developer would bother to argue? We don’t have the money or the lawyers to argue with Twitter in their own back yard. The only way to win is not to play.