The GPL As Collective Action

Programmers, like many groups of subject experts, are widely afflicted by the belief that all other fields of expertise can be reduced to a special case of programming expertise. For a great example of this, watch programmers argue about law (which can obviously be reduced to a rules system, which is a programming problem), consent (which is obviously about non-repudiatable proofs, which are a programming problem), or art (which is obviously reducible to simple but large automata). One key symptom of this social pattern is a disregard for outside expertise and outside bodies of knowledge.

I believe this habit may have bitten Stallman.

The GNU Public License presents a simple, legally enforceable offer: in return for granting the right to distribute the licensed work and its derivatives, the GPL demands that derivative works also be released under the GPL. The intent, as derived from Stallman’s commentaries on the GPL and on the social systems around software, is that people who use information systems should, morally and legally, be entitled to the tools to understand what the system will do and why, and to make changes to those tools as they see fit.

This is a form of collective action, as implemented by someone who thinks of unions and organized labour as something that software could do better. The usual lens for critique of the GPL is that GPL’d software cannot be used in non-GPL systems (which is increasingly true, as the Free Software Foundation catches up with the “as a Service” model of software deliver) by developers, but I think there’s a more interesting angle on it as an attempt to apply the collective bargaining power of programmers as a class to extracting a concession from managerial -- business and government -- interests, instead. In that reading, the GPL demands that managerial interests in software avoid behaviours that would be bad for programmers (framed as “users”, as above) as a condition of benefitting from the labour of those programmers.

Sadly, Stallman is not a labour historian or a union organizer. He’s a public speaker and a programmer. By attempting to reinvent collective action from first principles, and by treating collective action as a special case of software development, the GPL acts to divide programmers from non-programming computer users, and to weaken the collective position of programmers vis-à-vis managerial interests. The rise of “merit”-based open source licenses, such as the MIT license (which I use heavily, but advisedly), and the increasing pervasiveness of the Github Resume, are both simple consequences of this mistake.

I’m pro-organized-labour, and largely pro-union. The only thing worse than having two competing powerful interests in the room is having only one powerful interest in the room. The GPL should be part of any historical case study for the unionization of programmers, since it captures so much of what we do wrong.