14.2 Gifts

Free For All. Go to the Table of Contents. Vist the Gifcom.

Marcel Mauss was an anthropologist who studied the tribes of the northwestern corner of North America. His book Gift: The Form and Reason for Exchange in Archaic Societies explained how the tribes like the Chinook, the Tlinget, and the Kwakiutl would spend the months of the fall giving and going to huge feasts. Each year, the members in the tribe would take the bounty of the harvest and throw a feast for their friends. The folks who attended might have a good time, but they were then obligated to give a feast of equal or greater value next year.

Many anthropologists of the free software world like to draw parallels between these feasts, known as potlatches in one tribe, and the free-for-all world of free source software. The hackers are giving away source code in much the same way that the tribe members gave away salmon or deer meat.

The comparison does offer some insight into life in the free software community. Some conventions like LinuxExpo and the hundreds of install-fests are sort of like parties. One company at a LinuxExpo was serving beer in its booth to attract attention. Of course, Netscape celebrated its decision to launch the Mozilla project with a big party. They then threw another one at the project's first birthday.

But the giving goes beyond the parties and the conferences. Giving great software packages creates social standing in much the same way that giving a lavish feast will establish you as a major member of the tribe. There is a sort of pecking order, and the coders of great systems like Perl or Linux are near the top. The folks at the top of the pyramid often have better luck calling on other programmers for help, making it possible for them to get their jobs done a little better. Many managers justify letting their employees contribute to the free software community because they build up a social network that they can tap to finish their official jobs.

But there's a difference between tribal potlatch and free software. The potlatch feasts built very strong individual bonds between people in the same tribe who knew each other and worked together. The gifts flowed between people who were part of each other's small community.

The free source world, on the other hand, is a big free-for-all in both senses of the phrase. The code circulates for everyone to grab, and only those who need it dig in. There's no great connection between programmer and user. People grab software and take it without really knowing to whom they owe any debt. I only know a few of the big names who wrote the code running the Linux box on my desk, and I know that there are thousands of people who also contributed. It would be impossible for me to pay back any of these people because it's hard to keep them straight.

This vast mass of contributors often negates the value and prestige that comes from writing neat code. Since no one can keep track of it all, people tend to treat all requests from unknown people equally. The free source world tends to have many equals, just because there's no hierarchy to make it easy for us to suss out each other's place. Corporations have titles like executive vice president and super executive vice president. The military labels people as private, sergeant, or major. There are no guideposts in the free software world.

Still, good contributions pay off in good reputations. A bug fix here and a bug fix there might not build a name, but after a year or two they pay off. A good reputation opens doors, wins jobs, creates friendships, and makes it possible to interest people in new projects.

The free source world is also a strange mirror image of the hierarchies that emerge after a season of tribal potlatch ceremonies. In the tribes, those who receive great gifts are required to return the favor with even greater ones. So the skillful hunters and gatherers give good gifts and receive something better in return. The rich get richer by giving away their bounty. The less skillful end up at the bottom of the list. The free source world, on the other hand, spreads its riches out to everyone. There are many modest programmers who enjoy the source code of the great programmers, and there may be billions of non-programmers who also tag along. Many major websites run on free OSs alone. Who knows which cheap Internet tools will come along in the future? The poor get lifted along at no great cost to the economy. The charity is broadcast to everyone, not narrowcast to a few.

The efficiency goes deeper. There's a whole class of products for the home that are much fancier and sophisticated than what people need. One company near me sells perfectly usable nonstick pans for $2.95. A fancy department store sells hefty, industrial-grade pans that do the same thing for more than $100. Why? They make great gifts for people getting married. This wedding-industrial complex adds needless accoutrements, doodads, and schmaltz just to give products enough cach to make them great gifts.
The free source world, on the other hand, has no real incentive to generate phony, chrome-plated glitz to make its gifts acceptable or worthy enough of giving. People give away what they write for themselves, and they tend to write what they need. The result is a very efficient, usable collection of software that helps real people solve real problems. The inefficiency of the wedding-industrial complex, the Father's Day-industrial complex, the Christmas-industrial complex, and their need to create acceptable gifts are gone.
Of course, there's also a certain element of selfishness to the charity. The social prestige that comes from writing good free software is worth a fair amount in the job market. People like to list accomplishments like "wrote driver" or "contributed code to Linux Kernel 2.2" on their r sum . Giving to the right project is a badge of honor because serious folks doing serious work embraced the gift. That's often more valuable and more telling than a plaque or an award from a traditional boss.

Rob Newberry is a programmer at Group Logic, a small software house in northern Virginia where I once did some consulting. His official title is "Director of Fajita Technology," and he is sometimes known as "The Dude," a reference to a character in the movie /The Big Lebowski/. Technically, his job is building and supporting their products, which are used to automate the prepress industry. One of their products, known as Mass Transit, will move files over the Internet and execute a number of automated programs to them before moving them on. Printers use them to take in new jobs, massage the data to their needs by performing tasks like color separation, and then send the jobs to the presses. This work requires great understanding of the various network protocols like FTP of NFS.

Newberry is also a Linux fan. He reads the Kernel list but rarely contributes much to it. He runs various versions of Linux around the house, and none of them were working as well as he wanted with his Macintosh. So he poked around in the software, fixed it, and sent his code off to Alan Cox, who watches over the part of the kernel where his fixes belonged.

"I contributed some changes to the Appletalk stack that's in the Linux Kernel that make it easier for a Linux machine to offer dial-in services for Macintosh users," he said in an article published in Salon. "As it stands, Mac users have always been able to dial into a Linux box and use IP protocols, but if they wanted to use Appletalk over PPP, the support wasn't really there."

Newberry, of course, is doing all of this on his own time because he enjoys it. But his boss, Derick Naef, still thinks it's pretty cool that he's spending some of his programming energy on a project that won't add anything immediately to the bottom line.

"He's plugged into that community and mailing lists a lot more," explains Naef. "There are other people here who are, too, but there are all these tools out there in the open source world. There's code out there that can be incorporated into our computer projects. It can cut your development costs if you can find stuff you can use."

Of course, all of this justification and rationalization aren't the main reason why Newberry spends so much of his time hacking on Linux. Sure, it may help his company's bottom line. Sure, it might beef up his r sum by letting him brag that he got some code in the Linux kernel. But he also sees this as a bit of charity.
"I get a certain amount of satisfaction from the work. .. but I get a certain amount of satisfaction out of helping people. Improving Linux and especially its integration with Macs has been a pet project of mine for some time," he says. Still, he sums up his real motivation by saying, "I write software because I just love doing it." Perhaps we're just lucky that so many people love writing open source software and giving it away.