1
- <PageHeader @title =" Crates.io Package Policies " />
1
+ <PageHeader @title =' Usage Policy ' />
2
2
3
3
<TextContent @boxed ={{ true }} >
4
- <p >
5
- In general, these policies are guidelines. Problems are often contextual, and
6
- exceptional circumstances sometimes require exceptional measures. We plan to
7
- continue to clarify and expand these rules over time as new circumstances
8
- arise. If your problem is not described below, consider
9
- <
a href =' mailto:[email protected] ' >sending us an email</
a >.
10
- </p >
11
-
12
- <h2 id =' package-ownership' ><a href =' #package-ownership' >Package Ownership</a ></h2 >
13
-
14
- <p >
15
- We have a first-come, first-served policy on crate names. Upon publishing a
16
- package, the publisher will be made owner of the package on Crates.io.
17
- </p >
18
-
19
- <p >
20
- If someone wants to take over a package, and the previous owner agrees, the
21
- existing maintainer can add them as an owner, and the new maintainer can remove
22
- them. If necessary, the team may reach out to inactive maintainers and help
23
- mediate the process of ownership transfer.
24
- </p >
25
-
26
- <p >
27
- Using an automated tool to claim ownership of a large number of package names
28
- is not permitted. We reserve the right to block traffic or revoke ownership
29
- of any package we determine to have been claimed by an automated tool.
30
- </p >
31
-
32
- <h2 id =' removal' ><a href =' #removal' >Removal</a ></h2 >
33
-
34
- <p >
35
- Many questions are specialized instances of a more general form: “Under what
36
- circumstances can a package be removed from Crates.io?”
37
- </p >
38
-
39
- <p >
40
- The short version is that packages are first-come, first-served, and we won’t
41
- attempt to get into policing what exactly makes a legitimate package. We will
42
- do what the law requires us to do, and address flagrant violations of the Rust
43
- Code of Conduct.
44
- </p >
45
-
46
- <h3 id =' delete-crate' ><a href =' #delete-crate' >How can I delete a crate I own from the registry?</a ></h3 >
47
-
48
- <p >
49
- You can't delete crates from the registry, but you can leave it open for
50
- transferring ownership to others.
51
- </p >
52
-
53
- <p >
54
- To do this, you must publish a version with a message in the README
55
- communicating to crates.io support team that you consent to transfer the
56
- crate to the first person who asks for it:
57
- </p >
4
+ <p ><strong >Short version:</strong >
5
+ <em >crates.io is a critical resource for the Rust ecosystem, which hosts a variety of packages from a diverse group of
6
+ users. That resource is only effective when our users are able to work together as part of a community in good
7
+ faith. While using crates.io, you must comply with our Acceptable Use Policies, which include some restrictions on
8
+ content and conduct on crates.io related to user safety, intellectual property, privacy, authenticity, and other
9
+ limitations. In short, be excellent to each other!</em ></p >
10
+
11
+ <p >We do not allow content or activity on crates.io that:</p >
12
+
13
+ <ul >
14
+ <li >violates the <a href =' https://www.rust-lang.org/policies/code-of-conduct' >Code of Conduct</a > of the Rust project</li >
15
+ <li >is unlawful or promotes unlawful activities, incurring legal liability in the countries the Rust Foundation
16
+ officially operates in</li >
17
+ <li >is libelous, defamatory, or fraudulent</li >
18
+ <li >amounts to phishing or attempted phishing</li >
19
+ <li >infringes any proprietary right of any party, including patent, trademark, trade secret, copyright, right of
20
+ publicity, or other right</li >
21
+ <li >unlawfully shares unauthorized product licensing keys, software for generating unauthorized product licensing
22
+ keys, or software for bypassing checks for product licensing keys, including extension of a free license beyond its
23
+ trial period</li >
24
+ <li >contains malicious code, such as computer viruses, computer worms, rootkits, back doors, or spyware, including
25
+ content submitted for research purposes (tools designed and documented explicitly to assist in security research are
26
+ acceptable, but exploits and malware that use the crates.io registry as a deployment or delivery vector are not)</li >
27
+ <li >uses obfuscation to hide or mask functionality</li >
28
+ <li >is discriminatory toward, harasses or abuses another individual or group</li >
29
+ <li >threatens or incites violence toward any individual or group, especially on the basis of who they are</li >
30
+ <li >is using crates.io as a platform for propagating abuse on other platforms</li >
31
+ <li >violates the privacy of any third party, such as by posting another person's personal information without
32
+ consent</li >
33
+ <li >gratuitously depicts or glorifies violence, including violent images</li >
34
+ <li >is sexually obscene or relates to sexual exploitation or abuse, including of minors (see " Sexually Obscene
35
+ Content" section below)</li >
36
+ <li >is off-topic, or interacts with platform features in a way that significantly or repeatedly disrupts the
37
+ experience of other users</li >
38
+ <li >exists only to reserve a name for a prolonged period of time (often called " name squatting" ) without
39
+ having any genuine functionality, purpose, or significant development activity on the corresponding repository</li >
40
+ <li >is related to buying, selling, or otherwise trading of package names or any other names on crates.io for money or
41
+ other compensation</li >
42
+ <li >impersonates any person or entity, including through false association with crates.io, or by fraudulently
43
+ misrepresenting your identity or site's purpose</li >
44
+ <li >is related to inauthentic interactions, such as fake accounts and automated inauthentic activity</li >
45
+ <li >is using our servers for any form of excessive automated bulk activity, to place undue burden on our servers
46
+ through automated means, or to relay any form of unsolicited advertising or solicitation through our servers, such
47
+ as get-rich-quick schemes</li >
48
+ <li >is using our servers for other automated excessive bulk activity or coordinated inauthentic activity, such as</li >
49
+ <li >spamming</li >
50
+ <li >cryptocurrency mining</li >
51
+ <li >is not functionally compatible with the cargo build tool (for example, a " package" cannot simply be a
52
+ PNG or JPEG image, a movie file, or a text document uploaded directly to the registry)</li >
53
+ <li >is abusing the package index for purposes it was not intended</li >
54
+ </ul >
55
+
56
+ <p >You are responsible for using crates.io in compliance with all applicable laws, regulations, and all of our policies.
57
+ These policies may be updated from time to time. We will interpret our policies and resolve disputes in favor of
58
+ protecting users as a whole. The crates.io team reserves the possibility to evaluate each instance on a case-by-case
59
+ basis.</p >
60
+
61
+ <p >For issues such as DMCA violations, or trademark and copyright infringements, the crates.io team will respect the
62
+ legal decisions of the <a href =' https://rustfoundation.org/' >Rust Foundation</a > as the official legal entity
63
+ providing the crates.io service.</p >
64
+
65
+ <h2 id =' package-ownership' >Package Ownership</h2 >
66
+
67
+ <p >crates.io has a first-come, first-serve policy on crate names. Upon publishing a package, the publisher will be made
68
+ owner of the package on crates.io.</p >
69
+
70
+ <p >If you want to take over a package, we require you to first try and contact the current owner directly. If the
71
+ current owner agrees, they can add you as an owner of the crate, and you can then remove them, if necessary. If the
72
+ current owner is not reachable or has not published any contact information the crates.io team may reach out to help
73
+ mediate the process of the ownership transfer.</p >
74
+
75
+ <p >Crate deletion by their owners is not possible to keep the registry as immutable as possible. If you want to flag
76
+ your crate as open for transferring ownership to others, you can publish a new version with a message in the README or
77
+ description communicating to thecrates.io support team that you consent to transfer the crate to the first person who
78
+ asks for it:</p >
58
79
59
80
<blockquote >
60
81
I consent to the transfer of this crate to the first person who asks
61
82
62
83
</blockquote >
63
84
64
- <h3 id =' squatting' ><a href =' #squatting' >Squatting</a ></h3 >
85
+ <p >The crates.io team may delete crates from the registry that do not comply with the policies on this document. In
86
+ larger cases of squatting attacks this may happen without prior notification to the author, but in most cases the team
87
+ will first give the author the chance to justify the purpose of the crate.</p >
65
88
66
- <p >
67
- We do not have any policies to define 'squatting', and so will not hand over
68
- ownership of a package for that reason.
69
- </p >
89
+ <h2 id =' data-access' >Data Access</h2 >
70
90
71
- <h3 id =' the-law' ><a href =' #the-law' >The Law</a ></h3 >
91
+ <p >Details on how to access the crates.io data can be found on the dedicated <LinkTo @route =" data-access" >Data Access
92
+ Policy</LinkTo > page.</p >
72
93
73
- <p >
74
- For issues such as DMCA violations, trademark and copyright infringement,
75
- Crates.io will respect the <a href =' https://foundation.rust-lang.org' >Rust Foundation</a >'s legal decisions with regards to content that
76
- is hosted.
77
- </p >
94
+ <h2 id =' security' >Security</h2 >
78
95
79
- <h3 id =' code-of-conduct' ><a href =' #code-of-conduct' >Code of Conduct</a ></h3 >
96
+ <p >Safety is one of the core principles of Rust, and to that end, we would like to ensure that cargo and crates.io have
97
+ secure implementations. To learn more about disclosing security vulnerabilities for these tools, please reference the
98
+ <a href =' https://www.rust-lang.org/policies/security' >Rust Security policy</a >
99
+ for more details.</p >
80
100
81
- <p >
82
- The Rust project has a
83
- <a href =' https://www.rust-lang.org/conduct.html' >Code of Conduct</a >
84
- which governs appropriate conduct for the Rust community. In
85
- general, any content on Crates.io that violates the Code of Conduct may be
86
- removed. Here, content can refer to but is not limited to:
87
- </p >
101
+ <p >Note that this policy only applies to official Rust projects like crates.io and cargo, and not individual crates. The
102
+ crates.io team and the Security Response working group are not responsible for the disclosure of vulnerabilities to
103
+ specific crates, and if any issues are found, you should seek guidance from the individual crate owners and their
104
+ specific policies instead.</p >
88
105
89
- <ul >
90
- <li >Package Name</li >
91
- <li >Package Metadata</li >
92
- <li >Documentation</li >
93
- <li >Code</li >
94
- </ul >
106
+ <p >Thank you for taking the time to responsibly disclose any issues you find.</p >
95
107
96
- <p >
97
- There are two important, related aspects:
98
- </p >
108
+ <h2 id =' sexually-obscene-content' >Sexually Obscene Content</h2 >
109
+
110
+ <p >We do not tolerate content associated with sexual exploitation or abuse of another individual, including where minors
111
+ are concerned. We do not allow sexually themed or suggestive content that serves little or no purpose other than to
112
+ solicit an erotic or shocking response, particularly where that content is amplified by its placement in profiles or
113
+ other social contexts.</p >
114
+
115
+ <p >This includes:</p >
99
116
100
117
<ul >
101
- <li >
102
- We will not be pro-actively monitoring the site for these kinds of
103
- violations, but relying on the community to draw them to our attention.
118
+ <li >Pornographic content</li >
119
+ <li >Non-consensual intimate imagery</li >
120
+ <li >Graphic depictions of sexual acts including photographs, video, animation, drawings, computer-generated images, or
121
+ text-based content
104
122
</li >
105
123
106
- <li >
107
- “Does this violate the Code of Conduct” is a contextual question that
108
- cannot be directly answered in the hypothetical sense. All of the details
109
- must be taken into consideration in these kinds of situations.
110
- </li >
111
- </ul >
124
+ </ul >
125
+
126
+ <p >We recognize that not all nudity or content related to sexuality is obscene. We may allow visual and/or textual
127
+ depictions in artistic, educational, historical or journalistic contexts, or as it relates to victim advocacy. In some
128
+ cases a disclaimer can help communicate the context of the project.</p >
129
+
130
+ <h2 id =' violations-and-enforcement' >Violations and Enforcement</h2 >
131
+
132
+ <p >crates.io retains full discretion to take action in response to a violation of these policies, including account
133
+ suspension, account termination, or removal of content.</p >
134
+
135
+ <p >We will however not be proactively monitoring the site for these kinds of violations, but instead relying on the
136
+ community to draw them to our attention.</p >
137
+
138
+ <p >While the majority of interactions between individuals in the Rust community falls within our policies, violations of
139
+ those policies do occur at times. When they do, the crates.io team may need to take enforcement action to address the
140
+ violations. In all cases, content and account deletion is permanent and there is no basis to reverse these moderation
141
+ actions taken by the crates.io team. Account suspension may be lifted at the team's discretion however, for
142
+ example in the case of someone's account being compromised.</p >
143
+
144
+ <h2 id =' credits-license' >Credits & License</h2 >
145
+
146
+ <p >This policy is partially based on
147
+ <a href =' https://github.com/pypi/warehouse/blob/3c404ada9fed7a03bbf7c3c74e86c383f705d96a/policies/acceptable-use-policy.md' >
148
+ PyPI’s Acceptable Use Policy</a > and modified from its original form.</p >
112
149
113
- <h2 id =' security' ><a href =' #security' >Security</a ></h2 >
114
-
115
- <p >
116
- Cargo and crates.io are projects that are governed by the Rust Programming
117
- Language Team. Safety is one of the core principles of Rust, and to that end,
118
- we would like to ensure that cargo and crates.io have secure implementations.
119
- To learn more about disclosing security vulnerabilities, please reference the
120
- <a href =' https://www.rust-lang.org/security.html' >Rust Security policy</a > for
121
- more details.
122
- </p >
123
-
124
- <p >
125
- Thank you for taking the time to responsibly disclose any issues you find.
126
- </p >
127
-
128
- <h2 id =' crawlers' ><a href =' #crawlers' >Crawlers</a ></h2 >
129
-
130
- <p >
131
- Before resorting to crawling crates.io, please read
132
- <LinkTo @route =" data-access" >Accessing the Crates.io Data</LinkTo >.
133
- </p >
134
-
135
- <p >
136
- We allow our API and website to be crawled by commercial crawlers such as
137
- GoogleBot. At our discretion, we may choose to allow access to experimental
138
- crawlers, as long as they limit their request rate to 1 request per second or
139
- less.
140
- </p >
141
-
142
- <p >
143
- We also require all crawlers to provide a user-agent header that allows us to
144
- uniquely identify your bot. This allows us to more accurately monitor any
145
- impact your bot may have on our service. Providing a user agent that only
146
- identifies your HTTP client library (such as "<code >request/0.9.1</code >") increases the
147
- likelihood that we will block your traffic.
148
-
149
- It is recommended, but not required, to include contact information in your user
150
- agent. This allows us to contact you if we would like a change in your bot's
151
- behavior without having to block your traffic.
152
- </p >
153
-
154
- <p >
155
- Bad: "<code >User-Agent: reqwest/0.9.1</code >"<br >
156
- Better: "<code >User-Agent: my_bot</code >"<br >
157
- Best: "<code >User-Agent: my_bot (my_bot.com/info)</code >" or "<code >User-Agent: my_bot (help@my_bot.com)</code >"
158
- </p >
159
-
160
- <p >
161
- We reserve the right to block traffic from any bot that we determine to be in
162
- violation of this policy or causing an impact on the integrity of our service.
163
- </p >
150
+ <p >Licensed under the
151
+ <a href =' https://creativecommons.org/licenses/by/4.0/' >Creative Commons Attribution 4.0 International license</a >.</p >
164
152
</TextContent >
0 commit comments