Feross Aboukhadijeh, maintainer of StandardJS, has formally ended the funding experiment he started lasted week, which inserted ads in the terminal whenever Standard 14 is installed.
Although the experiment met widespread aversion, it successfully captured public attention and put a spotlight on the critical need for a viable model of funding open source infrastructure. It also uncovered some intense presuppositions that developers have when it comes to protecting their workflow in the terminal.
“If nothing else, it’s nice that funding forced open source ‘consumers’ – folks who enjoy the benefits of open source software without ever contributing anything back – to reconsider their relationship with open source,” Aboukhadijeh said. “I think we successfully pushed back against the entitlement to free labor that is pervasive in the interactions that open source consumers have with maintainers.”
glob bless @feross for poking the hornet’s nest tho
— Forrest Norvell (@othiym23) August 25, 2019
Supporting work with advertising is nothing new, but the shock of seeing ads in the terminal activated an urgency in the open source community to collectively brainstorm and consider new approaches.
“While I didn’t like the approach, I understood the goal,” ESLint creator Nicholas C. Zakas said. “There is little involved in mindlessly typing ‘npm i’ and getting something for free. This experiment at least broke people out of that mode, even if only momentarily.”
Google Chrome engineer Chris Palmer said he saw Aboukhadijeh’s experiment as “a live demonstration of the fact that it’s very very hard to get people to pay, in any way, for information goods, which are indeed scarce. It has been as delightful and as bracing as it always is.”
In his recap of the
funding experiment, Aboukhadijeh contends that the phrase “open source sustainability” isn’t ideal, because maintainers are often simply subsisting, as opposed to thriving, on the few donations they receive, despite creating millions of dollars of value for the companies that use their work.
“The dirty secret of open source is that much of it is powered by maintainer guilt,” Aboukhadijeh said. “A lucky few manage to land day jobs that allow them to work on open source. But most folks have to be more creative – squeezing in time after work, secretly doing open source maintenance at work, or opting out of normal society completely.”
Aboukhadijeh is particularly concerned about finding solutions for the “invisible” maintainers of transitive open source dependencies, packages that no one installs directly:
But reliable, error-free transitive dependencies are invisible. Therefore, the maintainers are invisible, too. And, the better these maintainers do their job, the more invisible they are. No one ever visits a GitHub repository for a transitive dependency that works perfectly – there’s no reason to do so. But a developer investigating an error stack trace might visit the repository if for no other reason than to file an issue. At least then there’s a small chance they’ll see the maintainer’s plea in the README.
We need solutions that work for these folks too.
Although this particular funding experiment did not prove to be successful, Aboukhadijeh said he has more sponsors who are interested and more experiments in the works that he is excited about.
“Maybe ads aren’t the answer – fine,” he said. “But telling maintainers to bury their appeals where no one bothers to look is not the answer, either.
“Approximately 100% of the Fortune 500 use open source code. Maintainers are just starting to wake up to our own power. Expect to be surprised. This certainly won’t be the last open source funding experiment.”
Good for him. Glad he poked the hornet’s nest, and brought the problem into the forefront.
It’s another example of “tragedy of the commons.” Everyone gets to use it, but no one has to pay for it, so eventually it gets destroyed.
We’re using a metered paywall on our site, and it has worked well. Perhaps the same concept could be included in open source, even the dependent pieces. “Feel free to use this to see if it works. After X number of calls, though, it will start doing Y thing.”
I don’t know — I’m not a developer any more (just a writer, editor, and publisher). So perhaps it’s a bad idea. But I can guarantee that an economy with all take and no give is also a bad idea. (See: “tragedy of the commons”)