If you already know what NFTs are, skip directly to the Content beyond Content section below. If you don't, here's a quick primer before we get to the main dish.
Someone paid $561,000 for a gif of a flying cat. The ownership rights for the gif were sold using a relatively new technology called NFT, or non-fungible tokens. In simple terms, an NFT is a way to register an entry into a ledger, just like entering a line in an excel sheet that says who owns what. The token is a digital receipt of your ownership rights.
But the ledger in this case runs on the Ethereum blockchain. This means that the record of who owns what is not kept in a central place; instead, it is constantly updated and encrypted on multiple computers across the world. As a result, no one is able to change or hack the record once it has been fully processed by the network. The transfer of ownership is recorded and no powerful middleman can reverse it.
But it doesn't end there. The Ethereum network enables developers to set up smart contracts. Smart contracts are essentially bits of code that can specify a series of actions that happen as a result of specific triggers. For example, a smart contract can specify that every time the flying cat gif is resold, the artist that designed it will get 10% of the sales price. Even if the gif is now owned by someone who bought it from someone who bought it from the original creators — the smart contract will ensure that the original creator gets compensated each time his work appreciates in value and is being resold.
This is not simply a legal agreement. Smart contracts run on the Ethereum blockchain and they, too, are immutable. The execution of the contract's code is part of the execution of any transaction that it governs. So, when you resell the cat gif, you cannot decide not to give a 10% share to the original creator; the transaction cannot be complete without completing the pre-defined order of operations. And the ledger keeps track of anyone who ever bought or sold the gif, until the end of time. Smart contracts can be used to enforce other terms, such as when and how often the gif can be used.
NFTs, Ethereum, and smart contracts fall under the umbrella of Decentralized Finance, or DeFi in short, a set of tools and protocols that aim to provide an alternative to our current financial system. DeFi apps enable people to borrow, save, and invest without going through traditional banks and brokerages. But that's a different story.
If you feel like your brain is about to explode, you're not alone. You don't need to understand the intricacies of tokens or blockchains. For the purpose of my next point, all you need to know is that technology enables creators to sell small bits of content without any middlemen and to retain a certain level of control on how this content is being used and monetized.
The media and even most blockchain investors are focusing on the most outrageous use cases for NFTs — people are paying millions to own for gifs, or tweets, or replays of NBA dunks. This makes the whole thing seem like another crazy fad, driven by bored social media users in the era of stimulus checks and low-interest rates.
But the most interesting thing about NFTs is the way they can be used with other types of content, with boring content.
Content beyond content
Most people on earth do not create gifs. "Content" is not just Beyonce's new song or the highlight real of yesterday's playoff game. Content is the two lines of code that an engineer somewhere just added to an open-source project. That Slack message your colleague sent you this morning is also content. And of course, the newsletter you sent to your 72 subscribers last week is also content, even if you're not a celebrity.
Can these two lines of code, Slack message, or an email that nobody read be sold just like a work of art? No, because they are not a work of art. But they are work. And so, someone deserves to get paid for them if they end up being useful.
Most humans are either overpaid or underpaid for their work. I am not talking about minimum wages or fair salaries. I am talking about the fact that two employees in the same company can earn the same salary even though one of them contributes much more than the other to the company's overall success. And by "contributing", I don't mean that one employee spends more time at the office than the other; I mean that she comes up with ideas that end up being used by the company — she contributes important building blocks to whatever it is the company is building.
Why do these two employees earn the same salary?
Because it is too difficult to keep track of each person's specific contributions. And even when it is possible to keep track of them, it is not practical to compensate each person for every single idea they come up with and every line of email or code they contribute.
This same dynamic plays out again and again in different situations and at a much larger scale. Every idea, every project, every piece of work is comprised of smaller pieces that were created by other people. In most cases, it is not feasible to track the provenance of these ideas or to compensate their originators for every instance in which they are being used.
But what if it was easier to keep track of each person's contribution and automatically compensate them each time it is being useful? What would the world look like then?
A primitive version of this scenario can be seen in industries with high awareness of intellectual rights. When a song is played on the radio, for example, multiple people are eligible for royalties — the singer, the bass player, the lyricist, the composer, the producer, and more. If the song contains samples of other songs, the contributors to the sampled song are also supposed to be compensated. But as Jesse Walden points out, even in the music industry, keeping track of who, how much, and when to pay royalties is not always practical.
Throughout most of human history, most people produced things or worked the land. But the two most important outputs of the 21st Century are code and content. Code creates powerful tools that, among other things, help distribute content. Content props up powerful narratives that, among other things, help bring more economic activity under the dominion of software tools. Code itself is content, and content — language— is itself code. Both aim to make abstract ideas actionable.
The way we produce content and code is changing. As Nadia Eghbal points out in Working in Public:
"Code, like any other type of content available online today, is trending toward modularity: a mille-feuille layer cake of little libraries instead of one big, jiggling Jell-O mold. Today, developers publish bits of code online, for public use, as easily as others discover and use them. But just as tweets are easy to read and retweet without context as to who wrote them, code is easy to copy-paste without knowing, or caring, where it came from."
Most of the software we use was created by thousands of different people. Some of these people are entrepreneurs, some are employees, and some are volunteers or members of open source communities. The amount of code contributed by each person to a project is easy to monitor and quantify.
Below is a chart showing the number of code contributions made by each programmer that worked on the Android Open Source Project (the data is from 2013 and is unverified, but it seems legit and provides a general idea).
A total of 1,008 people contributed to the project. The most prolific contributor, Dianne Hackborn, contributed 5,272 commits to the project (a "commit" is a change submitted to the project — either adding to or revising the existing codebase). The 10th most prolific contributor made 2,216 commits. And the 100th most prolific made only 196. The 300th most prolific contributed a mere sixteen commits. Overall, 72% of all contributors made less than twenty commits and nearly 50% of them made less than three.
We can draw multiple insights from this data, and we will return to it in future articles. For now, it suffices to note the granular level of detail on each person's specific contribution to Android's codebase. Software projects rely on version control software to record the source, time, and content of every single contribution.
Of course, the quantity of code someone contributes does not mean the code was critical or particularly valuable. Further, engineers pride themselves on getting things done using the least amount of code. But over time, it becomes clear which lines (and whole code libraries) are reused in multiple projects and survive multiple revisions. Version control systems such as GitHub also allow programmers to give a thumb's up ("star") to contributors they appreciate and admire. Ultimately, it is possible to quantify every person's contribution to a project to a pretty granular degree.
With NFTs and smart contracts, it is now possible to integrate all of the above with a proper compensation mechanism. It is possible to allow every contributor to get paid exactly according to their contribution — not just once the work is done, but indefinitely: Every time the code gets used anywhere, all contributors can theoretically earn "royalties"; and if the code is part of a big startup exit, the contributors can earn a commensurate piece of the acquisition price as well.
Software development is unique in its reliance on version control systems that keep track of everyone's contribution. Software development is a structured process that generates structured data that is easy to make sense of. The production process in other knowledge industries is not as structured and generates unstructured data: if you try to figure out who did what and what ended up being useful on a design or marketing project, you'd have to read hundreds of emails and Slack messages, listen to dozens of phone calls and meetings, etc.
This is where machine learning comes in. One of the most useful things about machine learning is its ability to turn unstructured data into structured data. It can convert a photo into a list of the items that appear in it. It can summarize books. It can scan a video and tell you who's in it and create a transcript of what each participant said. It can keep track of who said what, and what ended up being repeated and used.
You can see where this is going. Can you see where this is going?
Technology is on the cusp of enabling us to keep track of every person's economic contribution at a granular level and of compensating each person for that contribution and all instances at which it ends up being useful.
If you can compensate each person for their exact contribution, you don't need to pay everyone the same salary. And if every person gets paid for their contribution, those who are particularly productive or innovative will get paid more than ever. And those who aren't will no longer have a stable salary.
This is enough for one day.
I'll continue to explore this topic in the coming weeks. In the meantime you can dive deeper with my earlier post about the Rise of the 10X Class; Jesse Walden's on how NFTs make the internet ownerable; Packy's primer to Decentralized Finance; and Li Jin's HBR piece about the creator middle class. And a special thank you to Packy for his excellent comments and suggestions on the draft of this piece. In a perfect world, he'd get a dividend each time someone reads it.