Software Wealth and Value
Version 2.1, by David Williams-King, February 2013.
While browsing the Internet, have you ever stumbled across a site with a message like this? "You must sign in to read answers past the first one."1 Why would the site require you to sign in? Believe it or not, the answer is money. They get more money when they have more users.
This may seem a strange state of affairs. And it is. But in fact, finding a way to monetize software is challenging. The traditional method is simple: write the code, then sell software licenses. Since you're essentially reselling the same work repeatedly at no additional cost, with enough customers you will recoup the software development cost. However, this model does not work very well in the modern Internet. People don't like to pay for their services, and any company that charges a fee will have a reduced userbase. Most services tend to be offered for free, and profit is made in other ways.
Paying with privacy
A lot of web-based companies today don't make much profit from software licenses. For example, Google is actually an advertising company, making 96% of their revenue from ads23. Facebook is moving in the same direction4. These companies are very interested in gathering and analyzing users' personal information, because this allows them to show more targeted ads (with presumably a higher chance of being clicked on). Whenever you use a "free" service on the Internet, you're almost certainly paying through loss of control over your personal information. The site doesn't want your money because they know that their userbase would be greatly reduced if they charged a fee for their service. They want your information, which they can sell (directly or indirectly) to other companies for advertisements.
This is not necessarily a bad thing. You pay with your privacy, but you are getting value out of the service (or else you wouldn't be using it). If the value you're getting outweighs the drawbacks, it's a compromise in your favour. But many of us aren't used to thinking about privacy as something we can sacrifice, something that has value to others. Not so long ago everyone was telling their kids not to give out their real name online; to beware of stalkers; to be careful how much you say. Somewhere between then and now, Twitter and Facebook and all the rest convinced us that having your name, relationship status, and all your current activities publicly visible was a good idea. And there's nothing wrong with doing that as long as you're aware that the service isn't "free", exactly; you're giving something up. In the virtual world, companies are making wealth out of your information.
(Or they're getting wealth from you directly, by offering a paid premium service that hides the ads they were originally using to make money off of you.)
As an example of a privacy tradeoff, consider this excerpt from the terms of service for Imgur, a free image hosting site:
"With regard to any file or content you upload to the public portions of our site, you grant Imgur a non-exclusive, royalty- free, perpetual, irrevocable worldwide license (with sublicense and assignment rights) to use, to display online and in any present or future media, to create derivative works of, to allow downloads of, and/or distribute any such file or content." -- Imgur Terms of Service5
So images you put on Imgur can be stored and modified and displayed by the company for almost any purpose. Clearly they are hoping to make money from this at some point (after all, their service is free, but they need to make money somehow). Another image service called Instagram proposed an even franker policy, explicitly allowing the site to use your images in advertisements and make money from them, with no compensation to you6.
There are different kinds of sites, such as deviantART7, which allow users to keep control of their images (and delete them!). But such sites have to make revenue in other ways. In deviantART's case much of their profit seems to come from selling prints of the artwork on the website. This is a common theme: free online services are either making money with your personal information, or through non-software means.
Open source software
If software companies making money by showing more customized ads seems nebulous enough, consider another very different model of development: open-source software8. Open source developers intentionally make their programs' source code available for free, so that it can be copied and redistributed and modified by anyone. There are some very successful open source projects, including Linux (an entire operating system like Windows), Firefox, Open Office, Apache (the web server that runs the majority9 of the Internet), etc. Many are developed in a decentralized, open "bazaar" style (first described by Eric S. Raymond10) where anyone can follow and contribute to the development process. Programmers almost always contribute their time for various reasons -- experience, reputation-building, itch-scratching -- but without monetary gain. The first words of Raymond's book are:
"Linux is subversive. Who would have thought [...] that a world-class operating system could coalesce as if by magic out of part-time hacking by several thousand developers scattered all over the planet, connected only by the tenuous strands of the Internet?"
Who indeed? And yet it happened, and continues to happen. Clearly open-source developers are getting their own kind of value out of participating in these projects. Satisfaction, experience, but mostly the great utility of having a working open-source program at the end of the day. After everyone contributes some work, everyone gets to make use of the result -- which is a good return on investment but hard to quantify. Every time a user submits a patch (code change) the value of the project increases. There are no monetary transactions. In fact, it's likely none of the development would happen at all if people had to pay for it (people would be reluctant to submit patches that make money for other people).
The open-source model works because copying software is so easy. One person's changes can propagate to every other developer of the software in a matter of moments. But while open-source software is a successful phenomenon, developers still need to make money to survive in the real world. There have been attempts to monetize open source software, usually by providing support that customers can buy: when they have questions or issues they can call the company (say, Red Hat) and get expert help. But this monetization cannot support everyone involved in open source projects, so most of the time, the value inherent in the software never gets converted to money. Most developers have a more traditional "day job" at a software company. Open source development alone cannot support them.
Copy protection and ebooks
There is a basic problem with trying to charge money for software on a per-install basis: it's very easy to copy software. Nearly all software that is sold has some kind of license key or mechanism to prevent casual copying, but once someone has found a way around this they can tell the whole Internet. By copyright law such subversion is illegal, of course. But perhaps the protection shouldn't be created in the first place. The argument is that by pirating software one deprives the company of some revenue, but this is really an artifact of the way software is currently sold (licensed after creation per install). Maybe there is a better way.
Let's focus on ebooks as a particular example. (Similar issues apply to games and operating systems and other software.) Most ebooks are sold with so-called DRM (digital rights management) which restricts which devices the ebook can be read on and prevents copying. Software to put ebooks on e-readers only runs on some operating systems and only works for some formats, which can provide a lot of barriers to legitimate customers11.
There's more. Ebooks supplied by libraries have DRM with a built-in time limit (say two weeks), after which the ebook can no longer be read. The library keeps track of -- and restricts! -- how many people can be reading the book at once, using the time limit to enforce book returns after two weeks. They have to do this because publishers make money by selling a fixed number of ebook licenses to libraries. This model comes from physical books, which of course have a limited number of physical copies. But for ebooks, once an ebook expires it's still sitting on your device, perfectly fine except that the software refuses to display it.
Why? It would not necessarily hurt anyone if you were allowed to continue reading the book. Unlike in the real world, a virtual copy can have completely positive utility, with no negative effects. The fact that you cannot read the book is purely because of the way the publisher's business model works. A limitation of the physical world is being imposed on a virtual copy. It's quite ridiculous, and not particularly effective. Setting the e-reader's clock back (which happened to me once accidentally in an eight-hour timezone change) will likely make the ebook readable again.
We as a society haven't figured out how to place value on electronic copies. We always pretend they are physical objects with a single point of existence. But they aren't.
Virtual vs physical objects
Virtual objects are not physical objects. The important difference is that electronic objects can be copied for negligible cost, and provide a potential increase in world happiness. So why shouldn't they be? Yet the creator of the original software (or music, or movie, or ebook) needs to be compensated in some way for their work, or else no one will create these things. Balancing these two goals is proving quite difficult.
At one end of the scale are companies involved in distributing ebooks, movies, and other digital content, and any companies that sell software on a per-license basis. They are so focused on making sure authors (and publishers) get compensated that they make the media difficult and restrictive to access. This reduces the number of people who actually use the products.
Contrast this with the views of Richard Stallman, a proponent of free software. He believes that all software should be available free of charge as a matter of course12. His basic argument is that if software has been written, restricting the people who can use it (by charging for it) can have negative effects, while allowing those same people to use it for free does no harm. Charging for software is a zero-sum game but letting people just copy it has strictly positive benefits to the users.
"My problem isn't piracy, it's obscurity." -- Cory Doctorow13, who releases his ebooks for free
Stallman's discussion makes sense but it does not fully address the practical issue of how software developers should be paid for their work. The main suggestion is to sell services related to software, essentially like selling physical books, something auxiliary to the actual software. A good idea when it works, but not easy to do for a lot of software. If software, once created, should be free, then there needs to be a way to pay them in advance; or else users need to be convinced to pay for software without restricting their freedoms (e.g. through donations).
How, then, can money be made off of software, without negatively impacting users or invading their privacy? (Since, at least for now, money is required to live in the real world.)
Making money off of software
The traditional method of making money from software is to sell software licenses. Some drawbacks of this have been mentioned already: lack of adoption, technical infeasibility. It also requires a company to create the whole program before they can start making any money. And strangely enough it allows one to make essentially unlimited profits, selling the same code over and over without any per-copy costs. A few companies end up with all the money, and it creates online markets that don't make any sense (like people having to pay a lot for very common software). Since users only have a certain amount of money to spend, they'll spend it on common established software and won't experiment as much with buying other software. So computers as a tool end up being less useful.
A different method of monetizing software is implemented by the successful website Kickstarter14. The idea here is that entrepreneurs propose a product, and say they need some target amount of funds to create it. Interested users can pledge money, and then if (and only if) enough people pledge money to reach the funding goal, the entrepreneur receives the money and goes off to create the product. Backers will normally receive a copy of the product once it is finished. If not enough people pledge money then the money is never actually transferred (backers are no worse off) and presumably the product never gets made.
This is a good idea because it recognizes that the main cost for software is in developing the product, and that once it has been created it is technically quite feasible to distribute it for free. Some Kickstarter projects release their code under Open Source licenses once they are finished15; this ensures that the software developer has money during the development of the project, and yet everyone can use the software for free once it exists. Still, some software is created organically or in a bazaar-style environment; how can developers of software such as this receive payment, after or as it is created? (Other than simply requesting donations.)
I would like to propose an alternative model of paying for software, which as far as I know no-one has implemented yet. Let's call it the Market Price model. The basic idea is that you (as a user) pay for the software, which has a constantly dropping price that decreases after each purchase. However, as people buy the software, some of your payment is refunded, so that at any given point, everyone has paid the exact same "market price" for the software.
In this model the author can get a continuously increasing amount of money, everyone pays an equal (low) amount for common software, and the whole system approaches an economically sensible situation (where something in very high demand has a low price). The original author can set a total amount of money they want to get, after which the software would be free. It avoids the problem of selling the same software over and over making essentially unlimited profits. The developer does get less money, but at the same time people may be more willing to buy the software knowing they may get some money back. The same idea could be applied to donations so that each donor pays a fair share.
Traditionally software is licensed so that customers pay for each copy of the software. This results in copy-protected programs which limits the use of the software compared with more open schemes. More recently, many companies are making their money by leveraging user information, often in the form of targeted ads. This too has a downside of intruding on the privacy of users and utilizing their information in ways that might make us uncomfortable. And open-source software is a great idea but cannot financially support most of its developers.
The truth is, no one has really figured out a good way to make money off of software yet, or how to measure software value. But maybe we'll figure out better ways to do so in the future, with techniques like pre-purchasing software Kickstarter-style, and Market-Price donation systems. Some system that follows the law of supply and demand, rather than giving software companies an essentially unlimited supply of wealth (and restricting the users who could benefit from using the software).
96 percent of Google's revenue is advertising, who buys it? http://venturebeat.com/2012/01/29/google-advertising/ ↩
How Does Facebook Make Money -- The answer is simple. http://www.empowernetwork.com/empowermlm/blog/how-does-facebook-make-money-the-answer-is-simple/ ↩
What Instagram's New Terms of Service Mean for You. http://bits.blogs.nytimes.com/2012/12/17/what-instagrams-new-terms-of-service-mean-for-you/ ↩
Usage Statistics and Market Share of Apache for Websites, February 2013. http://w3techs.com/technologies/details/ws-apache/all/all ↩
The Cathedral and the Bazaar. http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ ↩
The music industry dropped DRM years ago. So why does it persist on e-books? http://arstechnica.com/business/2012/12/the-music-industry-dropped-drm-years-ago-so-why-does-it-persist-on-e-books/ ↩
Why free ebooks should be part of the plot for writers. http://www.guardian.co.uk/technology/2009/aug/18/free-ebooks-cory-doctorow ↩
Kickstarter for Open Source Projects? http://www.linuxjournal.com/content/kickstarter-open-source-projects ↩