# Summary
-[Introduction](introduction.md)
+[Introduction](index.md)
* [Getting Started](getting-started.md)
* [Installation](getting-started/installation.md)
* [Package ID Specifications](reference/pkgid-spec.md)
* [Source Replacement](reference/source-replacement.md)
* [External Tools](reference/external-tools.md)
- * [Crates.io Package Policies](reference/policies.md)
* [FAQ](faq.md)
--- /dev/null
+# The Cargo Manual
+
+![Cargo Logo](images/Cargo-Logo-Small.png)
+
+Cargo is the [Rust] *package manager*. Cargo downloads your Rust project’s
+dependencies, compiles your project, makes packages, and upload them to
+[crates.io], the Rust *package registry*.
+
+
+### Sections
+
+**[Getting Started](getting-started.html)**
+
+To get started with Cargo, install Cargo (and Rust) and set up your first crate.
+
+**[Cargo Guide](guide.html)**
+
+The guide will give you all you need to know about how to use Cargo to develop
+Rust projects.
+
+**[Cargo Reference](reference.html)**
+
+The reference covers the details of various areas of Cargo.
+
+**[Frequently Asked Questions](faq.html)**
+
+[rust]: https://www.rust-lang.org/
+[crates.io]: https://crates.io/
+++ /dev/null
-# The Cargo Manual
-
-![Cargo Logo](images/Cargo-Logo-Small.png)
-
-Cargo is the [Rust] *package manager*. Cargo downloads your Rust project’s
-dependencies, compiles your project, makes packages, and upload them to
-[crates.io], the Rust *package registry*.
-
-
-### Sections
-
-**[Getting Started](getting-started.html)**
-
-To get started with Cargo, install Cargo (and Rust) and set up your first crate.
-
-**[Cargo Guide](guide.html)**
-
-The guide will give you all you need to know about how to use Cargo to develop
-Rust projects.
-
-**[Cargo Reference](reference.html)**
-
-The reference covers the details of various areas of Cargo.
-
-**[Frequently Asked Questions](faq.html)**
-
-[rust]: https://www.rust-lang.org/
-[crates.io]: https://crates.io/
IDEs and other build systems. To make integration easier, Cargo has several
facilities:
-* `cargo metadata` command, which outputs project structure and dependencies
+* a `cargo metadata` command, which outputs project structure and dependencies
information in JSON,
-* `--message-format` flag, which outputs information about a particular build,
+* a `--message-format` flag, which outputs information about a particular build,
+ and
* support for custom subcommands.
the `.d` files alongside the artifacts.
-### Custom subcommands.
+### Custom subcommands
Cargo is designed to be extensible with new subcommands without having to modify
Cargo itself. This is achieved by translating a cargo invocation of the form
These could all be references to a package `foo` version `1.2.3` from the
registry at `crates.io`
-| pkgid | name | version | url |
-|-------------------------------:|:------:|:---------:|:--------------------:|
-| `foo` | foo | * | * |
-| `foo:1.2.3` | foo | 1.2.3 | * |
-| `crates.io/foo` | foo | * | *://crates.io/foo |
-| `crates.io/foo#1.2.3` | foo | 1.2.3 | *://crates.io/foo |
-| `crates.io/bar#foo:1.2.3` | foo | 1.2.3 | *://crates.io/bar |
-| `http://crates.io/foo#1.2.3` | foo | 1.2.3 | http://crates.io/foo |
+| pkgid | name | version | url |
+|:-----------------------------|:-----:|:-------:|:----------------------:|
+| `foo` | `foo` | `*` | `*` |
+| `foo:1.2.3` | `foo` | `1.2.3` | `*` |
+| `crates.io/foo` | `foo` | `*` | `*://crates.io/foo` |
+| `crates.io/foo#1.2.3` | `foo` | `1.2.3` | `*://crates.io/foo` |
+| `crates.io/bar#foo:1.2.3` | `foo` | `1.2.3` | `*://crates.io/bar` |
+| `http://crates.io/foo#1.2.3` | `foo` | `1.2.3` | `http://crates.io/foo` |
#### Brevity of specifications
+++ /dev/null
-## Crates.io Package Policies
-
-In general, these policies are guidelines. Problems are often contextual, and
-exceptional circumstances sometimes require exceptional measures. We plan to
-continue to clarify and expand these rules over time as new circumstances
-arise. If your problem is not described below, consider [sending us an email].
-
-### Package Ownership
-
-We have a first-come, first-served policy on crate names. Upon publishing a
-package, the publisher will be made owner of the package on Crates.io.
-
-If someone wants to take over a package, and the previous owner agrees, the
-existing maintainer can add them as an owner, and the new maintainer can remove
-them. If necessary, the team may reach out to inactive maintainers and help
-mediate the process of ownership transfer.
-
-### Removal
-
-Many questions are specialized instances of a more general form: “Under what
-circumstances can a package be removed from Crates.io?”
-
-The short version is that packages are first-come, first-served, and we won’t
-attempt to get into policing what exactly makes a legitimate package. We will
-do what the law requires us to do, and address flagrant violations of the Rust
-Code of Conduct.
-
-### Squatting
-
-We do not have any policies to define 'squatting', and so will not hand over
-ownership of a package for that reason.
-
-### The Law
-
-For issues such as DMCA violations, trademark and copyright infringement,
-Crates.io will respect Mozilla Legal’s decisions with regards to content that
-is hosted.
-
-### Code of Conduct
-
-The Rust project has a [Code of Conduct] which governs appropriate conduct for
-the Rust community. In general, any content on Crates.io that violates the Code
-of Conduct may be removed. Here, content can refer to but is not limited to:
-
-- Package Name
-- Package Metadata
-- Documentation
-- Code
-
-There are two important, related aspects:
-
-- We will not be pro-actively monitoring the site for these kinds of violations,
- but relying on the community to draw them to our attention.
-- “Does this violate the Code of Conduct” is a contextual question that
- cannot be directly answered in the hypothetical sense. All of the details
- must be taken into consideration in these kinds of situations.
-
-# Security
-
-Cargo and crates.io are projects that are governed by the Rust Programming
-Language Team. Safety is one of the core principles of Rust, and to that end,
-we would like to ensure that cargo and crates.io have secure implementations.
-To learn more about disclosing security vulnerabilities, please reference the
-[Rust Security policy] for more details.
-
-Thank you for taking the time to responsibly disclose any issues you find.
-
-[Rust Security policy]: https://www.rust-lang.org/security.html
-[Code of Conduct]: https://www.rust-lang.org/conduct.html
-[sending us an email]: mailto:help@crates.io
IDEs and other build systems. To make integration easier, Cargo has several
facilities:
-* `cargo metadata` command, which outputs project structure and dependencies
+* a `cargo metadata` command, which outputs project structure and dependencies
information in JSON,
-* `--message-format` flag, which outputs information about a particular build,
+* a `--message-format` flag, which outputs information about a particular build,
+ and
* support for custom subcommands.
the `.d` files alongside the artifacts.
-# Custom subcommands.
+# Custom subcommands
Cargo is designed to be extensible with new subcommands without having to modify
Cargo itself. This is achieved by translating a cargo invocation of the form
These could all be references to a package `foo` version `1.2.3` from the
registry at `crates.io`
-| pkgid | name | version | url |
-|-------------------------------:|:------:|:---------:|:--------------------:|
-| `foo` | foo | * | * |
-| `foo:1.2.3` | foo | 1.2.3 | * |
-| `crates.io/foo` | foo | * | *://crates.io/foo |
-| `crates.io/foo#1.2.3` | foo | 1.2.3 | *://crates.io/foo |
-| `crates.io/bar#foo:1.2.3` | foo | 1.2.3 | *://crates.io/bar |
-| `http://crates.io/foo#1.2.3` | foo | 1.2.3 | http://crates.io/foo |
+| pkgid | name | version | url |
+|:-----------------------------|:-----:|:-------:|:----------------------:|
+| `foo` | `foo` | `*` | `*` |
+| `foo:1.2.3` | `foo` | `1.2.3` | `*` |
+| `crates.io/foo` | `foo` | `*` | `*://crates.io/foo` |
+| `crates.io/foo#1.2.3` | `foo` | `1.2.3` | `*://crates.io/foo` |
+| `crates.io/bar#foo:1.2.3` | `foo` | `1.2.3` | `*://crates.io/bar` |
+| `http://crates.io/foo#1.2.3` | `foo` | `1.2.3` | `http://crates.io/foo` |
## Brevity of specifications