npm 开源条款

这些 npm 开源使用条款(这些 *条款*)管理对 https://npmjs.net.cn(*网站*)以及位于 https://registry.npmjs.org 的“npm 公共注册表”(*公共注册表*)的访问和使用。npm, Inc.(*npm*)运营着这些服务中的每一个。这些条款将它们统称为 *npm 开源*。

npm 于 2022 年 3 月 10 日最后更新了这些 npm 开源条款。您可以在 https://github.com/npm/documentation/blob/main/content/policies/open-source-terms.mdx 查看先前版本。

重要条款

这些条款包括许多影响您权利和责任的重要条款,例如“免责声明”中的免责声明、“责任限制”中 npm 对您的责任限制以及“仲裁”中关于单独仲裁争议的协议。

其他条款

npm 提供其他付费服务(*付费服务*),这些服务受附加条款的约束

npm 开源和您可能同意使用的任何付费服务在这些条款中统称为 *npm 服务*。

您只能通过同意这些条款来访问或使用 npm 服务。如果 npm 向 npm 服务添加了任何其他功能,您也必须同意这些条款才能使用该新功能。您通过创建用户帐户(您的 *帐户*)或通过访问或使用 npm 服务(不创建帐户)来表明您同意这些条款。您与 npm 之间的协议是一份具有法律约束力的合同(本 *协议*)。

更改

npm 可能会在将来更改这些条款以及付费服务的附加条款。npm 将在网站上发布更改,并附上新的“最后更新”日期。如果您有帐户,npm 将通过电子邮件通知您更改,通知地址为您的帐户提供的地址,或者通过网站上的消息,或两者兼而有之。如果您没有帐户,npm 可能会通过网站上的通用公告通知您更改,但您有责任检查这些条款的更改。收到有关这些条款更改的通知后,您必须接受这些更改才能继续使用 npm 服务。您通过继续使用 npm 服务来接受对这些条款的更改。npm 可以在任何时候更改、暂停或停止 npm 服务,恕不另行通知,也不对您承担任何责任。

npm 政策

npm 尊重您的隐私,并限制使用和共享有关您通过 npm 服务收集的信息。位于 https://docs.npmjs.net.cn/policies/privacy 的隐私政策(*隐私政策*)描述了这些政策。npm 将遵守隐私政策,并尊重您通过 npm 服务选择的隐私设置。

npm 尊重版权持有人的专有权利,并根据位于 https://docs.npmjs.net.cn/dmca 的版权政策(*版权政策*)对有关通过 npm 服务涉嫌侵权的通知做出回应。

根据位于 https://docs.npmjs.net.cn/disputes 的政策(*争议政策*)解决有关公共注册表中包名、用户名和组织名称的争议。这包括“包抢注”。

所有 npm 服务的使用均受位于 https://docs.npmjs.net.cn/conduct 的行为准则(*行为准则*)的约束。

npm 允许根据位于 https://docs.npmjs.net.cn/trademark 的政策使用 npm 商标。

使用 npm 开源

根据这些条款,npm 授予您使用 npm 开源的权限。该权限对您不是独占的,您不能将其转让给他人。

您使用 npm 开源的权限使您有权执行以下操作

  1. 您可以通过 npm 在 https://www.github.com/npm/cli 发布的命令行工具(*CLI*)在公共注册表中搜索、下载、发布和管理计算机代码包(*包*),并以其他方式与公共注册表交互。

  2. 您可以使用除 CLI 之外的软件搜索、下载、发布和管理包,方法是通过 npm 公开记录或提供公开使用的应用程序编程接口(*公共 API*)。

  3. 您可以通过网站搜索和管理公共注册表中的包,并以其他方式与公共注册表交互。

  4. 您可以通过网站更新和管理您的帐户。

  5. 您可以访问、为其创建帐户并参与 npm.community 上的讨论。

条件

您使用 npm 开源的权限以及您可能拥有的使用付费服务的任何权限均受以下条件约束

  1. 您必须年满 13 周岁才能使用 npm 服务。

  2. 在 npm 宣布您不再可以使用 npm 服务后,您不得再使用 npm 服务,例如通过停用您的帐户。

  3. 您必须仅按照“可接受的使用”来使用 npm 服务。

  4. 您只能出于个人或内部商业目的访问和使用有关包安全性的数据,例如漏洞报告、审计状态报告和补充安全文档。您 *不得* 直接或作为其他产品或服务的组成部分向他人提供对包安全性数据的访问、副本或使用。

可接受的使用

  1. 您将遵守行为准则争议政策

  2. 您不会将违反 npm 可接受内容(如下所述)的材料作为软件包或以任何其他形式提交给 npm。

  3. 您不会披露您无权披露的信息,例如他人的机密信息。

  4. 未经他人明确许可,您不会复制或共享任何他人的个人身份信息。

  5. 您不会违反任何适用的法律。

  6. 未经他人明确许可,您不会使用或尝试使用他人的帐户。

  7. 您不会以金钱或其他报酬为目的,购买、出售或以其他方式交易用户名、组织名称、软件包名称或npm 服务上保留的任何其他名称。

  8. 您不会使用npm 服务的电子邮件发送功能发送广告、连锁信或其他招揽信息。

  9. 您不会使用自动化方式访问、使用或监控网站,例如使用网络爬虫、浏览器插件或附加组件,或其他非网络浏览器的计算机程序。您可以在本协议的规定下,使用公共 API 复制公共注册库中的数据。

  10. 您不会使用 npm 服务向邮件列表、新闻组或组邮件别名发送电子邮件。

  11. 您不会虚假地暗示您与 npm 有关联或得到 npm 的认可。

  12. 您不会通过 npm 服务运营非法计划,例如传销计划。

  13. 您不会深度链接到 npm 服务提供的图像或其他非超文本内容。

  14. 您不会删除从 npm 服务获取的任何材料上指示专有所有权的任何标记。

  15. 您不会通过 HTML IFRAME 显示网站的任何部分。

  16. 您不会禁用、避免或绕过 npm 服务的任何安全或访问限制,或访问不供您访问的 npm 服务部分。

  17. 您不会以不合理的请求量或旨在对 npm 服务底层 IT 系统施加不合理负载的请求来过度使用 npm 服务的基础设施。此规则有意宽松,以赋予 npm 为整个用户社区保持 npm 服务正常运行所需的灵活性。但为了画出一条清晰的界限,在任何情况下,任何个人、组织或关联公司在单月内对 npm 服务进行五百万次请求都是不合理的。如果您有大量请求的特殊需求,我们的销售团队 可以提供帮助。

  18. 您不会鼓励或协助任何其他人违反“可接受使用”条款。

可接受的内容

npm 管理员保留删除其认为不可接受的托管在 npm 服务上的内容的权利。不可接受的内容可以是软件包、自述文件、用户或组织名称,或提交给 npm 服务的任何其他内容。一些不可接受内容的例子:

  1. 非法、攻击性或其他有害的内容。这包括骚扰、不当或辱骂性的内容。

  2. 违反法律、侵犯他人知识产权、侵犯他人隐私权或其他权利,或违反与第三方签订的任何协议的内容。这包括违反他人作品的公共许可的代码。

  3. 包含恶意计算机代码的内容,例如计算机病毒、蠕虫、rootkit、后门或间谍软件。这包括为研究目的提交的内容。明确设计和记录的用于协助安全研究的工具是可以接受的,但利用 npm 注册库作为部署或传递载体的漏洞和恶意软件是不可接受的。

  4. 与 npm 命令行客户端功能上不兼容的软件包。例如,“软件包”不能仅仅是 PNG 或 JPEG 图像、电影文件或直接上传到注册库的文本文档。使用公共注册库作为通用数据库是不允许的。

  5. 仅用于“保留”名称的内容,无论是软件包名称、用户名还是组织名称。《争议政策》规定了 npm 如何处理此类“抢注”情况。

要了解如何报告可接受内容违规行为,请参阅《行为准则》。

商业内容

npm 公共注册库是关于软件包的。各种有用的软件包都是受欢迎的,从业余爱好项目到竞争性产品,从企业基础设施和工具到最新的有趣黑客或软件艺术作品。

与此同时,npm 公共注册库、网站和重要的约定,如README,不仅仅局限于代码。开发人员使用所有这些渠道更广泛地交流有关代码、谁在开发它、为什么以及如何开发的信息。

只要尊重 npm 公共注册库、网站和 npm 开源代码更广泛地保持中立,这种交流就很重要,也很受欢迎。您可以自由地将 npm 开源代码用于商业项目,提升您的职业生涯,以及用于其他商业目的。但是,您不能利用内容或系统约定使 npm 公共注册库、网站或 CLI 将商业置于代码之前。

以下类型的商业内容通常在README 文件和其他文档中是可以接受的

  1. 对软件包贡献的署名、确认、归属和其他认可。

  2. 有关如何付费、捐赠以及以其他方式支持软件包开发、软件包开发人员和软件包管理组织的信息。

  3. 来自开发、管理或赞助软件包开发的组织的徽标以及指向这些组织的链接。

  4. 有关与软件包相关的付费产品和服务的信息,例如增强版本、附加组件、商业许可条款、培训、集成或支持。

以下类型的商业内容通常不可接受

  1. READMEpackage.json 或其他显示广告的内容。

  2. 在运行时、安装时或软件开发生命周期的其他阶段显示广告的软件包,例如通过npm 脚本。包含可用于显示广告的代码的软件包是可以接受的。软件包本身显示广告是不可接受的。

  3. 主要作为广告存在的软件包,只有占位符或可忽略不计的代码、数据和其他技术内容。

这些示例只是示例。npm 将继续在决定哪些内容可接受时运用其判断。npm 将继续期望您在选择共享的内容和方式时运用自己的判断。

执行可接受的使用

npm 可能会对违反本协议的行为进行调查和起诉,直至法律允许的最大程度。npm 可能会通知执法部门并与之合作,对违反本协议的行为进行起诉。

您的账户

您必须创建并登录帐户才能访问某些 npm 服务的功能,包括 npm 开源代码。

要创建帐户,您必须提供有关您自己的某些信息,如网站或 CLI 上的帐户创建表单所要求的信息。如果您创建帐户,您至少需要提供一个有效的电子邮件地址。您将保持该电子邮件地址最新。您不会冒充任何其他人。您可以随时通过联系支持删除您的帐户。

您将对使用您的帐户执行的所有操作负责,无论是否经过您的授权,直到您关闭您的帐户或通知 npm 您的帐户安全性受到损害。如果您怀疑您的帐户安全性受到损害,您将立即通知 npm。您将为您的帐户选择一个安全的密码。您将对您的密码保密。

如果 npm 合理地认为您违反了这些条款,或如果 npm 合理地认为您滥用了 npm 服务,npm 可能会根据版权政策限制、暂停或终止您的帐户。

您的内容

本协议中的任何内容都不会赋予 npm 对您与 npm 服务共享的知识产权的任何所有权,例如您的帐户信息或您与 npm 服务共享的任何软件包(您的内容)。本协议中的任何内容都不会赋予您对 npm 通过 npm 服务提供的知识产权的任何所有权,例如软件、文档、商标、服务标志、标识或其他区别图形。

在您和 npm 之间,您对您的内容负全部责任。您不会错误地暗示您的内容是由 npm 赞助或批准的。npm 不承担存储、维护或提供您的内容副本的义务,除非根据隐私政策规定。

如果 npm 怀疑您的内容是违反“可接受使用”条款以及版权政策提交或使用的,npm 可能会在未经通知的情况下从 npm 服务中删除您的内容。

您的内容属于您。您决定是否以及如何授权它。但至少,当您共享您的内容时,您授权 npm 将您的内容提供给 npm 服务的用户。该特殊许可允许 npm 复制、发布和分析您的内容,并将分析结果与他人共享。npm 可能会运行您的内容中的计算机代码以进行分析,但 npm 的特殊许可本身并不赋予 npm 运行其产品或服务的功能代码的权利。

当您的内容从 npm 服务中删除时,无论是由您还是 npm 删除,npm 的特殊许可将在最后一个副本从 npm 的备份、缓存和其他系统中消失时结束。其他许可,例如开源许可,可能会在您的内容被删除后继续存在。这些许可可能会赋予其他人或 npm 本身将您的内容再次与 npm 服务共享的权利。

通过 npm 服务接收您内容的其他人可能会违反您授权您的内容的条款。您同意 npm 对这些违规行为或其后果不承担任何责任。

反馈

npm 欢迎您对 npm 服务的反馈和建议。您同意 npm 在未经进一步通知、同意或付款的情况下,可以自由地根据您提供的反馈和建议采取行动。您不会提交您认为是机密或专有的反馈或建议。

赔偿

您将赔偿 npm、其管理人员、董事、员工、代表和代理,并使其免受所有责任、费用、损害和成本,这些责任、费用、损害和成本来自任何第三方索赔、要求、诉讼或其他程序,指控您的内容、您对 npm 服务的使用,或两者都违反了第三方的知识产权、本协议或适用法律。未经 npm 事先书面同意,您不得与任何此类诉讼达成和解。npm 将通知您其知悉的任何此类诉讼。

免责声明

使用 npm 服务的风险由您自行承担。npm 服务按“现状”和“可用”提供。npm 明确放弃所有形式的保证,无论是明示、暗示还是法定保证,包括关于所有权、不侵权、适销性和特定用途适用性的默示保证。

npm 不保证 npm 服务将满足您的要求,以不间断、及时、安全或无错误的方式运行,也不保证 npm 服务中的错误将得到纠正。

您通过 npm 服务接收材料的风险由您自行承担。您将对您的计算机系统和网络的任何损坏以及由于使用 npm 服务或通过 npm 服务接收的材料而可能造成的任何数据丢失负全部责任。

npm 服务可能会提供不准确、不完整、误导性、非法、攻击性或其他有害的信息和软件。npm 可能会,但不会承诺,审查 npm 服务提供的内容。

npm 服务提供有关软件包所有权和许可的信息,这些信息由这些软件包的发布者提供。这些信息可能是错误的。npm 无法也不提供法律建议。

第三方服务

npm 服务可能会链接到第三方应用程序、网站和其他服务,并与之集成。您决定是否以及如何使用和与这些服务交互。npm 对此类服务或其可能提供的内容不作任何保证,也不对与这些服务相关的任何损害承担任何责任。使用此类第三方服务可能受其他条款和隐私声明的约束,这些条款和隐私声明不属于本协议,也不受 npm 控制。

责任限制

无论在任何情况下,npm 或任何用于提供 npm 服务的第三方服务提供商均不对您因使用 npm 服务或本协议而产生的任何间接损失、附带损失、后果性损失、特殊损失或惩罚性损失负责,无论这种损失是基于违反合同、违反保证、侵权行为(包括疏忽、产品责任或其他)或任何其他经济损失,无论 npm 是否已被告知发生此类损失的可能性。

在法律允许的最大范围内,npm 对您因本协议而产生的任何损失的责任,无论原因和诉讼形式如何,均不超过 50 美元。

某些司法管辖区不允许排除某些保证或限制对附带损失或后果性损失的责任。某些“免责声明”和“责任限制”可能不适用于您。

终止

您或 npm 可以在任何时候通知对方终止本协议。

本协议终止后,您使用 npm 开源软件的许可以及您可能获得的根据额外条款访问付费服务的任何许可也将终止。

以下条款在本协议终止后仍然有效:“您的内容”,“反馈”,“赔偿”,“免责声明”,“责任限制”和“一般条款”。npm 服务的用户可以在本协议终止后继续复制和分享您的内容。

付款条款

使用 npm 开源软件无需付费。如果您使用 npm 的付费服务,则我们的付费服务条款将适用,请参见 https://docs.npmjs.net.cn/policies/private-terms

一般条款

如果本协议中的某项条款以书面形式不可执行,但可以修改使其可执行,则该条款应在必要的最少范围内进行修改以使其可执行。否则,该条款应被删除。

您不得转让本协议。npm 可以将本协议转让给 npm 的任何关联公司、获得 npm 控制权的任何第三方,或购买与 npm 服务相关的 npm 资产的任何第三方。任何违反本条款的权利转让均属无效。

行使本协议下的任何权利或放弃本协议的任何违反行为均不构成对本协议其他违反行为的放弃。

本协议与您和 npm 同意的付费服务和 npm 软件的额外条款共同构成您和 npm 之间关于 npm 服务的所有协议条款。本协议取代任何其他关于 npm 服务的协议,无论书面或口头。

争议

加利福尼亚州的法律将管辖任何与本协议或您使用 npm 服务相关的争议,包括任何法律诉讼(以下简称“争议”)。

您和 npm 仅在加利福尼亚州旧金山的州或联邦法院寻求与本协议相关的禁令。您和 npm 均不会反对这些法院的管辖权、审判地或审理地。

除了寻求禁令外,您和 npm 将通过具有约束力的美国仲裁协会仲裁解决任何争议。仲裁将按照美国仲裁协会的商业仲裁规则和消费者相关争议补充程序进行。仲裁将在加利福尼亚州旧金山进行。您将以个人身份解决任何争议,而不是作为集体诉讼或其他代表性诉讼的一部分,无论是作为原告还是集体成员。在未经 npm 许可的情况下,仲裁员不得将任何争议与任何其他仲裁合并。

任何仲裁裁决将包括仲裁费用、合理的律师费以及合理的证人费用。您或 npm 可以将仲裁裁决提交给具有管辖权的任何法院执行。

通知和疑问

您可以通过 [email protected] 或邮寄至以下地址向 npm 发送通知和有关管辖 npm 产品和服务的条款的问题:

GitHub, Inc
Attn: npm Legal Department
88 Colin P Kelly Jr St
San Francisco, CA. 94107

npm 可以使用您为您的帐户提供的电子邮件地址或在网站主页或您的帐户页面上发布消息向您发送通知。