“…if you buy an ox, you don’t have any responsibilities to the ox. What you are really buying is the right to dispose of the ox in any way that pleases you.”
-David Graeber, Debt: The First 5000 Years
I recently read the amazing book Debt: The First 5000 Years and of the many insights it provided, one has lodged in my brain. David Graeber gives a definition of ownership as “the ability to dispose of the owned thing as one wishes.” This has made me look with new eyes at many things I thought I “owned.”
Do I own my house? Even if I don’t owe the bank any money, can I burn it down? Probably not. I could bulldoze it but then I cannot build a ferris wheel in its place. My land is not zoned for that. I probably can’t even dig down further than a few meters. I’m not even sure if I own anything I find in those few meters because I doubt that I own the mineral rights to my property. In short, I don’t “own” my house or my land because I can’t dispose of it as I wish.
It’s more like I own the location of the house and the current structure. I must ask permission to make anything but the most minute changes. On the inside, however, I can do as I wish. Purple walls, mirror floors, industrial steel everything.
The same goes with the code that I’m paid to write.
I realized near the beginning of my career that most of what I write is impermanent at best. Any code of mine that lasts for more than a year is either so well-written that nobody can improve it, or (more likely) so poorly-written that nobody wants to touch it. But I always considered that I owned my code. If it had a bug, I was first in line to fix it. If it was slow, I was responsible for streamlining it.
In light of this definition of ownership, though, I no longer feel that I own the code I write. I can’t delete it all — it must be replaced with code that is functionally equivalent. I can’t transfer ownership to just anyone — my employer would sue me for leaking sensitive business information. At best, I’m a steward of the code I write. Perhaps the best analogy is the old “gardener” one: I am paid to craft and maintain someone else’s lawn and flower garden. I can do a beautiful job and take pride in my work, but the artifacts of my artistry firmly belong to the one who commissioned me.
All of this is just to say that I no longer like the phrase “code ownership” because it carries implications that are just not true in a corporate culture. I’ve butted my head against these implications for years without realizing that I had the wrong idea.
I do not own my code.