Gift vs. Reputation in OSS

Some time ago I've written a short note about usage of term "gift culture" in "Homesteading the Noosphere" by Eric S. Raymond. Eric Raymond have responded here. Unfortunately, I haven't had time to properly respond until now. Today, finally, I've managed to write down some notes on the topic.

But first, let me get some stuff out of the way.

First, Raymond is correct about the terminology. Looking at Wikipedia article about gift culture it looks like the term is used for everything from Kula ring to alms giving and communism. To me it seems that having a term that broad makes it almost useless, but whatever. Just to be clear, in the remaining part of this post I am going to use the term "gift culture" strictly as if it referred to the reciprocal exchange systems of the nations of the Pacific rim.

Second, when I said we should talk about "reputation culture" I've just used the term that seemed to describe the thing. I don't think it's used in anthropology. Anyway, what I meant was the kind of thing that must have existed in the primordial open source. Number of participants was low, likely below Dunbar number. Everyone knew everyone else. It was easy to keep track of reputation of every person involved. If you released a piece of software to public you were rewarded by increased reputation in the community. The thing I've missed and that Eric Raymond have helpfully pointed out is that the this kind of reputation seeking exists even in traditional societies. In real world, it's always a mix of both mechanisms.

Third, he points out that copyleft licenses are not used to regulate in-group behaviour. Rather it's "a lever on the behavior of outsiders coming into contact with the hacker culture." While true, it seems that most important thing here is not what it says literally but what it points to: There is an in-group and there are outsiders. There's a conflict between the two which has to be regulated. That raises more questions: In a development model so loose as open source, who's the insider and who's the alien? How can we distinguish between the two? What's the true nature of the conflict? And how is it being regulated? I'll try to address that in this post.

If we start with the idea of primeval open source as a group of hackers driven solely by reputation it's clear that the model had to fail to scale at some point. With millions of contributors to open source, which is the case today, there's no way to keep track of individual reputations. Richard Stallman and Linus Torvalds may still have their individual reputation, but that's not the case for the nameless millions.

One way out would be to adopt the free market system. We would abandon our naive hippie ways and do as responsible grown ups do. We would sell software licenses and acquire software patents. The market would take care of the rest. Except that markets are mechanism for allocation of scarce resources and software, unfortunately, is not a scarce resource. You can copy it ad libitum at no cost.

Software industry has experimented with market for software for decades. They've tried to turn software into commodity. They've tried to introduce artificial scarcity. The result was a dumpster fire so bad that no decent person wants to participate in it any more. In fact, the very free software movement was born out of disgust with the market failures that we had to deal with.

So no, markets were not the answer. And with both reputation culture ruled out by the size of the community and the market system ruled out by the non-scarce nature of software the only other option to pursue was the gift economy.

Now, don't get me wrong. I am not saying that hackers have explored the anthropological literature, found out about potlatch and deliberately tried to implement it. What I am saying is that gift culture comes naturally. So naturally, in fact, that I wouldn't be at all surprised if it turned out that psychology that powers it is hard-wired into our brains. It's hard to find a society that doesn't exhibit at least some elements of gift exchange and even our own culture, which, out of all the cultures, has strayed furthest away from it is not completely devoid of sociological structures maintained and reinforced by reciprocated gifts.

What I am really saying is that when the market mindset that is so laboriously instilled into us turned out to lead to a failure of epic proportions, the natural, almost instinctive, fallback was to the gift culture.

As a big man from Papua gives away a dozen of pigs and couple of cassowaries and expects, in time, to get even more back, the programmers started to give the fruits of their labour away and, according to the logic of the gift economy, patiently waited for reciprocation.

But the nature of software defies the gift system as much as it defies the market system. Instead of two scores of pigs and four cassowaries there came questions, complaints, bug reports and requests for features. Instead of reciprocated gifts, the programmer got even more work to do. Then there came patches which looked like true gifts until one realized that although the author of the patch invested their own time to write it they were basically dumping the code over the wall and they expected the maintainer of the project to take care of it for ever after, to fix bugs in it and, generally, to deal with any problems that the patch may have introduced. To the programmer, in the end, all the users seemed to have failed to reciprocate and, in traditional terms, to have "lost their face" and became "rubbish men".

The situation doesn't look much better from the user's point of view. They've invested their own work to adopt the software, which, instinctively, feels like a gift, and the software turns out to be buggy, to miss features and, generally, to not perform as advertised. So they craft a patch, that is, they give yet one more gift, and the patch gets rejected. That's a big no-no in traditional gift culture. Rejecting a gift is a big offence and can easily lead to violence. From the user's point of view, the one who has lost their face is definitely the programmer.

In the end, we see two parties, both feeling like they were giving gifts and both feeling like the gifts were not reciprocated or even spurned. That doesn't sound like a recipe for a viable gift culture.

***

While the above is mostly uncontroversial and can be supported by dozens of blog posts written by frustrated open source community members, what follows is my speculation and may easily turn out to be completely wrong.

I think that the solution to the problem described above is, in many a project, to retreat to the primeval reputation culture. It is accomplished by treating only those that are known to cooperate well as members of the community. Everyone else is treated as a potentially hostile alien. The aliens are benevolently allowed to use the software, or maybe they are shown their place by copyleft licenses, but they are not welcome to mess with the internal dealings of the tribe. The tribe is kept small so that everyone can track everyone else's reputation and can be effectively punished if they fail to reciprocate. To become a member of the tribe it's not sufficient to submit a patch. You may be, for example, asked to undergo a rite of passage such as keeping a straight face while being savaged by Linus. Or you may be asked to prove your commitment by reworking your patch over and over without being granted any guarantee that it will be ever accepted.

As already said, I am not sure whether this "feudalization of open source" interpretation is correct but it seems to explain at least some phenomena seen in the wild.

September 12th, 2017