A new article in IEEE Computer, “The Economic Motivation of Open Source Software: Stakeholder Perspectives,” sheds some interesting new light on an old question: Is open source software development good or bad for programmers?
Much has been written about what motivates software writers to contribute to open source. The motivations are, as you might expect, diverse, ranging from an ideological belief in free software to a desire to impress one’s peers to a desire to bolster one’s skills, reputation, and career prospects to receiving pay from a company in the open source business to having fun. As open source has become more popular, the motivation to participate has, naturally, become stronger. But knowing that an individual coder has rational incentives to contribute to open source development doesn’t tell you whether or not open source improves the economic standing of programmers in general. It doesn’t tell you whether the programming profession ends up with more or less money.
The author of the IEEE Computer article, Dirk Riehle, a researcher with SAP, doesn’t look at that question directly. Rather, he examines, in a theoretical way, how open source changes the economics of the IT markets in which programmers participate. He first looks at why big systems integrators and other “solutions” providers, like IBM, have been promoting open source. He argues that these companies, which sell bundles of products and services to their clients, like open source because it allows them to reduce the amount of money they have to pay to software vendors without requiring that they pass along the savings to customers in the form of lower prices. In other words, the software savings turn into additional services profits, which fall to the solutions providers’ bottom lines. Ultimately, that means that open-source software developers are subsidizing the big solution providers at their own expense. Writes Riehle: “If it were up to the system integrators, all software would be free (unless they had a major stake in a particular component). Then, all software license revenue would become services revenue.” (I would think it’s an overstatement to say that all software license revenue turns into services revenue; assuming there’s competition between solutions providers, some of the savings would go to the customers.)
Riehle also looks at the economic effect of open source on software markets themselves. He argues that, by tearing down the barriers to entry in software markets (by obviating the huge up-front investments required to create a proprietary program), open source spurs competition, which in turn reduces prices and erodes the profits of software vendors. Riehle writes: “Customers love this situation because prices are substantially lower than in the closed source situation. System integrators love the situation even more because they can squeeze out proprietary closed source software.” For the programmers themselves, however, much of the savings reaped by customers and added profits taken in by integrators comes out of their own pockets.
Riehle also notes that open source (because of its openness) tends to diffuse knowledge of particular programs among a much broader set of programmers. That will tend to increase competition among the programmers and hence depress their pay: “Technical skills around the open source product are a key part of determining an employee’s value to a [vendor]. Anyone who’s smart enough can develop these skills because the open source software is available to people outside the firm. Hiring and firing becomes easier because there’s a larger labor pool to draw from, and switching costs between employees are lower compared with the closed source situation. Given the natural imbalance between employers and employees, this aspect of open source is likely to increase competition for jobs and drive down salaries.”
If Riehle’s analysis is correct – and while his thinking is logical, he offers no hard proof of the economic effects he describes – then what we’re seeing playing out among coders is what I’ll term the Programmer’s Dilemma. Because skills in open source programming are increasingly necessary to enhance the potential career prospects of individual programmers, individual programmers have strong motivations to join in – and as more programmers join in, the incentive for each individual programmer to participate becomes ever stronger. At the same time, the total amount of money that goes to programmers falls as open source is adopted by more companies. Individual programmers, in other words, have selfish motives to engage in collectively destructive behavior.