With all the rage recently on Twitter's changes to their API and how it affects developers and their apps who rely on it, it's easy to forget that Twitter is hardly the first major tech company to take such an approach to lifeblood of its ecosystem.
have we learned nothing from Apple? "F**k developers" is not just a valid strategy, it's the only sensible strategy.— Jeff Atwood (@codinghorror) August 28, 2012
Yes, most of the large tech companies today are taking a hardline approach when dealing with developers who use their platform, treating them with entitlement as they hand down "our-way-or-the-highway" rules and regulations that leave little recourse when things go wrong.
From Apple's notorious appstore approval process, to Microsoft abandoning core technologies they've been selling developers on for years, to Google's insistence of providing no direct contact points for developers - the sign on the wall is clear: developers are just another cog in the machine, replaceable and interchangeable and without any provisions once things go wrong.
And yet, developers are the lifeblood of those companies, and are the main reason they became big in the first place. Without developers building apps for the iPhone or software for windows, or extending the Twitter platform in a myriad of ways - would Apple, Twitter and Microsoft be where they are today? the answer is an emphatic no.
Google is in a somewhat different position, as their main revenue channel (adsense) is not being supported (directly) by developers using their API, but as they spread to new markets (mobile, for example) they will become more and more reliant on a developer community fueling their effort.
BigCorps hold all the power
The reason this situation can exist at all, lies in the balance of power between tech companies and the developers who build for it. As individuals, developers have very little effect on the ecosystem as a whole. They have practically zero leverage when things go wrong, as Bigcorp cares about scale and numbers and not individual slip ups that do not affect the big picture.
While developers create a ton of value, they are a collection of separate individual entities who alone cannot influence a much larger system. I hereby suggest a new approach that has been used to great effect by members of older professions: organizing a union.
Union: Strength in numbers
A labor union is an organization of workers who have banded together to achieve common goals such as protecting the integrity of its trade, achieving higher pay, increasing the number of employees an employer hires, and better working conditions.
Most established professions have labor unions in developed countries. Unions prevent large entities (companies, governments) from dominating a one-sided relationship with individual (or small) entities, dictating terms and abusing their position.
While developers have no leverage as individuals, as a collection the balance of power reverses. Lets go over an hypothetical example:
Apple declines an app from its appstore, citing a technicality which is enforced inconsistently and without much detail on how to fix it. A developer who has spent 6 months working on it and personal funds to design and market it, appeals to the developer union for help. In response, the union instructs its members to suspend all in-app purchases for a day. For each infraction, Apple loses millions of dollars on IAP commissions.
Now, it's suddenly viable for Apple to hire more (and better) reviewers and to actually provide meaningful feedback in appstore reviews - maybe even start an active dialog before declining a submission outright. This requires more resources from Apple, but if the alternative is millions lost per infraction, they are forced to accommodate the people who enable their ecosystem.
(Naturally, for this to work, union members have to comply and act as a single entity. Lets assume they do for the purpose of this post)
One can only dream
This post is more hypothetical than practical - I don't really see a software developer union happening, unless something changes radically. We are inherently a spoiled bunch, with our profession being more in demand than ever before and it's hard for us to imagine our favorite tech company disowning us while we are living comfortably in their ecosystem.
I would like to see some community leaders ban together and try to apply some leverage against the offending tech companies once in a while. Here's to hoping that the 21st century
Jimmy Hoffa Cesar Chavez will be a developer.