... | ... | @@ -21,14 +21,15 @@ Once it is secure _and_ has most of the critical features people want (at least |
|
|
|
|
|
During this phase, we will try not to do too much "new client work" in C tor, since we expect that such work will become deprecated in Phase 3. We will also try to defer work that would require us to develop new features in both Rust and C tor clients.
|
|
|
|
|
|
```
|
|
|
Starts: Now.
|
|
|
Ends: Between Arti 1.2.0 and Arti 2.0.0. So 2-3 years maybe?
|
|
|
Ends: Between Arti 1.2.0 and Arti 2.0.0. Likely around late 2023?
|
|
|
Arti work: Client development
|
|
|
C Tor work: All development.
|
|
|
Supported: C Tor (client, relay). Eventually Arti (client)
|
|
|
Supported: C Tor (client, relay). Eventually Arti (client).
|
|
|
Recommended: C Tor (client, relay). Eventually Arti (client).
|
|
|
Avoid if possible: New client features that have to be implemented in C tor.
|
|
|
|
|
|
```
|
|
|
|
|
|
# Phase 3: Arti is the official Client; C tor is recommended for relays only.
|
|
|
|
... | ... | @@ -38,6 +39,7 @@ During this phase, the C tor implementation will be deprecated for client use, b |
|
|
|
|
|
During this phase we will also try to make the Arti codebase able to run as a Tor relay and/or authority. The development goal will be to reach the point where a pure-Rust Tor relay is as secure, performant, and full-featured as its C counterpart. (We do not yet ave a roadmap or milestones for this work.) While that is happening, we try to avoid adding any new _relay-side_ features to Tor that we would have to implement both in Rust and C.
|
|
|
|
|
|
```
|
|
|
Starts: Between Arti 1.2.0 and Arti 2.0.0.
|
|
|
Ends: "Arti relay support is better than C tor." No idea how long that takes.
|
|
|
Arti work: Client development, Relay development.
|
... | ... | @@ -46,8 +48,9 @@ Supported: C Tor (client, relay). Arti Client. Eventually, Arti Relay. |
|
|
Recommended: C Tor (Relay). Arti Client. Eventually, Arti Relay.
|
|
|
Avoid completely: New client features in C tor.
|
|
|
Avoid if possible: New relay features that have to be implemented in C tor.
|
|
|
```
|
|
|
|
|
|
Variations: If this phase takes a long time, we might remove the C client support part way through.
|
|
|
Variations: If this phase takes a long time, we might remove the C client support part way through.
|
|
|
|
|
|
# Phase 4: C tor deprecated entirely
|
|
|
|
... | ... | @@ -58,6 +61,7 @@ Early in this phase, all directory authorities move to Rust. |
|
|
|
|
|
This period ends once we are no longer supporting C tor relay or client code at all.
|
|
|
|
|
|
```
|
|
|
Starts: When Arti is a better relay.
|
|
|
Ends: After 1-2 years of LTS OR when it is no longer feasible to support C tor on the network, whichever comes first.
|
|
|
Arti work: All development
|
... | ... | @@ -65,11 +69,13 @@ C Tor work: Critical bugfixes only. |
|
|
Supported: C Tor (client, relay). Arti Client and Relay.
|
|
|
Recommended: Arti
|
|
|
Avoid completely: New features in C tor.
|
|
|
```
|
|
|
|
|
|
# Phase 5: No more C
|
|
|
|
|
|
Once the final LTS C tor release is out of its support window, we declare the C tor project done, and Arti is our supported implementation.
|
|
|
|
|
|
```
|
|
|
Starts: When all C implementations reach EOL.
|
|
|
Ends: ---
|
|
|
Arti work: All
|
... | ... | @@ -77,7 +83,7 @@ C Tor work: None |
|
|
Supported: Arti only.
|
|
|
Recommended: Arti only.
|
|
|
Avoid completely: C.
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
## For reference:
|
... | ... | |