1
1
<PageHeader @title =" Crates.io Package Policies" />
2
2
3
- <p >
4
- In general, these policies are guidelines. Problems are often contextual, and
5
- exceptional circumstances sometimes require exceptional measures. We plan to
6
- continue to clarify and expand these rules over time as new circumstances
7
- arise. If your problem is not described below, consider
8
- <
a href =' mailto:[email protected] ' >sending us an email</
a >.
9
- </p >
10
-
11
- <h2 id =' package-ownership' ><a href =' #package-ownership' >Package Ownership</a ></h2 >
12
-
13
- <p >
14
- We have a first-come, first-served policy on crate names. Upon publishing a
15
- package, the publisher will be made owner of the package on Crates.io.
16
- </p >
17
-
18
- <p >
19
- If someone wants to take over a package, and the previous owner agrees, the
20
- existing maintainer can add them as an owner, and the new maintainer can remove
21
- them. If necessary, the team may reach out to inactive maintainers and help
22
- mediate the process of ownership transfer.
23
- </p >
24
-
25
- <p >
26
- Using an automated tool to claim ownership of a large number of package names
27
- is not permitted. We reserve the right to block traffic or revoke ownership
28
- of any package we determine to have been claimed by an automated tool.
29
- </p >
30
-
31
- <h2 id =' removal' ><a href =' #removal' >Removal</a ></h2 >
32
-
33
- <p >
34
- Many questions are specialized instances of a more general form: “Under what
35
- circumstances can a package be removed from Crates.io?”
36
- </p >
37
-
38
- <p >
39
- The short version is that packages are first-come, first-served, and we won’t
40
- attempt to get into policing what exactly makes a legitimate package. We will
41
- do what the law requires us to do, and address flagrant violations of the Rust
42
- Code of Conduct.
43
- </p >
44
-
45
- <h3 id =' delete-crate' ><a href =' #delete-crate' >How can I delete a crate I own from the registry?</a ></h3 >
46
-
47
- <p >
48
- You can't delete crates from the registry, but you can leave it open for
49
- transferring ownership to others.
50
- </p >
51
-
52
- <p >
53
- To do this, you must publish a version with a message in the README
54
- communicating to crates.io support team that you consent to transfer the
55
- crate to the first person who asks for it:
56
- </p >
57
-
58
- <blockquote >
59
- I consent to the transfer of this crate to the first person who asks
60
-
61
- </blockquote >
62
-
63
- <h3 id =' squatting' ><a href =' #squatting' >Squatting</a ></h3 >
64
-
65
- <p >
66
- We do not have any policies to define 'squatting', and so will not hand over
67
- ownership of a package for that reason.
68
- </p >
69
-
70
- <h3 id =' the-law' ><a href =' #the-law' >The Law</a ></h3 >
71
-
72
- <p >
73
- For issues such as DMCA violations, trademark and copyright infringement,
74
- Crates.io will respect the <a href =' https://foundation.rust-lang.org' >Rust Foundation</a >'s legal decisions with regards to content that
75
- is hosted.
76
- </p >
77
-
78
- <h3 id =' code-of-conduct' ><a href =' #code-of-conduct' >Code of Conduct</a ></h3 >
79
-
80
- <p >
81
- The Rust project has a
82
- <a href =' https://www.rust-lang.org/conduct.html' >Code of Conduct</a >
83
- which governs appropriate conduct for the Rust community. In
84
- general, any content on Crates.io that violates the Code of Conduct may be
85
- removed. Here, content can refer to but is not limited to:
86
- </p >
87
-
88
- <ul >
89
- <li >Package Name</li >
90
- <li >Package Metadata</li >
91
- <li >Documentation</li >
92
- <li >Code</li >
93
- </ul >
94
-
95
- <p >
96
- There are two important, related aspects:
97
- </p >
98
-
99
- <ul >
100
- <li >
101
- We will not be pro-actively monitoring the site for these kinds of
102
- violations, but relying on the community to draw them to our attention.
103
- </li >
104
-
105
- <li >
106
- “Does this violate the Code of Conduct” is a contextual question that
107
- cannot be directly answered in the hypothetical sense. All of the details
108
- must be taken into consideration in these kinds of situations.
109
- </li >
110
- </ul >
111
-
112
- <h2 id =' security' ><a href =' #security' >Security</a ></h2 >
113
-
114
- <p >
115
- Cargo and crates.io are projects that are governed by the Rust Programming
116
- Language Team. Safety is one of the core principles of Rust, and to that end,
117
- we would like to ensure that cargo and crates.io have secure implementations.
118
- To learn more about disclosing security vulnerabilities, please reference the
119
- <a href =' https://www.rust-lang.org/security.html' >Rust Security policy</a > for
120
- more details.
121
- </p >
122
-
123
- <p >
124
- Thank you for taking the time to responsibly disclose any issues you find.
125
- </p >
126
-
127
- <h2 id =' crawlers' ><a href =' #crawlers' >Crawlers</a ></h2 >
128
-
129
- <p >
130
- Before resorting to crawling crates.io, please read
131
- <LinkTo @route =" data-access" >Accessing the Crates.io Data</LinkTo >.
132
- </p >
133
-
134
- <p >
135
- We allow our API and website to be crawled by commercial crawlers such as
136
- GoogleBot. At our discretion, we may choose to allow access to experimental
137
- crawlers, as long as they limit their request rate to 1 request per second or
138
- less.
139
- </p >
140
-
141
- <p >
142
- We also require all crawlers to provide a user-agent header that allows us to
143
- uniquely identify your bot. This allows us to more accurately monitor any
144
- impact your bot may have on our service. Providing a user agent that only
145
- identifies your HTTP client library (such as "<code >request/0.9.1</code >") increases the
146
- likelihood that we will block your traffic.
147
-
148
- It is recommended, but not required, to include contact information in your user
149
- agent. This allows us to contact you if we would like a change in your bot's
150
- behavior without having to block your traffic.
151
- </p >
152
-
153
- <p >
154
- Bad: "<code >User-Agent: reqwest/0.9.1</code >"<br >
155
- Better: "<code >User-Agent: my_bot</code >"<br >
156
- Best: "<code >User-Agent: my_bot (my_bot.com/info)</code >" or "<code >User-Agent: my_bot (help@my_bot.com)</code >"
157
- </p >
158
-
159
- <p >
160
- We reserve the right to block traffic from any bot that we determine to be in
161
- violation of this policy or causing an impact on the integrity of our service.
162
- </p >
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 >
58
+
59
+ <blockquote >
60
+ I consent to the transfer of this crate to the first person who asks
61
+
62
+ </blockquote >
63
+
64
+ <h3 id =' squatting' ><a href =' #squatting' >Squatting</a ></h3 >
65
+
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 >
70
+
71
+ <h3 id =' the-law' ><a href =' #the-law' >The Law</a ></h3 >
72
+
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 >
78
+
79
+ <h3 id =' code-of-conduct' ><a href =' #code-of-conduct' >Code of Conduct</a ></h3 >
80
+
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 >
88
+
89
+ <ul >
90
+ <li >Package Name</li >
91
+ <li >Package Metadata</li >
92
+ <li >Documentation</li >
93
+ <li >Code</li >
94
+ </ul >
95
+
96
+ <p >
97
+ There are two important, related aspects:
98
+ </p >
99
+
100
+ <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.
104
+ </li >
105
+
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 >
112
+
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 >
164
+ </TextContent >
0 commit comments