In a recent blog entry, Jeff Atwood discussed the subject of software piracy, bringing up the example of a succesfull indie game called World of Goo, whose estimated piracy rate is about 82% (initially reported as 90%).
Perhaps in an effort to appeal to the ethical side of his readers, Jeff underlines how “this is not a game that deserves to be pirated”, how it’s developed by a team of two indie developers “not another commercial product extruded from the bowels of some faceless Activision-EA corporate game franchise sweatshophow”, and how its low price point makes it affordable (it’s currently on sale for $15).
I understand the psychological reasons behind those arguments, but I don’t feel that their implications are acceptable. No software deserves to be pirated, whether it costs 15 bucks or 3 million dollars, if it’s developed by a single programmer who’ll end up bankrupt or by a huge corporation like Microsoft. Piracy is unlawful, independently from the cost or creator of the object at hand. It is not theft, but it’s still wrong and a violation of a licensing agreement.
Piracy is rampant and the 82 or 90% figure is not far-fetched, I’m sure. The software industry is in fact in a similar position as the music industry. And Jeff gets two important points right. First, there is no point in punishing your legitimate customers with DRM and other inconveniences. It’s OK to “keep honest people honest”, but going out of your way to prevent piracy can do more harm than good, as EA learned through their Spore experience. In December, EA finally released a DRM-free version of Spore on Steam which is considered by many to be an acceptable method for delivering games. According to many people it offers a decent balance between software protection and the level of annoyance for users. Second, it is absurd to assume that the 90% of non-paying users of your software would have bought it if they couldn’t get a hold of a pirated copy. The BSA and RIAA’s astronomical claims in this regard are utter bullshit, which conveninetly ignores both simple economics and reality.
Jeff’s post then goes on to argue that the best anti-piracy strategy is to build a great product and charge a fair price for it. World of Goo itself proves that those two points do not constitute a reliable strategy when it comes to reducing piracy. That game is truly a great product (I don’t like games and even I enjoyed the demo) and it sells for what is arguably a very reasonable price. What’s true though, is that the secret of being successful in the business of software is to create programs that people want, and to price them accordingly so that the legitimate “10% crowd” will be open to buying them. It’s not the best anti-piracy strategy in the sense that independently from the quality and price, people will still pirate your software anyway. It is however the best business strategy, since it’s an appealing offer to your pool of potential buyers.
In addition to that, a third point that actually reduces piracy is offering additional value to genuine users. You could for example reward your customers by providing them with physical goods (e.g. a manual, stickers, posters, etc…), access to an online support community and/or allowing them access to additional sever side services which are not available to illegitimate users.
I think that the lesson here is the same one that can be applied to the music world. Focus on quality, price in a manner that is appealing to your audience, take same basic technical counter measures to keep people honest, and then just ignore piracy. You cannot protect your software, no matter what you do. It’s annoying, but piracy is not going away, so any effort put towards penalizing your paying customers in a futile attempt to combat it, will only hurt your business.
It is also true that other business models exist, even though they are not always applicable to every type of program. For example, Software as a Service (SaaS) takes care of piracy by providing sofware server-side, once users have been charged a fee. This also has the added benefit of enabling a recurring billing cycle that would have been far less welcomed by consumers and small businesses, were it to be applied to a standard shrinkwrapped piece of software. But I don’t feel that piracy is a strong enough argumentation for killing off desktop application development, whenever a desktop app is better suited than a web one for a given job.
Amongst other alternative business models that kill piracy, there are open source ones. The open source world can claim to have accomplished many great things software wise, but it seldom provides viable ways of earning money directly from software. In a rebuttal to Jeff’s post, Dare Obasanjo (a Microsoft Evangelist) provides three open source business models and shows how they rarely fit the reality of B2C shrinkwrapped software. Quoting from his post, these points are:
Selling support, consulting and related services for the “free” software (aka the professional open source business model ) – Red Hat
Dual license the code and then sell traditional software licenses to enterprise customers who are scared of the GPL – MySQL AB
Build a proprietary Web application powered by Open Source software – Google
There may be variations, but those are the main ones. Some people may raise objections against the second point. Why would companies be scared of the GPL? Working for IBM, I’ve experienced a bit of the enteprise world, and let me tell you that Dare is absolutely right. Many companies in the enteprise space are scared by open source software, particularly those programs released under the GPL license (due to its possible viral implications), and wouldn’t touch them with a ten foot pole. I have seen companies spend thousands of dollars on products that were available for free under the GPL license, mainly due to the legal implications of using GPL software.
You’ll notice how none of these models are really applicable to B2C desktop applications. So, as far as desktop applications are concerned, the traditional “Word of Goo approach” is the right way to go.
Moving away from the problem of software piracy, the inadequacy of the main open source model when it comes to the world of shrinkwrapped software brings us to two points that I feel are worth bringing up. Let me prefix this by saying that I believe in the value of open source, but I do see fundamental flaws in the business models surrounding it. The first is that it’s the developer’s right to charge for software they produce. Freedom 2 of Richard Stallman’s free software philosophy (“The freedom to redistribute copies so you can help your neighbor”) works against developers’ best interests. People should be paid for the fruits of their labor, whether copying it is almost free (like in the case of digital content) or not. And this is true for software, songs, videos or any digitally transmissible content.
It’s nice that people decided to volunteer their time to build an empire of free software that’s openly available to everyone. It’s a huge accomplishment that derives from the GNU philosophy, but it should be viewed as the same thing as when lawyers do pro bono work. We shouldn’t expect developers (or lawyers, or architects, or similar professionals) to stop charging for the product of their work. Again, I think it’s great that developers help each other with free tools and libraries for developing programs, but there is no reason why people should be ashamed to sell their programs commercially to businesses and consumers, and make a living off of them.
In fact, selling software, whether desktop, mobile or web based, is a great way of earning money. The proliferation of startups is a testament to many people’s desire to combine their love of the software craft with the possibility of acquiring wealth. “But Antonio, developers can make money by selling support and related services” I hear you say. And this brings us to a second flaw of FOSS. Instead of being paid for writing the best software you can, you get paid for providing technical support to the few people who buy it or the occasional ad-hoc customization. Where is the incentive to provide good documentation and easy to use quality software, when your livehood depends on your customers needing help from you? As a developer, would you rather spend your time building great software or act as a customer service representative? Consulting or providing technical support doesn’t scale nearly as much as software sales do. You can sell 10,000 copies of your application without lifting a finger, but you can’t scale to 10,000 people paying for technical support that easily. Both approaches can bring in similar revenues, but while the first requires an indie developer, the second requires a full blown company with many, many technical agents.
Open source models are fine, when they actually make business sense, but programmers should not be afraid to charge for their software. Trying to avoid piracy by switching to an inferiror business model that gives software away for free is foolish. Accept piracy as a necessary evil, and focus your attention on coding and promoting your commercial applications.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
Antonio Cangiano is a Software Developer and AI Evangelist at IBM. He authored Ruby on Rails for Microsoft Developers (Wrox, 2009) and Technical Blogging ( The Pragmatic Bookshelf, 2012, 2019). He is also the Marketing Lead for Cognitive Class, an educational initiative which he helped grow from zero to over 1 Million students. You can follow him on Twitter.