Who pays the toolmakers?

I recently watched App: The Human Story, which I discovered via The Developers Union, a group of app developers formed to negotiate better policies with Apple.

It’s a one-hour portrait of the people behind some of the App Store’s more popular apps. Watching it, I couldn’t help but compare them to the stories of open source developers, who make the tools that everybody uses to build software today.

image from App: The Human Story

Similar challenges

The challenges discussed were quite similar: 1) low revenue despite high user adoption, 2) entitled users demanding free work, and 3) belief that platforms could improve the situation via better policies.

“I had amazing success in the App Store. I’ve had hundreds of thousands of customers. And even with that, it was impossible to sustain the business.”

While app developers and open source developers live in different worlds and serve different audiences, there were so many parallels between the challenges described, that I wondered whether there’s a broader story that isn’t being discussed. Namely, the tense relationship between developers who make tools, and the platforms that distribute their work.

Apple’s App Store is to app developers what GitHub is to open source developers. The Developers Union reminded me instantly of Dear GitHub a few years ago, not only in the fact that it’s a group of developers speaking up, but in the approach and nature of their demands.

Both were open letters to Apple and to GitHub, suggesting that they don’t have any other way of reaching the company (Dear GitHub: “We have no visibility into what has happened with our requests, or whether GitHub is working on them”). Both had an unusually specific list of asks (ex. app developers want free trial options, open source developers wanted issue templates).

There is something sort of depressing about the specificity of these demands. Taken together with the open letter format, it suggests to me that these actions are a last resort: these platforms don’t have existing deep relationships with their power users, nor have they taken time to understand them.

In a 2013 analysis of Apple’s App Store, Ben Thompson noted (at least at the time) that this is partly due to developers lacking an advocate on Apple’s leadership team. GitHub, as well, lacks a developer relations team or any dedicated leadership focused on its open source developers.

Platform responsibility

Another recurring topic between open source and app developers is the extent to which platforms are responsible for creating the undesirable incentives and business models we see today. As one developer put it:

“You could make the excuse that it’s a free market and it’s just becoming what it will, but it’s not actually a free market. It’s Apple’s App Store, and there seems to be a loss there.”

According to the app developers interviewed, the most lucrative form of App Store monetization today are in-app purchases, which is partly due to not having the price tiers that app developers need (like free trials). This means that, in one developer’s words, “scammy game makers” thrive off of it and are able to succeed, while “developers who actually respect humanity” can’t. Ben Thompson’s aforementioned analysis supports this thesis, noting that productivity apps, for example, make money just fine elsewhere…via trials, paid updates, and built-in subscriptions, none of which the App Store supports.

Similarly, while open source tools are difficult to monetize more generally, the ability to experiment with funding models (such as advertising, crowdfunding, and subscriptions) is constrained by GitHub’s policies and product, much like a tenant is constrained by their ability to modify an apartment that they’ve rented. Open source projects on GitHub represent billions of dollars in value creation, but none of that is captured on GitHub. (If you don’t believe me, consider that at minimum, Bitcoin and Ethereum are both developed on GitHub.)

Poor pricing models also mean that users don’t adequately value the product, which leads to the entitlement observed by both app and open source developers. For the former, it’s reviewers complaining about paying 99 cents for an app, and for the latter, it’s developers opening issues and demanding they get fixed quickly.

However, even if platforms are responsible for the economic conditions we see today, it’s unclear whether we should expect them to change their policies. More recently, Ben Thompson described platforms as “when the economic value of everybody that uses it exceeds the value of the company that creates it.” In his view, many “platforms” are actually aggregators: intermediaries who capture economic value for themselves. His previous analysis digs into the same line of thinking, including a speculation that Apple can’t let any of its apps become bigger than Apple itself, because apps exist solely to drive sales of hardware. As evidence, he cites Apple’s dependence on Microsoft Office and Adobe for its sales historically, and how “humiliating” it must have been.

If that’s the case, perhaps it’s naive to assume that platforms will ever act in their users’ best interests. Those hoping for reform might be better served by regulation (make it harder for distributors to unilaterally capture value) or revolution (create entirely new forms of distribution) to align developer and consumer incentives.

Cultural differences

Finally, it’s worth briefly touching on the ways in which app developers and open source developers are different, culturally speaking.

Firstly, selling an app is not like selling code, because most apps in the App Store are not open source. It’s harder to productize open source code, because the license terms are so permissive.

That being said, I do wonder whether there’s anything to be learned from how apps monetize. For example, an open source developer could make their code freely available for a one-time fee. (Yes, this would make it technically-not-open-source, but I like experiments more than I like definitions. Edit for clarity: I am referring to charging existing users for access to source code, which violates OSD section 2. Not selling open source software, which is permitted.) Even if it were hard to prevent users from sharing the code after purchase, I imagine many would be happy to pay — much like paying for a book or article that you could then theoretically share around.

Secondly, the endgame for successful app developers vs. open source developers are different. Successful open source developers get “acquihired” by a company who values their reputation and skills, which has the perverse effect of making them less noisy about how to make a living off of open source. Oftentimes, they slow or stop working on the projects that made them popular in the first place.

By contrast, because apps have some semblance of a business model, being a successful app developer seems to look more like running an independent business. Many of the app developers interviewed took pride in choosing not to work for a big company. (In one memorable case, the developers behind Panic got an email from Steve Jobs, who met with them and suggested they work for Apple, which they turned down.)

While many open source developers also remain independent, they usually don’t make money off open source directly. A contractor lifestyle merely gives them the freedom to work on open source on their off-days. But as “small business owners”, app developers have no choice but to advocate, and arguably have more of a stake in improving their situation in the long run.

Developers as toolmakers

Despite these differences, I’d consider both groups to be under the umbrella of toolmakers: people who make software that enables others to do more. I hadn’t previously thought of apps this way, because apps tend to reach consumers, whereas open source tools are made for developers. But consider a productivity, drawing, or a messaging app, and they don’t seem much different than a software library or framework after all.

These tools are indispensable to our everyday lives, because they shape what we want and how we get it. As Jake Lodwick put it: “People tend to become the software they use”. Sure, some toolmakers turn into multi-billion dollar companies. But a good tool can come from anywhere. (In this way, we’re still a delightfully primitive society, connected at internet scale: someone turns a rock into a hammer, then hands it to a friend. Someone writes a better library, then publishes it for anyone to use.)

Toolmakers play a critical role in accelerating human progress, and their work ought to be recognized and celebrated. App and open source developers aren’t exactly the same, but given the similarity of their motivations, I wonder if they’d benefit from working together more closely and learning from each others’ approaches.

— —

(N.B.: I know basically nothing about app developers outside of watching this documentary, so consider this more of a reflection than a definitive statement. I’d love to hear how your experiences align to what I’ve described above!)