Is it time to tip open source developers? Here's one way to do it
Thanks.dev wants to spread the wealth directly to coders
In 2016, the Ford Foundation published a report on the lack of financial support for public source code and there's still a massive funding gap, but a new scheme may sort that out.
The report [PDF], titled, "Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure," begins, "Our modern society – everything from hospitals to stock markets to newspapers to social media – runs on software. But take a closer look, and you’ll find that the tools we use to build software are buckling under demand."
Seven years on, funding free and open-source software is still an issue, despite projects like The Linux Foundation’s Core Infrastructure Initiative and Mozilla’s Open Source Support awards program. Though various funding platforms have emerged, like Open Collective and GitHub Sponsors, financial support for open source maintainers continues to be uneven.
Some well-known developers have been able to quit jobs at prominent companies to work full time on open source projects, buoyed by corporate sponsors. Others, like Denis Pushkarev, maintainer of the core-js library, and Christofer Dutz, creator of Apache PLC4X, have found it more difficult to monetize their code creation and maintenance.
When developer André Staltz looked at funding data from Open Collective and GitHub in 2019, more than half of projects didn't generate enough revenue to support their maintainers above the poverty line.
Helping out in increments
Armin Nehzat, co-founder and head of growth at thanks.dev, believes the distribution of funds can be made more even by letting donations flow down the dependency tree.
"Startup companies depend more and more on open source," said Nehzat in an interview with The Register. "And when you look at the MIT license, software is free as is but the maintenance and the maintenance time is not."
Nehzat described the burden faced by developer John Reilly, who maintains TypeScript loader for webpack (ts-loader), in terms of responding to support requests from major companies that use ts-loader.
"ts-loader, he said, "is receiving 16 PRs from engineers at Microsoft, four from engineers at ByteDance, three from engineers at Mozilla, three from engineers at Atlassian, and the list goes on. This doesn't cover the GitHub issues which are raised on a regular basis. All of these require some level of attention, which costs the maintainers (predominantly John Reilly) time."
According to Nehzat, "The analysis was done by analyzing the last 600 PRs raised on GutHub.
- .NET open source is 'heavily under-funded' says AWS
- Open source community split over offer of 'corporate' welfare for critical dev tools
- Creator of Linux virtual assistant blames 'patent troll' for project's death
- NIST and uni friends to design open source research chips, Google to bankroll the fabs
Money is coming into the open source ecosystem to encourage maintainers to continue to develop and support their software but it doesn't reach everyone. That's at least partly a consequence of the complexity of open source projects, which may have dozens or even hundreds of dependencies – packages of code that perform specific functions. Just one npm package has on average 79 dependencies, and web apps often integrate many such packages.
Few people, if any, have the inclination to make donations to the maintainers of every single software package they rely on. It's just too much effort to do manually.
The idea behind thanks.dev is to take donations via GitHub or GitLab accounts and spread them across the dependency tree three levels deep, at up to eight decimal places on the dollar. Funds can be skewed toward, or away from, specific projects or ecosystems, but the system is mainly automated.
Thanks.dev presently supports itself through a voluntary tip percentage that, if more than zero, gets deducted from donation amounts along with a Stripe payment processing fee prior to distribution.
This is not the first time this has been tried: Open Collective proposed something similar in 2018, a project called BackYourStack. But judging by discussions among those who backed the initiative, it never took off for a variety of reasons.
So far, Cash App, Sentry, and Sourcegraph have signed on, and their dependency trees now flower with modest donations. Sentry's contributions include $7.17 for github.com/actix, $8.82 for github.com/axios, $5.43 for github.com/blakeembrey, $28.74 for github.com/brianc, and so on. That doesn't end open source funding concerns but if enough open source users warm to the idea, it may help spread the wealth a bit.
"What we're trying to do is create awareness in companies and in organizations that this is your dependency tree, and these are the people that you depend on," said Nehzat. ®