Features

net.wars: A fork in the code

The open-source community has always been conscious of the dangers of forking: the splitting of the software codebase into multiple versions that make the software too confusing to use. The result is that although there are multiple flavours of GNU/Linux they are all compatible. People have been very careful about the codebase.

The problem now, as so often, is lawyers. While everyone has agreed on the importance of shared programming code, there has been less agreement on the importance of shared licences that dictate how people may use the codebase. If you choose free or open source software because you want to be able to modify, reuse, and redistribute the code, you may spend more time studying the licensing terms than you do the software. The Open Source Initiative lists 58 approved licences.

The trouble is that many licences require new work using old code to be distributed under the same license the old code used; when you mix code, you also mix licences. This provision was Richard Stallman's key insight when he created the General Public License, the father of all these licences: he wanted to ensure that software written as free software would remain forever free. This recursive requirement brilliant, and Stallman undoubtedly deserved his http://www.macarthur.org MacArthur Foundation Genius Award. But dozens of imitators later, it's like computer hardware in the 1970s – dozens of incompatible designs.

Aware of this, the Open Source Initiative has set up a licence proliferation committee to try to streamline things.

"About 30 are kind of hard-coded with the name of the licensor such as Apple or IBM," says Cliff Schmidt, legal affairs officer for the Apache Foundation and a member of the licence proliferation committee. "You could edit them, but if the point of OSI is to have licences you can reuse, that's a quick way to get rid of a bunch and say they're not really useful as they stand because they can't be reused."

If you move away from software, you find that Creative Commons is beginning to wrestle with the same problem. People talk about "a Creative Commons licence" and imply that means their work can be remixed, reused, and redistributed, but the actual licence terms vary quite a bit and people don't always notice.

That confusion is the reason Stallman has given recently for refusing to support any of the Creative Commons licences. "I no longer endorse Creative Commons," he said in an interview with LinuxP2P a couple of weeks ago, going on to explain that the terms of some Creative Commons licences, such as some of its Sampling licences are "unacceptable to use for any kind of work". Debian's legal members, too, last year analyzed some of the Creative Commons licences and have recommended against using some of them for varying reasons. A particular stumbling block for free/open source software advocates is the option of prohibiting commercial reuse and distribution – and there, I suspect, is a key difference between the content industries and the software industry.

The content industries have long been a war between individual artists/creators and large publishers/distributors. Until recently, it was rare for artists or creators to have access to the means of distribution. But software has grown up in a world where copies were easily exchanged, in an industry new enough that huge companies can be built by two people starting in a garage. Most content creators create whole works (outside of the movies, which are fundamentally collaborative). Most software is written collaboratively. Content creators are usually self-employed, most live near the edge of solvency, and they have learned from an industry with a long history of treating people like them badly to be wary that everyone but them will profit from their work. Even something like the Free Art Licence recognises this danger.

Programmers, on the other hand, usually have jobs, and their work in open source may pay for itself in increased visibility, respect from their peers, and even higher salaries. That fundamental difference in outlook is, I think, one reason why documentation in the free/open source movement tends to be so poor: few writers can afford to work for free, and when they do they want to do something that isn't the same as everything else they do that day.

It seems clear that the number of licences will be streamlined. But the fundamental political differences are not going to go away, as the inclusion of the express bar on DRM (which Stallman refers to as "Digital Restrictions Management") in GPL version 3 makes plain. In the end, we are likely to wind up with three main branches of free/open source licences: the purist branch which bars all restrictions on reuse, digital or otherwise; the commercial branch, which allows some restrictions but does not distinguish between commercial and non-commercial reuse; and the non-commercial branch, which allows some or no restrictions for non-commercial reuse but retains control over commercial reuse. I do not see any way that these three fundamental disagreements can ever be resolved into a single free licence codebase.