Is subversion free?

This iconoclastic question arises in the context of the reflexion on what is or could be an Open Source SCM. It challenges an assertion made in good conscience, and as a matter of fact. Note that the same kind of obviousness is met among e.g. the Wikipedia community for example.

I believe the licenses of subversion and Wikipedia satisfy the criteria set by Stallman and are thus not only OpenSource but even Free licenses. Both contents are maintained under free version control tools. So is this enough to make them free?

I'll pretend that the answer is negative. What are the problems? Let's focus on subversion.

The model supported (enforced) is a /main/LATEST one (ClearCase terminology —showing my bias). This is both a choice and a consequence. It comes from a culture (born from historical experiences) of fork avoidance. Forking is felt as a major threat to OpenSource projects. What makes it genuinely so dramatic could however be identified as a deficiency in the management of divergence.

True, subversion supports branches, and even to some extend recommends their use. But the support being based on copy at the grain of the directory makes their use somewhat cumbersome, so that the recommendation above is not universal, and applied in practice in a minority of projects. Note that the SVN book itself offers no way for its reader to access anything from branches (or anything else but the latest version released. Wikipedia does allow access to previous versions, but has no support whatsoever for branches).

In my opinion, the issue of freedom (and of openness) is to be considered from the point of view of the end user, and potential contributor. Her freedom is bound to her ability to contribute, and to secure her investment. It doesn't mean that this contribution should be imposed to anybody, but it ought to be given space and time to develop, and possibly gain understanding and support from others, most naturally in a gradual way, new ideas or suggestions propagating to wider and wider audiences. The tool for that is thus use recording ( auditing in the ClearCase terminology, even if there, it has been restricted in practice to build auditing).

This recording of use (the main function of a sophisticated SCM system) functions as a means of peer-to-peer communications (pull, not push, far from spamming), and as a means of natural selection: no point in investing into something nobody else uses.

-- MarcGirod - 11 Nov 2006