NPM doesn’t capture the full benefit of an open registry of functions because, while anyone can fork and create an alternative @christophilis/is-even or @divbzero/is-even, there is no good way for developers to pick the best version of is-even.
Maybe if NPM required all package maintainers to use a namespace, the global is-even package name could resolve to the most-used fork.
So for an import like:
import isEven from 'is-even'
You could install a specific fork:
npm install --save @christophilus/is-even
Or default to the most-used fork:
npm install --save is-even
In both cases,
package.json would only contain namespaced dependencies and
npm outdated could flag if a different fork is more commonly used.