Supporting Open Source Maintainers


Part of npm, Inc.’s mission is to ensure the sustainability of the Open Source JavaScript ecosystem, and without fair compensation for developers, sustainability is impossible in the long term. For both practical and ethical reasons, those who consistently contribute to the open source commons should be compensated.

Over the past couple of years, we’ve observed a number of models emerging that enable a path towards sustainability for Open Source maintainers. Most notably: OpenCollective & GitHub Sponsors.  We at npm are in full support of both these initiatives, and intend to collaborate further with these organizations.

We believe the challenge in the JavaScript community is three-fold:

1. Any funding platform must strike the proper balance between making it easy to fund a publisher, without being intrusive or breaking the development lifecycle.

2. The size and depth of dependency graphs in the npm registry mean that funding high-visibility projects is not sufficient, if their dependencies are also not supported. This is an interconnected ecosystem, and just rewarding the stars will not solve the problem.

3. Despite a significant dependence on Open Source, and a widespread understanding of the business benefits of financial sustainability of the Open Source commons, large enterprise consumers are not engaged in a meaningful way for Open Source work to be quantified and measured.

As a result, past experiments in this area have typically been overly disruptive, inadequately distributed, or ultimately ineffective. 

npm, Inc. is uniquely positioned to address these challenges and ensure a fair and collaborative approach to funding Open Source maintainers.

1. npm is integral to the software development lifecycle of JavaScript developers everywhere.  We can make it easy for consumers to fund publishers who are in need of support, without resorting to hacks or workarounds that disrupt the development workflows.

2. npm has clear visibility into which dependencies throughout the tree are used by an application, even if the author of that application is only aware of the top-level dependencies. We can distribute funding support fairly to those who may be overlooked.

3. npm has clear visibility into the extent to which a given enterprise uses a set of dependencies. We are already engaged with many of the largest consumers of Open Source JavaScript. Most of them want to do the right thing, and we can help them understand what that is.

We are excited to announce that it is our intention to finalize and launch an Open Source funding platform by the end of 2019. Over the past couple months there has been a great deal of definition and work done by our engineering team to improve and grow our underlying registry systems, to make launching programs such as this possible. We have also made improvements to our policies to better address the gaps and improve our ability to continue our mission to ensure the sustainability of the Open Source JavaScript ecosystem.

Now we are ready to invite the community’s most active contributors and the biggest enterprise consumers of public open source code to a working group to finalize the platform’s definition.

Next week Ahmad, Isaac and myself will be reaching out in order to get the expertise around the table with a goal of being able to share the framework by late September. If you are interested in participating, especially if you are part of an organization that is a large net consumer of packages and you are looking to fund contributors, please reach out to us and we will try to get you involved.

We know this has been a long time coming. And, the time is now!

If you have questions or comments, please send mail to funding-contributors@npmjs.com.