Is open-source development a more efficient system of software production than the closed-source system? I think the answer is probably “yes”, and that it follows the GNU GPL is probably doing us more harm than good.
I mean “efficiency” here in the precise sense economists use it. Of two systems of production, the more efficient is the one which produces more units of output for a given input of factors of production. Now, let’s divide up all possible worlds according to whether the answer to our question is “yes” or “no”.
In all worlds, markets seek efficiency, because investors are constantly seeking the best return on capital. This guarantees the most efficient system will win, eventually. The flip side of this is that markets will punish those who adopt the less efficient mode. They’ll be outcompeted. Capital will flow away from them.
If we live in “Type A” a universe where closed source is more efficient, markets will eventually punish people who take closed source code open. Markets will correspondingly reward people who take open source closed. In this kind of universe, open source is doomed; the GPL will be subverted or routed around by efficiency-seeking investors as surely as water flows downhill.
If we live in a “Type B” universe where open source is more efficient, markets will eventually punish people who take open source code closed. Markets will correspondingly reward people who take closed source open. In such a universe closed source is its own punishment; open source will capture ever-larger swathes of industry as investors chase efficiency gains.
In a Type A universe, reciprocal licensing is futile. In a Type B universe, reciprocal licensing is unnecessary. In neither universe can the GPL’s attempts to punish what we regard as misbehavior have more than short-term, temporary effects. At most it can speed or slow movement on the efficiency gradient, not reverse it.
For the GPL to actually determine the mode of software production, we would have to live in a universe where the difference in efficiency between open and closed-source development is so vanishingly close to zero that over typical project lifetimes it is less than the cost of an enforcement lawsuit. This seems as wildly unlikely as flipping a coin and having it land standing on an edge.
I think we live in a type B universe – that is, one in which the GPL is unnecessary rather than futile. Mind you, I am not claiming the GPL is entirely useless. It’s a signaling behavior, like wearing a crucifix or yarmulke or pentagram – it helps build trust groups. But it has costs, too — it creates a lot of needless fear from potential allies and users who suspect they won’t be able to control their exposure if they let it in.
This fear is only exacerbated when we actually sue to enforce it. It’s obvious to pretty much everyone in the open-source community that the RIAA is slitting its own throat by suing music downloaders, alienating future customers wholesale. It’s not obvious why the Software Freedom Law Center’s current lawsuit against Cisco is any smarter – we stand to lose not only Cisco as an ally, but any corporation that estimates (rightly or wrongly) that their own potential exposure to an SFLC lawsuit might be greater than their potential efficiency gains from open-sourcing.
So the correct question to ask is this: Is the GPL’s utility as a form of in-group signaling worth the degree to which fear and uncertainty about it slows down open-source adoption? Increasingly I think the answer is “no”.
The GPL may be a community-building signalling device, but it is also a confession of fear and weakness. To believe that it matters, you have to believe that you live in a Type A universe where closed-source development is such an attractive proposition that you have to punish people for trying to move to it.
So maybe an even more fundamental question to ask is this: Does the open-source community believe in itself, genuinely believe it has a more efficient system of production? And if it does, does it make sense to choose a license that implies the opposite?