In this series of vignettes, I describe human-scale systems of production that foster autonomy and individuality. I discuss the role of the software engineer in catalyzing these systems, as the designer of frameworks that create environments for agency. These frameworks begin an ecological succession towards large-scale gift economies.

Thanks to Kim Smith for illustrating this set of essays, and to Jonathan Harris and Neil Molino for reading drafts.

Sep Kamvar, March 2015


We are a remarkably efficient species, although we never give ourselves enough credit for it.  The human brain uses around 25 watts, about the same amount of power as a desktop fan or an aquarium heater, and with that performs about 10 quadrillion calculations per second, about the same as all the computers in the world combined.

When you consider this, it puts into perspective some of our recent achievements in artificial intelligence.  It was a big deal when IBM’s Watson supercomputer became the Jeopardy grand champion, a more difficult task than Deep Blue beating Kasparov.  But Watson uses about the same amount of power as 30,000 human brains.  And it can’t even tie it’s own shoe.

If we want a more fair fight, we could pit Watson against a team of 30,000 people.  We would need to find some way to coordinate that 30,000-person team, of course, and we’d probably need some software to do that.  But that software would be a lot simpler than Watson.

Here is a little algorithm that should work:  To start, each team member gets 10 coins.  Any time Alex Trebek gives a clue, team members may ring the buzzer as long as they have at least one coin.  Everybody who rings the buzzer has 4 seconds to answer, and in the last second the software tabulates all the responses and returns the most common one.  The team members who get it right get an additional coin.  Those who get it wrong get a coin taken away.

There are variants of this algorithm, of course.  We can weight each response by the number of coins the respondent has.  Or we can give more coins for getting the harder clues right.

My point is that, once we consider the true efficiency of a human, we start thinking in a different way.  The technology we design has a lighter touch; it aims to aid our natural capacity for intelligence rather than replace it.

And I don’t want to limit myself, here, to intelligence.

We see the same story in mobility.  A midsized car gets a little over half a mile per kilocalorie of energy.  A human walking gets 10 miles per kilocalorie.  Even if we exclude the cost of the car, the cost of the road, and the cost of the infrastructure we build for fueling, walking is still 20 times as efficient as driving.

There does exist a vehicle that is more efficient than a human walking: a human on a bicycle.  A human on a bicycle gets 25 miles per kilocalorie, the equivalent of 750 miles per gallon.  Like my fictitious Jeopardy software, the bicycle is a light-touch technology, that extends the human’s natural ability for mobility rather than replacing it.

I imagine we may, one day, create vehicles that go 25 miles per kilocalorie, or machines that are able to think and feel and perform a few quadrillion computations per second on 25 watts.  I don’t discount this possibility.

But in the meantime, I’d like to make a modest proposal: let us design tools to enhance our fantastically efficient human capacities, and environments to exercise them.  Let us make cities that are walkable, roads that are bikeable, jobs that allow us to think, and environments that foster our natural ability to heal.

Even if we ignore the efficiencies, we might find that we’d enjoy it.

Environments for Agency

Technologies have power not just as tools, but as metaphors.

AirBnB, for example, is both a tool to help you share your home, and a way to describe ideas that, prior to AirBnB, would have been difficult to imagine: an AirBnB for cars, an AirBnB for office space, an AirBnB, even, for dogs.

We tend to underestimate the power of technologies as metaphors, because after a while, we stop using the metaphors explicitly.  Modern day fast-food joints, call centers, farms, big companies, and schools all came from the metaphor of the factory, even though people no longer say, as the dean of Stanford’s School of Education did in the early 1900s: “Schools should be factories in which raw products, children, are to be shaped and formed into finished products.”

The factory metaphor has been especially potent in our culture because of its promise of efficiency, and there is something to that claim.  Efficient processes make complex things possible.  It is hard to imagine an artisanal process for making a commercial aircraft.

But the efficiency of the factory comes at the expense of ingenuity.  The factory worker has the natural capacity for ingenuity, but the assembly line gives him little opportunity to use it.  The system requires him to implement other people’s ideas: “weld this piece to that one.”  Without agency, the worker’s ingenuity begins to wither.  He has the seed, but not the soil.

If we want to create environments for agency, we would be well-served, instead, to look to small-scale systems of production.  Agency is inherent in these systems, since they don’t create a distinction between those who have ideas and those who implement them.

The startup is one example of such a system.  Startup founders are modern-day artisans, and indeed startups tend to be wellsprings of ingenuity.

There are other examples as well: in education there is the one-room schoolhouse, in transportation there is the small bicycle design shop with a 3D printer, in agriculture there is the small-lot permaculture garden.  These systems all offer the people involved more agency than the industrial systems that dominate today.  In many ways, they remind me of the past.

But I might predict one difference between the small-scale systems of the past and the small-scale systems of the future.  The gardens, the bicycle design shops, the one-room schoolhouses of the future, they will produce at a small scale, they will make decisions at a small scale, but they will talk to one another at a large scale.  They will be decentralized, but not disconnected.

When these systems do come, we will be prepared them, because they will resemble another metaphor, one that I think has more staying power than the factory.  If we stand back far enough and squint, we might find that they look like the Web.

Syntax and Sage

A few years ago, I read something Toni Morrison wrote about the first sentence in Song of Solomon. She detailed how each word was picked carefully in a way that sets up the rest of the story.  She wrote two pages about this sentence, and it was clear that she could have written many more.  I remember feeling something I had felt throughout the novel: that it expressed so much meaning in so little space.

I think programmers are particularly sensitive to this sort of beauty.  It goes to the heart of what we do.  Our programming languages give us the ability to express complex ideas compactly, and this is what allows us to write powerful programs in a reasonable amount of time.  In many cases, it is what allows us to write them at all.  It is in its poetry that programming has its power.

But programs are different than poems, at least on the surface, in the way they achieve their density of meaning.  Programs are concise and precise, while poems are concise and ambiguous.  We can infer several meanings from the same line of poetry, because it is written to let us do so.  The poet gives us a framework, to which we can add our own meaning.

Or, as Jay-Z puts it, more concisely, “I tell you half the story, the rest you fill it in.”

Some artists take this idea a step further.  When you buy a Sol LeWitt piece, you don’t buy a completed drawing.  Instead you buy a piece of paper that says something like: “Using a black, hard crayon, draw a twenty-inch square.  Divide this square into one inch squares.  Within each one inch square, draw nothing, or draw a diagonal straight line from corner to corner …”  Songs by the musician Cornelius Cardew give instructions to the chorus that look like: “Sing this line of text 3 times, each time for a length of a breath, on a note of your choosing.”

In these pieces, the artist, through a series of instructions, both tells a story of what the piece could look like and defines a social process to makes that story a reality.  The artist builds a framework, and the community fills it in.

And now this starts to look, again, like software.

A program, we must remember, is both a programmer’s series of instructions to the computer, and the resulting program’s series of instructions to its users.  The instructions to the computer are defined by syntax, while the instructions to the users are defined by user interfaces.

In well-designed software, the instructions to the user tell a clear story of the world the programmer is trying to achieve, though the best ones tend to maintain some ambiguity.  They tell a user to communicate publicly in 140 characters, or to edit an encyclopedia entry, but they don’t specify which characters or which entry.  The magic happens when a well-told story meets an imaginative set of users.

And so, the art of software becomes the art of coming up with a beautiful story of a world that could exist, and then telling that story in code (half of the story anyway) to the right set of users.

I notice that this art, as I’ve defined it, is broader than the traditional art of programming.  It is available to those who have the freedom to choose the software they write, who see their task not only to write code, but to come up with a beautiful story and find the right set of users.  It is available, in other words, to the entrepreneur.

To such people there is tremendous power, for programs are more direct than poetry.  They act on the world.  They give a framework not just for human thought, but for human behavior.  The stories that these programmers tell, if they tell them well, are likely to become realities.

It is important, therefore, to be thoughtful, to be wise, to be kind, to tell the stories that, when they become realities, will help to heal society.

This is a difficult job, and not one that entrepreneurs should need to take on alone.  In most arts, there have been curators and editors, who have had a point of view, who have defined movements, who have nurtured artists not just based on their likelihood for success, but based on a shared story, a shared vision for the world.  Our museums may play this role, but I think, in this realm, it would be a more natural job for our venture capitalists.

They, too, must tell beautiful stories.


In 1862, Abraham Lincoln signed into law the Homestead Act, which gave people 160 acres of free land simply for agreeing to live and farm on it.  It was, from the perspective of the settlers, a great gift.  It allowed them to do something that they hadn’t been able to do prior to the grant: to become small farmers, to work for themselves.  It gave them agency.

The economist Hernando de Soto has used the Homestead Act as an example of how much economic development is possible with the right legal mechanisms to property, and I imagine this is true.  But for me, this example points in a different direction.  I think about how much agency is possible with the right gift.

In the Direction of Dreams

There is a lot of money to be made in software platforms.  But that doesn’t mean they will be expensive to their users.  On the contrary, the most valuable platforms tend to gravitate towards being free.  In fact, it is because they are valuable to so many people that they have a tendency to become free.

A big platform may start out being expensive.  The early movers in a space may choose to charge a large fee, as Microsoft did to its customers, or a big commission, as Uber does to its drivers.  They then reinvest that money back into the platform, which makes it difficult for new entrants to compete on product, at least initially.

New entrants can, however, compete on price.  If they are able to establish prices low enough, they can get enough market share to allow them to invest more money into the product.  The improved product in turn serves to increase market share, which in turn enables more investment in the product.  Eventually the less expensive platform becomes just as good or better than the initial platform, and at that point, it is only a matter of time before it dominates.

It doesn’t always play out this way, and in fact it rarely plays out this way when a platform is niche and its users are rich.  (Bloomberg, for example, will be expensive for a while.)  But it does work this way often enough that many platforms will choose to be free from the beginning.

In many cases, the only sustainable way to be free is to be open-source.  Bitcoin can be free in a way that PayPal cannot.  And open-source platforms establish, either explicitly or implicitly, open standards that let the platform interoperate with others.

We see this dynamic most clearly in programming tools.  Our dominant web servers, databases, programming languages, version control systems, editors — the list goes on — are  all free, open-source, and interoperable.

Our programming tools comprise the most mature ecosystem in software.  They have been around since the beginning of computers, and they might give us a glimpse into the future of our younger software ecosystems.   If so, we should expect that more major platforms will become free, open-source, and interoperable, like our dominant browsers, operating systems, and encyclopedias have recently done.

Some will do so out of a generous spirit of their creators, and others will do so out of the rational calculations of the companies that start them.  The sum effect, regardless of the motives, is that we will create the most valuable gift economy in history.

Indeed, we already have.


There is a species of wildflower called chamerion angustifolium, that is typically the first plant to colonize a field after a forest fire. While the Latin name for this flower is chamerion angustifolium, most people call it by it’s common name: fireweed.

Fireweed grows well in damaged soil, spreading bursts of color even in areas affected by an oil spill. In World War II, these beautiful flowers covered the craters left by bombs.

Fireweed is a pioneer species — it spreads quickly to cover a damaged landscape and its roots put nitrogen back into the soil, increasing the soil’s fertility and beginning a chain of ecological succession that ultimately leads to a healthy ecosystem. Once its job is done, it dies off, but its seeds remain in the ground for many years, ready to blossom once again when needed.