terms of service – Stay N Alive

Twitter Adds New Terms of Service to Its Developer Platform

There has been a lot of news about Twitter’s new features, @anywhere, a coming social graph API, and their new developer website.  One thing that hasn’t been mentioned however is something that gives me great joy.  Every single developer that signs up for the platform is asked to agree to a very thorough, new, terms of service agreement.  This is a big step in the growth of the Twitter developer platform.

I’ve said over and over Twitter needs more transparency in its developer environment.  Helping the developers to know what they’re getting into, what the rules are, and how they are expected to behave not only gives Twitter some leverage to control their environment, but it also allows developers to build a business knowing what they’re getting into and if all the hard work they put into it is in vain.

I’m the Choir when it comes to preaching about features getting rendered useless due to Twitter changing their rules of the Twitter platform.  Only a few months ago, SocialToo was asked to remove our auto-unfollow service, and many other services, some which that was their only feature, were also asked to remove it.  The problem is I was never asked to sign an agreement, no agreements were presented to me, and very few rules were in place to designate what I could and couldn’t do.

It appears that at least for new developers, that is no longer the case.  Each and every application added to the Twitter platform via http://dev.twitter.com is required to agree to a very thorough agreement.  This means developers can now start knowing what they will be getting into.

Some elements developers are agreeing to:

  • Developers must adhere to rate limits
  • Developers can’t rent, sublicense or redistribute content from Twitter for development and use of other third party services without Twitter’s prior approval (this means Yahoo, for instance, had to have Twitter’s permission to redistribute the Twitter API into YQL for developers to use)
  • Developers can’t remove proprietary notices from Twitter content
  • Developers can’t use Twitter Marks (Trademark) in the names or logos of their products

The new agreement also asks developers to adhere to specific principles, primarily:

  • “Don’t surprise users”
  • “Don’t create or distribute spam”
  • “Respect User Privacy”
  • “Be a Good Partner to Twitter”

The terms are quite long, but have some important content in them for developers.  In my opinion this is actually a good thing for Twitter, and Twitter should really require even existing developers to agree and abide by these terms so everyone is familiar with them.  This is another great step in increased transparency for Twitter.

The full text of the new Developer agreement is below:

Developer Rules of the Road

Twitter maintains an open platform that supports the millions of people around the world who are sharing and discovering what’s happening now.  We want to empower our ecosystem partners to build valuable businesses around the information flowing through Twitter. At the same time, we aim to strike a balance between encouraging interesting development and protecting both Twitter’s and users’ rights.

So, we’ve come up with a set of Developer Rules of the Road (“Rules”) that apply to all developers and companies building products and services that interact with Twitter. If you’re a user of Twitter services, but not a developer, these rules will simply show what our partners are currently allowed to do with the content and information you share with Twitter.

The Rules will evolve along with our ecosystem as developers continue to innovate and find new, creative ways to use the Twitter API, so please check back periodically to see the most current version. If you are doing something prohibited by the Rules, talk to us about whether we should make a change or give you an exception.


1. All use of the Twitter API and content, documentation, code, and related materials made available to you through the Twitter API (“Twitter Content”) in connection with the products or services you provide (your “Service”) is subject to and must comply with these Rules.

2.  You may use the Twitter API and Twitter Content to develop a Service to search, display, analyze, retrieve, view, and submit information to or on Twitter.  You may use the Twitter name or logos and other brand elements that Twitter makes available in order to identify the source of Twitter Content (“Twitter Marks”) subject to these Rules.

3.  Your use of the Twitter API and Twitter Content are subject to certain limitations on access, calls, and use of the Twitter API as set forth on dev.twitter.com or as otherwise provided to you by Twitter.  If Twitter reasonably believes that you have attempted to exceed or circumvent the rate limits, your ability to use the Twitter API and Twitter Content may be temporarily or permanently blocked.  Twitter may monitor your use of the Twitter API to improve the Twitter service and to ensure your compliance with these Rules.

4.  You will not attempt or encourage others to:

(a) sell, rent, lease, sublicense, redistribute, or syndicate the Twitter API or Twitter Content to any third party for such party to develop additional products or services without prior written approval from Twitter;

(b) remove or alter any proprietary notices or marks on the Twitter API or Twitter Content;

(c) use or access the Twitter API for purposes of monitoring the availability, performance, or functionality of any of Twitter’s products and services or for any other benchmarking or competitive purposes; or

(d) use Twitter Marks as part of the name of your company or Service, or in any product,  service, or logos created by you.  You may not use Twitter Marks in a manner that creates a sense of endorsement, sponsorship, or false association with Twitter.  All use of Twitter Marks, and all goodwill arising out of such use, will inure to Twitter’s benefit.


We ask that you and your Service follow four principles:

Don’t surprise users

Don’t create or distribute spam

Respect user privacy

Be a good partner to Twitter

1. Don’t surprise users

(a) Maintain the integrity of Tweets. There is a lot of information packed into Tweets even though they are just 140 characters long (i.e., links to usernames, etc.).  The Display Guidelines (http://dev.twitter.com/pages/display_guidelines) provide guidance on how to best convey all the intended information in a Tweet. A few highlights:

o Don’t edit or revise user-generated content delivered through the API except as necessary due to technical limitations or requirements of any networks, devices, services, or media.

o Identify the user that authored or provided a Tweet unless you are either providing Tweets in an aggregate form, or need to make Tweets anonymous due to user privacy or security concerns.

(b) Get users’ permission before:

o sending Tweets or other messages on their behalf. A user authenticating through your application does not constitute consent to send a message.

o modifying their profile information or taking account actions (including following,  unfollowing, and blocking) on their behalf.

o adding hashtags or other content to a user’s Tweet. If your application allows users to send Tweets or other content to Twitter, show the user exactly what will be published.

(c) Your application should not:

o use business names and/or logos in a manner that can mislead, confuse, or deceive users. For more information on use of Twitter Marks, see our trademark usage guidelines (http://help.twitter.com/entries/77641)

o confuse or mislead users about the source or purpose of your application.

o use as its Application Website URL an unrelated URL, a site intended to entice or encourage users to violate our rules, a spam or malware site, or a shortened URL to mask the true destination.

o replicate, frame, or mirror the Twitter website or its design.

o impersonate or facilitate impersonation of others in a manner that can mislead, confuse, or deceive users.

(d) Respect the privacy and sharing settings of Twitter Content.  Promptly change your treatment of Twitter Content (for example, deletions, modifications, and sharing options) as changes are reported through the Twitter API.

2. Don’t create or distribute spam

(a) Spam can take many forms. Please abide by the spam rules (http://help.twitter.com/entries/18311#spam).

(b) If your application performs automatic actions (including Tweeting or other content updates), make sure you comply with the Automation Rules found at http://help.twitter.com/entries/76915.

(c) Do not mass-register applications. This includes:

o creating tokens/applications for the purpose of preventing others from using or selling those names, or other commercial use.

o using feeds of third-party content to update and maintain accounts under the names of those third parties.

o submitting multiple applications with the same function under different names for the purpose of name squatting.

(d) Do not facilitate or encourage the publishing of:

o links to malicious content

o pornographic or obscene images to user profile images and background images

3. Respect user privacy

(a) Clearly disclose what you are doing with information you collect from users.

(b) Clearly disclose when you are adding location information to a user’s Tweets.  Be clear about whether you are adding a place or specific coordinates. If your application allows users to Tweet with their location be sure that it complies with the best practices found at http://dev.twitter.com/pages/geo_guidelines

(c) Do not solicit another developer’s consumer keys or consumer secrets if they will be stored outside of that developer’s control. For example, online services that ask for these values in order to provide a “tweet-branding” service are not allowed.

(d) Do not facilitate or encourage the publishing of private or confidential information.

4. Be a good partner to Twitter

(a) If you display Tweets in an offline context, do so according to the guidelines found at http://help.twitter.com/entries/114233.

(b) Respect the features and functionality embedded with or included in Twitter Content or the Twitter API.  Do not attempt to interfere with, disrupt, or disable any Twitter API features.

(c) If your application causes or induces user accounts to violate the Twitter Rules (http://help.twitter.com/entries/18311) (for example, by retweeting spam updates, repeatedly posting duplicate links, etc.), it may be suspended or terminated. We’ve provided some guidance in our Abuse Prevention and Security help page at http://help.twitter.com/entries/79901.

(d) Respect the intellectual property rights of others.

(e) Do not use the Twitter Verified Account badge, Verified Account status, or any other enhanced user categorization on accounts other than those reported to you by Twitter through the API.


The following guidelines apply if you use Connect with Twitter to integrate Twitter functionality into your Service.

1. Connect With Twitter

End users must be presented with the option to log into Twitter via OAuth protocol.  End users without a Twitter account should be given the opportunity to create a new Twitter account as provided by Twitter. You must display the Connect with Twitter option at least as prominently as the most prominent of any other third party social networking sign-up or sign-in marks and branding appearing on you Service.

2. General

(a) If you allow end users to create social updates from your own social service or a third party social networking, micro-blogging, or status update provider integrated into the your Service (“Update”), you must also display a prominent option to publish that content (or a link if the Update is not text or longer than 140 characters) to the Twitter service.

(b) If your service displays Updates commingled with Tweets, you must ensure that Tweets reference Twitter as the source.

3. Twitter Identity

Once an end user has authenticated via Connect with Twitter, you must clearly display the end user’s Twitter identity.  Twitter identity includes visible display of the end user’s avatar, Twitter user name, and a Twitter “t” mark.  Displays of the end user’s followers on the your Service must clearly show that the relationship is associated with the Twitter service.


1. Twitter reserves the right to serve advertising via its APIs.

2. Your advertisements cannot be false, misleading, fraudulent, or illegal.

3.  If you use or facilitate the use of affiliate links, you must comply with our Affiliate Rules (http://help.twitter.com/entries/76915#advertising)

4. You must get permission from the user that created the Tweet if you:

o want to user their Tweet on a commercial good or product (for example, using a Tweet on a t-shirt or a poster or making a book based on someone’s Tweets).

o create an advertisement that implies the sponsorship or endorsement on behalf of the user.



You may terminate any license in these Rules at any time by ceasing your access to the Twitter API and use of any Twitter Content, and deleting all copies of the Twitter API and Twitter Content as described below.  Twitter may immediately suspend your access to the Twitter API or any Twitter Content (or if necessary, terminate this agreement with you) at any time, and without notice to you if you breach any term or condition in this agreement or otherwise engage in activities that Twitter reasonably determines are likely to cause liability to Twitter.  Twitter may also terminate any licenses hereunder for any reason with thirty (30) days notice (including by email to the address associated with your account) to you.  Twitter will not be liable for any costs, expenses, or damages as a result of its termination of this agreement.  Upon termination of this agreement, you will promptly cease accessing and using the Twitter API and Twitter Content and will delete all Twitter Content and any information derived therefrom and all copies and portions thereof, in all forms and types of media from your Service.  Sections 1(4) and V of these Rules will survive the termination of this agreement.


You may be given access to certain non-public information, software, and specifications relating to the Twitter API (“Confidential Information”), which is confidential and proprietary to Twitter.  You may use this Confidential Information only as necessary in exercising your rights granted in these Rules.  You may not disclose any of this Confidential Information to any third party without Twitter’s prior written consent.  You agree that you will protect this Confidential Information from unauthorized use, access, or disclosure in the same manner that you would use to protect your own confidential and proprietary information of a similar nature and in any event with no less than a reasonable degree of care.

3.Ownership; Feedback.

3.1 Twitter.  You expressly acknowledge that Twitter and its end users retain all worldwide right, title and interest in and to the Twitter Content, including all intellectual property rights therein.  You also acknowledge that as between you and Twitter, Twitter owns all right, title and interest in and to the Twitter API, Twitter Marks, and the Twitter service (and any derivative works or enhancements thereof), including but not limited to all intellectual property rights therein.  You agree not to do anything inconsistent with such ownership.  Any rights not expressly granted herein are withheld.  You agree that you will not challenge Twitter’s ownership of, the validity of any license to use, or otherwise copy or exploit the Twitter Marks during or after the termination of this agreement except as specifically authorized herein.  If you acquire any rights in the Twitter Marks or any confusingly similar marks, by operation of law or otherwise, you will, at no expense to Twitter, immediately assign such rights to Twitter.

3.2 You.  As between you and Twitter, you retain all worldwide right, title and interest in and to your Service, excluding the Twitter API, Twitter Marks, and the Twitter Service (and any derivative works or enhancements thereof), including but not limited to all intellectual property rights therein.  You may provide Twitter with comments concerning the Twitter Content or Twitter API or your evaluation and use thereof.  You agree that Twitter and its designees will be free to copy, modify, create derivative works, publicly display, disclose, distribute, license and sublicense, incorporate, and otherwise use the feedback, including derivative works thereto, for any and all commercial and non-commercial purposes with no obligation of any kind to you.


Twitter may update or modify the Twitter API, Rules, and other terms and conditions, including the Display Guidelines, from time to time its sole discretion by posting the changes on this site or by otherwise notifying you (such notice may be via email).  You acknowledge that these updates and modifications may adversely affect how your Service accesses or communicates with the Twitter API.  You will have thirty (30) days from such notice to comply with any modifications.  If any change is unacceptable to you, your only recourse is to terminate this agreement by ceasing all use of the Twitter API and Twitter Content.  Your continued access or use of the Twitter API or any Twitter Content following the 30 day period will constitute binding acceptance of the change.

5.Representations and Warranties; Disclaimer.

5.1 Representations and Warranties.  You represent and warrant that:

(a) you have the necessary power and authority to enter into this agreement, and that the performance of your obligations will not constitute a breach or otherwise violate any other agreement or the rights of any third party arising therefrom;

(b) you will maintain throughout the term of this agreement all rights and licenses that are required with respect to your Service; and

(c) your Service and  its use, distribution, sale and license, including the use of any license hereunder, does and will continue to comply with all applicable foreign, federal, state, and local laws, rules, and regulations.


6. Limitation of Liability.


7. Indemnification.

You will indemnify, defend, and hold Twitter, its subsidiaries, affiliates, officers, and employees, harmless from any and all claims, damages, losses, liabilities, actions, judgments, costs, and expenses (including reasonable attorneys’ fees) brought by a third party arising out of or in connection with: (a) any act or omission by you, in connection with your use of the Twitter Content, the Twitter API, or the Twitter Marks; (b) your use of the Twitter Content, the Twitter API, or the Twitter Marks other than as expressly allowed by this agreement; (c) your breach or alleged breach of any of the terms, restrictions, obligations or representations under this agreement; or (d) your Service.  You will assume control of the defense and settlement of any claim subject to indemnification by you.  Twitter may, however, at any time elect to take over control of the defense and settlement of any such claim.  In any event, you will not settle any such claim without Twitter’s prior written consent.

8. Miscellaneous.

These Rules constitute the entire agreement among the parties with respect to the subject matter and supersedes and merges all prior proposals, understandings and contemporaneous communications.  Any modification to the Rules by you must be in a writing signed by both you and Twitter.  You may not assign any of the rights or obligations granted hereunder, voluntarily or by operation of law (including without limitation in connection with a merger, acquisition, or sale of assets) except with the express written consent of Twitter, and any attempted assignment in violation of this paragraph is void.  This agreement does not create or imply any partnership, agency or joint venture.  This agreement will be governed by and construed in accordance with the laws of the State of California, without regard to or application of conflicts of law rules or principles.  All claims arising out of or relating to this agreement will be brought exclusively in the federal or state courts of San Francisco County, California, USA, and you consent to personal jurisdiction in those courts.  No waiver by Twitter of any covenant or right under this agreement will be effective unless memorialized in a writing duly authorized by Twitter.  If any part of this agreement is determined to be invalid or unenforceable by a court of competent jurisdiction, that provision will be enforced to the maximum extent permissible and the remaining provisions of this agreement will remain in full force and effect.

Rumors Abound as Tweet Scheduling Services are Targeted by Twitter

twitter.pngSeveral Twitter developers are reporting that Twitter is now targeting scheduling services with its new Terms of Service and Policy Enforcement team.  The threats come down to a clause in the Terms of Service stating users accounts could be shut down “If [they] post duplicate content over multiple accounts or multiple duplicate updates on one account”.  Twitter has made it known according to some developers that they plan to enforce the matter.

Tweet scheduling has been quite a popular marketing technique used by the likes of Guy Kawasaki (disclosure: he is an Advisor of my service, SocialToo.com).  To schedule a Tweet, users visit sites such as Twitterfeed, enter the Tweet to share, and schedule it in as frequent intervals as they like.  Guy Kawasaki has been quoted as saying this method actually brings more clicks to a site, as people often miss the first Tweet from a user.

It is unclear if this move is a target against Twitter developers themselves, or against the users, but if you base it on the Terms of Service alone, it would seem it’s the users and not developers taking a risk. Users should be made aware that if they are a user of such a service and schedule their Tweets multiple times, their accounts stand the risk of suspension according to Twitter.

Other interesting rules on the Twitter Terms of Service you should be aware of that could get your account suspended:

  • Following large amounts of users in a short time-span
  • Repeatedly following and unfollowing users
  • If your updates consist of mostly links and “not personal updates” (like my @jesseslinks or Louis Gray’s @lgshareditems)
  • If you send large numbers of unsolicited @replies
  • If you post another user’s content without attribution

Yesterday I contacted Twitter but still have yet to receive a response on this. It is appearing their response is “no comment”.  I’ll update here if that changes.

Twitter Starts the Chatter on API Guidelines

TwitterOn the Twitter development mailing list today Twitter began discussion on rules developers should abide by when writing applications for the Twitter API.  Such terms come on the heels of a much broader Terms of Service launched for the general Twitter user today. I’ve long discussed the need for such guidelines, as many developers are embarking on an unknown adventure when writing apps for the platform, unable to tell when something they are doing is breaking rules for Twitter platform usage.  We’ve seen this get out of hand with the launch of many “get-rich-quick” applications, along with applications that Tweet on your behalf either in public or DM form without your knowledge.

Twitter’s initial platform guidelines include the following, stating that developers of Twitter applications must:

  • Identify the user that authored or provided the Tweet, unless you are providing Tweets in an aggregate form or in anonymous form in those exceptional cases where concerns over user security and anonymity are involved.
  • Maintain the integrity of Tweets and not edit or revise them. Tweets may be abbreviated for display purposes and as necessary due to technical limitations or requirements of any networks, devices, services or media.
  • Get each user’s consent before sending Tweets or other messages on their behalf. A user authenticating with your application does not constitute consent to send a message.
  • Get permission from the user that created the Tweet if you want to make their Tweet into a commercial good or product, like using a Tweet on a t-shirt or a poster or making a book based on someone’s Tweets.

The most significant of the 4 items is that apps will no longer be able to send Tweets on a user’s behalf without their permission, although this is unclear if this includes automated DMs, and if this permission must be on a “Tweet-by-Tweet” basis or not.  In addition, users can feel secure that their Tweets will not be used without their permission in a commercial endeavor, although I’m pretty sure Copyright law will protect this.

This is a great move by Twitter, and one I strongly welcome.  Even if it prevents some developers from building applications, it sets the record straight so they know what they can, and can’t be doing.  Keep in mind that this is only a proposal at the moment, and nothing is set in stone.  You can contribute to the discussion on the developers mailing list.

[youtube https://www.youtube.com/watch?v=jbhnRuJBHLs&hl=en&fs=1&]

I Should Have Heeded My Own Advice About Twitter

whale.pngAbout a full year ago, I wrote of developers leaving the Twitter development platform due to Twitter consistently removing features, making changes without warning developers, and effectively putting developers out of business with just a single change of policy.  I advised other developers to be careful building a business model around Twitter, adding that it was a risky move, much more risky than many of the other platforms out there.  It would seem I should have taken my own advice.

It was this time I started SocialToo, a service that originally we built around the auto-follow concept. I named it such because I did not want it to work solely on the Twitter platform.  It was clear Twitter was on an unstable architecture, and their relationship with developers was also quite shaky.  For this reason, I added in features like Facebook profile redirects at the time (a simple “yourusername.socialtoo.com” which redirects to your Facebook profile).  But Twitter, at the time, was the easiest solution to build around, and made the most sense for where we had started so I figured we had to make what we did with it perfect.  Here we are, one year later, and I’m still trying to make it work perfect, but not because our code sucks – it’s because Twitter keeps changing their system, and the rules that go with it!

Today Twitter pulled the rug out from under its developers once more by, with absolutely no notice, announcing that (paraphrased, in my words) since their way was the right way, they were discouraging auto-following, and would only allow a user to follow 1,000 people per day.  What Twitter neglected was that, while not many, myself and others were building business plans around the users that would need this.  A little notice would have been helpful, but is very consistent with the way developers have been treated over the past year or more by Twitter.  Yes, I’m a big boy and we’ll survive, but that’s besides the point.  You can read more about what developers are experiencing over on LouisGray.  Put lightly, I’m not happy.

Twitter Needs a Firm Terms of Service

I know I’m not only one to say this when I say that I don’t have a clue what to expect from Twitter any more.  Any developer out there is prone to this type of treatment, and I can pretty much guarantee it will affect every Twitter developer out there at some point until something is done about it.  The reason for this is that Twitter really has no firm Terms of Service around its platform.  I am not required to agree to any way of using their platform when I write software for them.

Some might see this as a good thing, but what they are neglecting to see is that a Terms of Service gives developers a vision of what to expect, something we don’t have now.  This needs to change, and soon – we as developers need to know what we can and can’t do on the platform.  Can we write apps that auto-follow?  Can we write apps that auto-DM?  What about mass-DM?  Can I store data and what data can I store on my servers and for how long?  What is the definition of spam? There are lots of rules for Twitter users that we agree to, but nothing a developer must agree to when writing apps.  This is why you’re seeing so many apps out there gaming the system, causing these ridiculous rules to have to be made, when it can realistically all be settled before-hand with a simple agreement all developers must agree to before developing apps for Twitter.

If I knew what I could or couldn’t do on Twitter I could avoid it in the first place.  Unfortunately Twitter hasn’t defined that and it’s pretty darn confusing, not to mention extremely risky, to write apps for the Twitter platform right now.  With Facebook, on the other hand, I’m required to agree to a very specific agreement, and they’re very clear when they’re going to change any of the terms, giving developers plenty of warning.  It’s well written out and well defined. It’s a platform with little risk and high reward for businesses because they give developers time to work with any changes they make to it.

We need notice, Twitter!

These “day of” announcements are very immature and something a 15 million user company with millions to billions in the bank shouldn’t be doing.  They were doing this type of stuff a full year ago, and even today they haven’t changed their ways, even though they said they would.  Twitter needs to start notifying developers of these changes or a lot more are going to be put out of business at the drop of a hat.

Every day on the developers mailing list I’m seeing other things like this happening – OAuth technology being removed without notice (I recognize it’s beta, but we still need to know!), no notice to developers on what’s happening when site slowness happens, when things are fixed on the platform, and when they’re broken, and more.  As a developer with 12-15 years of experience in these things, the entire Twitter platform is a joke!  You just don’t do these types of things in the real world of software development!  I worked at places I would have gotten fired for this type of activity!

Developers will continue to leave if this doesn’t change

I have to admit, I’m re-evaluating my strategy to stop working on what I was doing in the Twitter environment, and move more to other platforms at the moment.  When I do that, no, I won’t remove the existing Twitter technology, but I will admit it will be very easy for the users on my service to get the same value they’re currently getting on Twitter on other services, and as they experience similar treatment by Twitter they’ll be leaving as well (as I’m already seeing).  I know I’m not the only developer in this boat right now – there are a lot of frustrated developers out there with almost no signs of change from Twitter.  I know developers that now refuse to develop on the Twitter platform because of the way they were treated, and that will continue to happen.

I have to admit I had to send out e-mails to 20 or 50 or so of Twitter’s very top users today telling them that Twitter wasn’t allowing them to auto-follow.  Those are tough e-mails to write, especially considering the influence Twitter has allowed these individuals to have and the audiences these people are capable of engaging.  I’d like to make Twitter look good for these people, but Twitter isn’t making it very easy.

Twitter, it’s time to get your act together.  Hire some more smart people, get people in management that know how to make these decisions right, and make us believe, not by words alone, but by actual actions, that you’re going to do something about it.  If you don’t, as I’ve said before, when the developers leave, so will your users.

Come follow me over on FriendFeed over at http://beta.friendfeed.com/jessestay or over on Facebook at http://jessestay.socialtoo.com.