This article is more than 1 year old
NPM today stands for Now Pay Me: JavaScript packaging biz debuts conduit for funding open-source coders
Like a particular module? You're one command away from being able to donate some dosh for it
NPM Inc, maintainer of the widely used JavaScript package manager npm, has taken a step toward fulfilling a promise made in August to help open-source developers seek compensation for their labor.
Despite its own solvency concerns, the biz on Tuesday deployed code changes that add a "funding" command to the latest version of the npm command-line tool, namely v6.13.0. Henceforth, developers creating packages for the JavaScript runtime environment Node.js can declare metadata that describes where would-be donors can go to offer financial support.
Doing so involves adding a funding
field to package.json
, a file that lists various module settings and dependencies. The funding field should be a URL that points to an online funding service, like Patreon, or payment-accepting website.
Thereafter, application programmers using these modules can run npm fund <package name>
, and that will open the designated funding service link in the user's default browser for credit card input and so on.
NPM's cash-collecting scheme acknowledges a number of related efforts, among them Open Collective, GitHub Sponsors, and License Zero.
In a phone interview with The Register, NPM Inc co-founder and co-CTO Isaac Schlueter said: "The problem we're solving is open source projects need funding and there are very few ways people can get that information in front of people using their code."
The issue came up in August when software developer Feross Aboukhadijeh released a code library called funding. If added to another JavaScript module distributed through the npm registry, the module would show a command-line ad in developers' terminals after installation.
Following criticism from programmers who objected to the intrusion of ads, Aboukhadijeh ended his experiment, even as it prompted the open source community to acknowledge that more should be done to help project maintainers seek compensation for their work.
NPM Inc at the time banned the use of post-install scripts to run ads but said it intended to launch an open-source funding platform by the end of 2019. Some part of that platform has now arrived.
Funding, said Schlueter, "is a perennial problem in open source. There have been a lot of different approaches and there will be more in the future."
Schlueter allowed that NPM Inc's funding mechanism may reward good marketers more than it rewards good developers. But he believes it will work against that. "One thing nice about this approach is that it does take some of the marketing skill out of the equation," he said. "Because all you really have to do is set up a payment URL and then put that in your packages. You don't have to craft the message expertly, you'll show up on that list at the end of the install."
Asked whether NPM Inc's funding platform might help fund NPM the company itself, Schlueter said there are a lot of possibilities for how things might evolve.
"I certainly wouldn't mind making more money but I don't see this as a big revenue growth opportunity for us," said Schlueter. "The more important thing is not letting the open source ecosystem get hollowed out." ®