I have an utterly heinous flu. As such, even though I've got a ton of work to do, I really can't concentrate on anything more challenging than TV. Even reading tires me out. So I've been watching a lot of TV. I just caught a show where a woman I know is one of the stars. I met her in an acting class in Los Angeles a few months ago. (It isn't a huge show, but whatever. She's great.)
Here's something about the economics of show business. It's absolutely superior to the economics of technology, unless you're the founder of a successful startup. Say this woman I know, her show becomes a hit, and it goes into syndication. She will be paid a particular sum of money every time an episode airs. This income is called residuals, because it's residual income from work she's already done. In some cases, that income can add up to a lot of money.
Why doesn't this happen in programming?
Can you imagine the type of money David Heinemeier Hansson or Brian Behlendorf or Matz or Larry Wall would be making, if they received residual income every time somebody used something they made? Obviously, they do receive residual prestige every time this happens, and it happens very frequently.
But every time there's a tech boom, recruiters recite this platitude, that an amazing programmer is 10 or 20 or 100 times more valuable than an average one. Weirdly, however, their estimate of value never translates into a corresponding economic valuation. They tell us our work is 100 times more valuable, and then they offer us 1.25 times as much money. Somewhere in there, the equation gets damped significantly. However, if you got a residual check every time anybody used your code, the work of amazing programmers would be at least 10 times more financially remunerative than the work of average programmers.
The moral of this story is for tech recruiters. We are precise people, and we understand math. Please don't tell us that you think our work is 100 times more valuable than somebody else's unless you plan to give us 100 times as much money. Just don't do it, because we won't believe you. We can multiply in our heads. We don't need calculators to see that you're lying. And we are unbelievably picky about numbers and logic. We're more offended by the sloppy thinking than the missing money!
(I say "us" not just because I think I'm an amazing programmer, but also because I know every other programmer out there thinks that they're an amazing programmer too.)
Anyway, as is often the case, the obvious moral is infinitely less interesting than the puzzling question. Why aren't residuals the norm with code? Or, more accurately, why are the residuals in tech paid in prestige, rather than cash?
It's interesting to imagine what would happen if residuals were the norm in programming. I think the first thing that would happen is that the number of superfluous, silly, bullshit companies that obviously must have been started on a drunken bet would plummet. Except the very reason for this effect, that writing Web sites would suddenly become expensive, not only totally kills the whole dynamic of development on the Web, it also runs head first into a great essay by Clay Shirky explaining why micropayments will never, ever happen. And of course, if people were getting code residuals, those would be B2B micropayments.
Shirky's argument is so persuasive that he ends up wondering if the rise of bloggers means the end of the film industry:
This change in the direction of free content is strongest for the work of individual creators, because an individual can produce material on any schedule they like. It is also strongest for publication of words and images, because these are the techniques most easily mastered by individuals. As creative work in groups creates a good deal of organizational hassle and often requires a particular mix of talents, it remains to be seen how strongly [sic] the movement towards free content will be for endeavors like music or film.
However, the trends are towards easier collaboration, and still more power to the individual. The open source movement has demonstrated that even phenomenally complex systems like Linux can be developed through distributed volunteer labor, and software like Apple's iMovie allows individuals to do work that once required a team. So while we don't know what ultimate effect the economics of free content will [have] on group work, we do know that the barriers to such free content are coming down, as they did with print and images when the Web launched.
I can tell you with certainty this much: Shirky's argument, while brilliant, is incorrect. His logic is flawless, but the thing he describes as impossible already happens every day. Micropayments have been happening regularly for nearly a hundred years. It's just that they don't happen in technology, and people outside tech use a different term for them: residuals. Some people buy swimming pools with their residuals; other people buy half a Nestle Crunch with their residuals, and pay for the rest of it with the money from their day job. So residuals span the gamut, from the micropayment to the megapayment.
By the way, the economics of TV on your iPod, or DVD, or the Internet, or anywhere outside of TV are very different from the economics of TV on TV. The Writers' Guild in Hollywood is amping up for a strike, because the studios give them bullshit residuals on DVDs, and are trying to get an even more one-sided deal on downloads.
I don't really have a conclusion, it's more a question. I know there's an economist who argued that software should be free before he ever heard of the free software movement. He came to the conclusion on purely economic grounds and was quite cheerfully surprised when somebody told him that the thing he had predicted for some day in the future had already started to happen. I forgot the guy's name (sorry), but obviously he would argue against the idea of residuals for software. In practice free software is very frequently superior to licensed software, and the theories of the free software movement explain very cleanly why. So I think I probably don't owe DHH money, but I'm really not sure.