npm is a package manager for Node.js modules. It was created in 2009 by Isaac Schlueter as an open source project to help JavaScript developers share modules (aka packages) of code in a very easy and efficient way.
The npm project contains two main parts:
npm install example-package
, the npm client retrieves the
package and all related dependencies from the npm registry service.
The example output looks like this:user1-MacBook-Pro-2:~ user1$ npm install example-packagenpm http GET https://registry.npmjs.org/example-packagenpm http 200 https://registry.npmjs.org/example-packageexample-package@2.4.1 node_modules/example-package
The registry is run as a free (as in beer) public service for anyone wanting to publish an open source package and for anyone to install an open source package.
npm, Inc. is a company co-founded by npm's creator, Isaac Schlueter, along with Laurie Voss and Rod Boothby.
npm, Inc. is dedicated to the long term success of the JavaScript community, which includes the success of the open-source Node.js and npm projects.
At npm, Inc. we do three things to support this goal:
npm, Inc. has filed for trademarks for the npm name and logo. We have developed this trademark usage policy with the following goals in mind:
It's perfectly OK to use "npm" to refer to npm, Inc., to the npm software, and to the npm public registry. That's different from using npm in the name of one's own product or service.
Nominative use means it's OK to refer to something that is trademarked, but it is not OK to incorporate one company's trademark into another company's product, service, or company name. That's why you would need permission from the trademark owner to open "Discount Nike Shoes" or "iPad App Marketplace".
We ask that you get permission from npm, Inc. to use the npm name or logo as part of the name of any project, product, service, domain or company.
We will grant permission to use the npm name and logo for projects that meet the following criteria:
For other projects, we have set up the following rules around the use of the npm trademark:
Examples of ways to use the term "npm" in a name
An example of a way to refer to npm when describing your solution:
Paypal/Kappa, a hierarchical npm-registry proxy
In the case of Kappa, it is clear that the open source project name is "Kappa" so no one would be reasonably confused that it is the official npm client, or the official npm registry.
Explaining that something is a proxy of the npm registry is OK.
When in doubt about your use of the npm name or logo, please contact npm, Inc. for clarification.
Our npm Logo is very recognizable and deserves special treatment. The npm Logo signifies us, or a special relationship with us, and you should use it only with our permission. Since the goal is to avoid confusion about you being us, or your relationship with us, context counts. We will consider requests on a case-by-case basis.
Like the npm Logo, the npm Wombat graphic is a very recognizable part of the npm brand, and signifies a special relationship with the the npm project, service, or company. It should never be used except with explicit written permission. We will consider requests on a case-by-case basis.
Please be advised that, unlike the npm logo, the Wombat generally may not be used to refer to the project, service, or company in a nominative sense, as any usage will almost always imply a special relationship with npm.
This is a living document and may be updated from time to time. Please refer to the git history for this document to view the changes.
Copyright (C) npm, Inc., All rights reserved
This document may be reused under a Creative Commons Attribution-ShareAlike License.
Last modified February 02, 2016 Found a typo? Send a pull request!