Mark Stone
The success of Open Source software is one of the great stories in the technology industry in recent years. Yet while that success is accepted today – Apache runs most public web servers, Sendmail runs must public mail servers, Linux is the fastest growing non-Microsoft operating system and has the full support of technology giants like IBM and HP – that success is also not well understood.
The common perception is that the development of Open Source software is accomplished by a globally distributed legion of programmers, working in a hive-like fashion, volunteering their time to projects without compensation. We often hear that “many eyes make all bugs shallow”, or that “the Open Source community is a gift economy.” Yet these simple views conflict with some basic principles:
Productivity in software development does not scale well beyond a handful of programmers (this is the lesson of “Brooks' Law” in The Mythical Man-Month);
Human beings seldom act for any sustained period of time against their long term self interest.
To understand why Open Source is so successful, we need to look at several questions:
How do Open Source programmers organize themselves?
Why do highly talented programmers participate in Open Source projects?
What motivates programmers in general to participate in Open Source projects?
To answer these questions, we'll start with the issue of motivation. Open Source appears caught in a paradox: to gain acceptance and exposure, one must engage in an act of charity -- giving away intellectual property. Having gained acceptance, though, one must then make money off that acceptance, and the act of charity limits one's ability to do so. In fact, this view of the world is fundamentally flawed. The apparent paradox rests on the assumption that acts of charity necessarily conflict with acts of self-interest. From the point of view of a modern market economy, it often appears that charity and self-interest do conflict. What drives the Open Source programmer, however, is clearly self-interest, even if it is based on an older notion of self-interest not easily captured by modern market economics.
"The society of open-source hackers is in fact a gift culture. Within it, there is no serious shortage of the `survival necessities' -- disk space, network bandwidth, computing power. Software is freely shared. This abundance creates a situation in which the only available measure of competitive success is reputation among one's peers."
These are the words of Eric Raymond in “Homesteading the Noosphere”. Clearly this dynamic is an important part of the Open Source community. Just as clearly Eric is right that the plentifulness of resources -- cheap computers, cheap bandwidth, cheap disk space -- help create an environment in which such a gift culture can thrive, and help explain why the rise in Open Source activity occurs hand in hand with the rise in popularity of the Internet. Seen in this light, Raymond suggests that we can frame this gift culture in the context of familiar gift traditions:
"Gift cultures are adaptations not to scarcity but to abundance. They arise in populations that do not have significant material-scarcity problems with survival goods. We can observe gift cultures in action among aboriginal cultures living in ecozones with mild climates and abundant food. We can also observe them in certain strata of our own society, especially in show business and among the very wealthy."
These examples, however, differ strikingly from the Open Source example. What the wealthy and the aboriginal have in common is an abundance of survival goods for the people themselves. What the Internet era has delivered to Open Source and other high tech communities is an abundance of systems resources.
A computer, however, is not a survival resource. Cheap bandwidth is not a survival resource. These tools can certainly be used to earn resources for survival, but that begs the very question we are asking: why would a programmer engage in an activity that seems to run the risk of limiting the value of these resources as a means for survival?
For the Open Source community, Eric has failed to provide this second level of explanation. Yes, the observable behavior of the community is that of a gift economy: but why is it free to pursue this model? One possible explanation is that the reputation earned from a gift economy's reputation game is a valuable asset that can be parlayed into survival resources. Raymond is dismissive, however, of this spillover effect as having much relevance:
"This kind of side effect, however, is at best rare and marginal for most hackers; far too much so to make it convincing as a sole explanation...."
Suppose, though, we take this more seriously for a moment. While Linus Torvalds or Paul Vixie may not have the personal wealth of, say, Marc Andreessen, neither will ever lack for gainful employment. They have sufficient reputation based on their Open Source accomplishments to always be able to earn a living from programming.
Consider another fact: the largest age group among Open Source hackers is college students and graduate students: those under 25 for whom gainful employment is not an immediate issue, but one that certainly looms in their thoughts and plans. Because they are students, we can assume that they have the immediate survival resources needed for one to become a student in the first place. However, we can also assume that those survival resources are finite. Securing future survival resources is very much part of the agenda of a student, indeed one of the main reasons for becoming a student in the first place. While a degree may provide a measure of that future security, a degree is not the exclusive means to that end: reputation as a creator of good code may provide that future security as well or better than a degree.
We have to be careful not to directly equate money or income with survival resources. Suppose, for example, that a young Linus Torvalds had, in 1991, been offered a position as a full time programmer with a starting salary of $100,000 per year: an attractive sum for a talented, but as yet unproven programmer. This job, though, would have prevented him from working on Linux. What has it cost him to work on Linux instead? Conventional thinking would say that he has forgone the difference between a graduate student's stipend and a programmer's salary for the duration of the time he stayed at the University of Helsinki, a sum of several hundred thousand.
Conventional thinking would be wrong. By working on Linux instead, Linus Torvalds has achieved a reputation that gives him effectively lifetime job security, and a reputation that enables him to dictate to prospective employers that he have the freedom to continue working on Linux. Surely this reputation has done more to provide him with survival resources than whatever monetary sum he may have forgone for a few years. Seen in this light, his choices become pragmatic and self-interested rather than sacrificing and selfless. Our fallacy, is in assuming there is a difference between the two.
Once this separation is made between money and survival resources, we can see that there are historical precedents for this kind of behavior, and that there is a social model that loosely fits that of Open Source hacker culture.
In Western Civilization we must look to Medieval Europe, when nomadic groups like the Franks and the Vikings had settled into the agrarian based feudal system. The mature feudal system of the 13th and 14th centuries has some interesting and instructive social structures; we'll focus on the concept of chivalry.
The good knight adhered to a code of behavior that transcended the laws of any particular kingdom, and encouraged an attitude with some similarities to the attitude of today's hacker: a knight should be humble, should regard himself at the service of others, yet he would be judged by his prowess at his trade, and would succeed to the extent that he could spread the reputation of his prowess.
Behind shield and visor, and upon adopting a particular set of heraldic emblems, a knight took on a kind of persona, creating a public identity that might be quite different from his private identity. There were regular events for testing and publicizing one's prowess at arms, such as the tournament or the hunt. There were orders of knighthood -- again, often transcending the boundaries of kingdoms -- that would certify one's prowess. To belong to such an order was an honor; to be of sufficient repute to be able to found an order, and have other knights flock to it, was perhaps the greatest measure of success in the chivalric reputation game.
Yet applying a simple market analysis to this social structure yields only contradictions. To be a knight was to be part of the nobility, the upper level of social strata in medieval society. A knight ranked above merchant, yeoman farmer, or peasant. Yet knighthood was a terrible burden financially, and few managed to have anything in the way of monetary resources to show for it. A suit of armor cost, relative to the medieval standard of living, the equivalent of a brand new Mercedes today. Horses were expensive, and a knight was expected to have several: typically two riding horses, or palfreys, and a charger, or destrier, to be ridden only in battle and at tournaments. In addition, a knight had to maintain an entourage of squires, pages, and men-at-arms. He also owed 40 days service to his feudal lord each campaign season, 40 days that could often drag into several months. A landed knight with a small manor could easily spend any excess capital just to maintain his position; a landless knight, or knight errant, would likely live in perpetual debt.
This dire financial balancing act stands in stark contrast to the merchant class of the late Middle Ages. A typical member of the dyer's guild in a busy trading town like Bruges, for example, would probably own a house in town equal in size to a typical medieval manor house, and have excess capital besides.
What motivation, then, would a young man in the Middle Ages have to aspire to knighthood? Did one live accordingly to the code of chivalry out of pure selflessness, and a desire to serve others? The challenge is not to answer these questions, but to realize that the questions themselves make no more sense than they do in the context of the Open Source hacker. These questions rest on two faulty assumptions: (1) that monetary resources must be equated with survival resources; (2) that selflessness and pragmatism are mutually exclusive.
To a knight of repute, money was not really important. His lord, or anyone else interested in retaining his services, would see that his needs were met, that he had survival resources. To flourish, a skilled squire aspiring to knighthood need only hone his skills, and act to establish and further his reputation. This attitude and this kind of behavior seems quite similar to that of the young student who is an aspiring hacker.
Let's explore this analogy a bit further. Note that there really were two classes of knighthood in the Middle Ages: the landed gentry who were born into the nobility, and more importantly born into land ownership, and the knight errant. Those in this latter category might be the youngest son of a large family, or of noble blood but illegitimate birth, or a commoner trying to raise himself into the nobility. The common denominator was that they had no assurance of land to inherit.
I'd like to suggest that there are two classes of hackers as well, and move the focus, for the moment, away from the typical Open Source hacker.
Few parts of modern society resemble feudalism as much as academia does. Academia is a kind of codified gift culture. Once professors achieve tenure, their survival resources are assured, and the primary challenge then is to play the reputation game. nontenured faculty are paid for one type of activity: teaching and supervising students. However, they will be given the reward of tenure for an entirely different activity: succeeding at the reputation game. No one in academia is paid for publishing a paper, or reviewing a paper, or serving on the editorial board of a journal, yet no one questions that these are obvious and explicit obligations that one takes on when joining the academic community.
Academia has a clear hierarchy: someone with a degree from, or a faculty position at certain institutions acquires a pedigree not unlike noble birth in the Middle Ages. Among academics, being from Carnegie Mellon or MIT carries far greater status than being from North Carolina State or Mississippi State, even though the latter two have very high quality computer science departments where it is possible to get a first rate education. The mystique -- the status -- that surrounds certain institutions goes far beyond whatever advantages they may have as sources of learning.
The feudal structure is deeply rooted within institutions, and not just in how institutions view each other. Consider the structure of a typical computer science lab: there is the Primary Investigator, who secures grant money and determines the dispensation of that money on lab resources. Immediately below the PI are supporting faculty whose names appear on the grant proposal, and who draw an explicitly stated amount of money from the grant. Below this are post docs, who receive fellowships from the grant, but in amounts and for lengths of time that are at the discretion of the PI rather than explicitly specified by the grant. Finally there are graduate students, who also draw support from the grant, but lack the status of degreed members of this community. This structure is an almost perfect analogy to the medieval barony, with its Baron governing a collection of manor lords, each with a retinue of knights, each attended by a retinue of squires and men-at-arms.
What is fascinating about computer science, and, as far as I can tell, unique to computer science, is that there is a large body of practitioners that refuse to play this particular reputation game. To this latter group, an education really is just a means to an end, and the end is to develop the skills necessary to create good code. Some may go far enough to pick up a university degree, but many do not, and the degree is clearly secondary to the ability to code. In other words, one can build a reputation without having to acquire the academic pedigree. This alternative exists because employers acknowledge coding ability as a legitimate way to play the reputation game. I cannot imagine another highly technical profession -- think of medicine, for example -- where the absence of formal education would not be a decisive roadblock to advancement.
Nor is it simply a distaste for academia that fosters this kind of behavior. The hacker who is more interested in picking up skills than in picking up a degree is often the same hacker who is unwilling to be tied down to a steady job, preferring to move from assignment to assignment as a free-lancer and consultant. These are the knights errant of the Open Source movement.
To an outsider this refusal to settle in looks precarious; it looks like the sort of behavior that jeopardizes survival resources rather than assures them. This is only an outsider's perspective, however. To see the consonance between the "hacker errant" and the need to assure survival resources, let's look a bit more at the medieval knight errant.
In feudal, agrarian society, land was the fundamental survival resource. Much of medieval history appears to be the story of the struggle of the landless gentry to acquire land. There must be more to the story, however: this view does little to explain the social transformation from the Middle Ages to the Renaissance, and it ignores the fact that, though it took medieval nobility centuries to realize, ultimately there simply was not enough available land. What the landless gentry were in fact struggling for was survival resources, not land per se, and they succeeded only when they stopped relying on land as a means to that end. The struggle of the landless gentry evolved to this successful resolution in three stages.
The first stage covers the transition from the nomadic tribal/clan based culture of the Dark Ages to a feudal, agrarian, landed society. Because this period begins with a nomadic culture that had no notion of land as property, land was by definition available. Strong tribal families, or clans, settled where they were, and those among the nobility not born to land had to extend the boundaries of the familial fief if they were to acquire land. The most spectacular example of this kind of behavior coincides with the event that marks the end of this first stage: William, "The Bastard", conquering England, and thus elevating himself from Duke of Normandy to King of England.
William's conquest signaled the end of the "land grab" on the central European land mass. Clans and tribes had settled and expanded to become kingdoms, and there was no longer open land to be taken. If a landless nobleman was to gain land, he could do so only by taking it away from someone else.
Not surprisingly, a new outlet emerged almost immediately. Just 31 years after the Battle of Hastings, Bohemond led the First Crusade on a two year campaign across 500 miles of desert and mountains, and through seven victorious battles, culminating in the capture of Jerusalem in 1099, and the founding of the Kingdom of Outremere. For the next 200 years, Outremere was the siren calling the landless nobility of Europe, tempting them to try for a new life and a fief of their own in the Holy Land.
This temporary outlet was somewhat artificial, however. Outremere was not an empty land, but in fact a land occupied by the Arabs. The fiction that it was available could be maintained because the Arabs were nomadic, and had no European notion of property, and because Jerusalem stood on the rift between the Caliphate of Baghdad and the Caliphate of Cairo, enabling the crusaders to play one Arab nation off against another. The crusader gambit failed when Saladin drove the border with the Caliphate of Baghdad back to the Euphrates, recaptured Jerusalem, and successfully defended it against the combined armies of Philip II of France and Richard "Coer de Lione" of England. In the long run this gambit also failed because interaction between cultures engendered a more European notion of property in the Arabs.
All through these first two stages, the chivalric code enabled the nobility to believe that their land grabs were morally commendable. They were either occupying land that belonged to no one, or taking land from the Infidel. Thus the discourse of the nobility spoke only of chivalry and selfless motives, exemplified in Malory's "Morte d'Arthur" which was written in the midst of this second stage.
By the third stage the knight errant had no choice but to accept that the quest for land was over. Acre fell in 1281, effectively ending the Kingdom of Outremere. The Mongol invasion had arrived to block off expansion to the East; at its crest, the Mongol wave stopped only a day's march from Venice. In the Balkans, the aging Byzantine Empire had been replaced by the powerful Ottoman Empire. The landless had no choice but to turn their attention back to Europe to seek survival resources.
It is at this moment that Europe begins the transition to the Renaissance. Surrounded by indomitable foes, European kingdoms turned instead to fight among themselves. The most bitter wars, and the fiercest fighting took place in Italy, and in the arc of northern France that extends from the Rhine to the Bay of Biscay. Out of this struggle emerged a new class of gentleman: the professional soldier. In Italy they were called the Condottieri, in France and Burgundy the Companies des Ordannance, in Germany the Landsknechts. In all cases they were mercenary companies, organized bodies of professional soldiers for hire. With them came a new breed of heroes: names like Henry "Lightfoot" Lancaster, Sir John Hawkwood, or Francesco Sforza.
But something remarkable endured during this transition. The fact that these soldiers were mercenaries made chivalry no less important. A mercenary captain had to be trustworthy, his word of honor alone was a binding contract. Otherwise, he simply was not employable. These men lived by the chivalric code just as their predecessors had. What they found was that that code alone assured them survival resources. A skilled and honorable mercenary captain was never without employment, never lacked for resources. But he lived a landless life.
In the end we see that chivalry and pragmatism are not conflicting goals, but that pragmatism can indeed be served by chivalry. The mercenary captain lacked money, land or any other tangible resources. He had only one form of collateral: his reputation. That reputation could only be maintained if his behavior was seen to be genuinely honorable. Chivalry, then, was a necessity: it was an essential ingredient in building the only available collateral that could be parlayed into survival resources.
We can learn several lessons about today's hackers from this analogy. First, the Open Source gift culture need not be seen as strictly, or even predominantly altruistic. Pragmatism and altruism are not mutually exclusive. Today's hackers, like the knights errant and mercenaries of old, can and do trade in the coin of reputation as a means of achieving survival resources.
Second, as a culture matures, the pragmatism becomes more apparent. This was true in the Middle Ages. In the high Middle Ages, the era of the crusades, the knight errant made a flamboyant pretext of making a gift of his skills and services; one has to look below the surface to see a rational exchange of skills for resources in such gift acts. By the late Middle Ages, though honor and reputation were still essential, when a nobleman retained the services of a mercenary captain, the transaction was explicitly and without apology for the mutual benefit of nobleman and captain.
We see this same trend among today's hackers. While reputation alone has always provided survival resources for some, the trend to switch the meme about their activity from Free Software to Open Source reflected a maturing shift from altruistic pretext to honest pragmatism.
Today we see a symbiotic balance between the chivalric Open Source hackers and the companies that employ them. We have no tournaments nor jousting matches as in days of old, but we have several very public forums on the Web where hackers may display their achievements to be judged by all: Freshmeat, Sourceforge. An Open Source project knows that it has truly arrived when it is the recipient of the "Slashdot Effect". The outcome of these public displays of prowess, however, is routinely for the hacker elite to be hired by companies needing their skills and their reputation.
Here chivalry and pragmatism come into delicate balance. The very deeds by which a hacker gains reputation, and hence value, will preserve that hacker's value, and hence that hacker's independence. In other words, if someone has value to a company for an Open Source project through which they have gained their reputation, then a company would diminish that value by taking the hacker away from the project. Even though retained in the service of a company, then, the hacker retains the autonomy needed to maintain reputation.
The most obvious example of this is the relationship Linus Torvalds had with Transmeta. Linus is a superb programmer whose skills could profitably be applied to many projects, but Transmeta would diminish his value, not just to the Open Source community, but to Transmeta, by taking him off of Linux. From a purely pragmatic point of view it made no sense for Transmeta to do this, and so Linus' autonomy was assured.
The reputation game, to be effective, must provide survival resources for a whole community, not just a few “superstars” like Linus Torvalds. Consider programmers at the level of a Debian package maintainer, or a CPAN (Comprehensive Perl Archive Network) contributor. A meaningful reputation at this level, one that can translate into contract assignments and job offers, can only be transmitted by personal acquaintance. Few degrees of separation (two or three) can exist between the programmer and someone seeking his or her skills.
What emerges then, is necessarily a “tribal” structure. Hackers are organized into a few small circles of active participants working on a common project, where reputation is transmitted by personal acquaintance within these groups. The “elders” in these tribal groups of straddle two or three projects, and can transmit reputation to elders in other groups in which they participate. In this way, reputation can travel throughout the larger “clan”. Someone whose reputation is of a key participant to a given project, but not to the level of elder for that project, can expect their reputation to travel from their project to neighboring projects in which their elders participate, but not to reach all, or even most of the clan. Someone who has risen to the status of elder can expect their reputation to travel farther, reaching many, if not most of the other elders. Among these, a few elders rise to status above the others, taking on the position of clan leaders.
The description I've just given could apply to the formative decades of European feudalism, and the formative years of the mercenary period of the early Renaissance. But the description also fits with how the rank and file of Open Source hackers can and do travel from job to job, assignment to assignment, all the while motivated to donate time to Open Source projects in order to maintain their reputation.
Seen in this light, hacker chivalry is not an act of charity, but a sustainable and pragmatic approach to earning survival resources from the skills one has honed in a community that respects those skills. An important question remains, however. Why did this social pattern take hold within the Open Source community rather than some other equally valid approach to survival?
In a feudal system, a farmer could not own land, nor the harvest from that land. Serfs were indentured to the land, and only entitled to a portion of their harvest after paying their taxes to the feudal overlord and land owner.
Technology workers today face an analogous form of servitude. It is almost universal practice at technology companies to confront new employees with a hiring agreement which says, among other things, that any and all code and inventions created by the employee while in the employ of the company belong to the company; all copyrights and patents resulting from these creations must be transferred to the company. Technology workers may reap the fruits of their creative labor only under terms dictated by the company. Our modern notions of intellectual property and ownership of it are based on this relationship: that it is fundamentally companies, not individuals, that own intellectual property, and that individuals create new intellectual property primarily in the service of companies.
If Open Source hackers have a common attitude that ties them together into a community, it is the rejection of this notion of intellectual property. The conventional, outsiders' view is to say that Open Source software is not owned. It is fear of the lack of accountability associated with this perceived lack of ownership that makes many companies still reluctant to deploy Open Source software for mission-critical functions.
In fact this conventional view is deeply mistaken. To understand that, we must make a distinction between “ownership” and “stewardship”. Ownership is something that is fully transferable from one owner to another without loss of value. Money, and many (though not all) material objects are examples of entities that can be simply owned. Stewardship, on the other hand, applies when something undergoes change, when it evolves, or when it has some kind of life cycle. In this case, something has value only if it is cared for in such a way as to continue its evolution. In an agrarian society, animals are a prime example of something requiring stewardship. There are skills required, and effort that must be put forth, to maintain a herd. Transferring the herd to someone who lacks those skills or is unable to put forth the effort diminishes the value of the herd. In other words, only a good steward can realize the full value of that which is stewarded.
Historically land has been, and continues to be at the center of contention between these two notions of ownership. For example, Native Americans considered themselves stewards of the land, and thus fell victim to the European notion of land ownership. Today the battle between environmentalists and certain corporations is over exactly these two conflicting senses of ownership.
In the technology sector, Open Source hackers believe that software requires stewardship. The standard employment contract and the proprietary software it engenders, precludes stewardship. Open Source software, however, by its very nature encourages stewardship. Again, the motivation here is not altruism or charity. To an Open Source programmer, stewarding software is the best way to see that the software evolves and improves, and hence it's just pragmatism to take a stance towards intellectual property that assures that software will be stewarded.
The proof is in the longevity of Open Source software projects. Linus Torvalds is still at the head of the Linux kernel “tribe” more than a decade after the first public release of Linux. Eric Allman has guided Sendmail for more than 20 years. Larry Wall is still the guiding vision behind Perl, again after more than 20 years. In these and many more cases, a common core group stood behind the software for far longer than most proprietary software enjoys a common development team. It is this – the dynamics of stewardship – far more than the “legions of programmers” that accounts for the success of Open Source software.
Further, it is this dynamic of stewardship that fosters the social network around Open Source software that is based on the reputation game. Having committed themselves to what they regard as the most pragmatic approach to intellectual property, Open Source hackers have then adopted the professional and social structure needed to support that approach to intellectual property. It isn't altruism. It's chivalry, a far more subtle and pragmatic thing.