|
| 1 | +- Feature Name: new_cross_org |
| 2 | +- Start Date: 2021-12-06 |
| 3 | +- RFC PR: [#590](https://github.com/rust-embedded/wg/pull/590) |
| 4 | + |
| 5 | +# Summary |
| 6 | +[summary]: #summary |
| 7 | + |
| 8 | +Move the `cross` repository to a new GitHub organisation `cross-rs`, |
| 9 | +with volunteers from the current Tools team as initial owners of the new |
| 10 | +organisation, to continue development of `cross` outside of the working group. |
| 11 | + |
| 12 | +# Motivation |
| 13 | +[motivation]: #motivation |
| 14 | + |
| 15 | +Currently the working group is responsible for maintaining |
| 16 | +[`cross`](https://github.com/rust-embedded/cross), a popular tool for |
| 17 | +cross-compiling Rust projects to different targets. While it was initially also |
| 18 | +useful for embedded development, it's no longer especially useful for standard |
| 19 | +embedded use (since Rust natively supports many popular targets), but has |
| 20 | +become popular for other use cases. |
| 21 | + |
| 22 | +Because it's no longer widely used for embedded, it has not received much |
| 23 | +maintenance from the embedded WG, with the last release over a year ago |
| 24 | +and a number of issues and PRs left open. |
| 25 | + |
| 26 | +We've previously asked for help with new maintainers [in this |
| 27 | +thread](https://github.com/rust-embedded/cross/issues/574) and received a |
| 28 | +positive response, but it doesn't seem appropriate to require these new |
| 29 | +maintainers to join an existing WG team and no action has been taken to |
| 30 | +bring any of the volunteers into the organisation. |
| 31 | + |
| 32 | +Essentially, the WG does not have the maintenance bandwidth to keep on top |
| 33 | +of `cross`, but its user community hopefully does. |
| 34 | + |
| 35 | +# Detailed design |
| 36 | +[design]: #detailed-design |
| 37 | + |
| 38 | +We transfer the `cross` repository to a new `cross-rs` organisation (created in |
| 39 | +advance of writing this RFC to ensure name availability). Volunteers from the |
| 40 | +existing Tools team will be added as owners to the new organisation, which is |
| 41 | +otherwise a separate entity from the working group. The repository's README |
| 42 | +will be updated to reflect its new organisation and the crate's `authors` field |
| 43 | +updated to remove the Tools team. The WG will maintain the default GitHub |
| 44 | +redirect to help existing users and prevent breaking old links. |
| 45 | + |
| 46 | +At this point the working group is no longer responsible for the new |
| 47 | +organisation or the `cross` project; the rest of this plan details the |
| 48 | +subsequent intentions for initial setup. |
| 49 | + |
| 50 | +It's intended that additional volunteers from outside the WG will be added as |
| 51 | +maintainers, with PR approval and write acess to the repository, and a new team |
| 52 | +in that organisation created and given publish rights to crates.io. |
| 53 | + |
| 54 | +The new organisation and moved repository would continue the WG's commitment to |
| 55 | +upholding the Rust project code of conduct, and having some existing Tools team |
| 56 | +members as the initial maintainers provides continuity of ownership and |
| 57 | +oversight as the new project gets underway. |
| 58 | + |
| 59 | +Currently cross uses Azure Pipelines for CI and the dockerhub container |
| 60 | +registry for container images, but it is envisioned this will swap to GHA |
| 61 | +and GHCR, which means CI allowances and authorisation will be provided through |
| 62 | +the new GitHub organisation. The current status of the Azure authentication |
| 63 | +details are unknown, and the dockerhub team is beyond the free limit, so |
| 64 | +continuing with those providers is not anticipated. |
| 65 | + |
| 66 | +# Drawbacks |
| 67 | +[drawbacks]: #drawbacks |
| 68 | + |
| 69 | +Current users of cross rely on the WG to provide a reliable, stable, and |
| 70 | +trustworthy tool, and abandoning it to a new organisation could betray that |
| 71 | +trust. However, the maintenance level today is insufficient to provide the |
| 72 | +desired tool quality and unlikely to change significantly in the near future. |
| 73 | +By populating the new organisation initially with the existing maintainers, |
| 74 | +continuity of ownership is provided. |
| 75 | + |
| 76 | +# Alternatives |
| 77 | +[alternatives]: #alternatives |
| 78 | + |
| 79 | +Instead of creating a new organisation, we could: |
| 80 | + |
| 81 | +* Create a new team inside the working group and have that team manage cross, |
| 82 | + adding new volunteers to the new team. However, this means the new volunteers |
| 83 | + who are only interested in cross must become WG members too, and the WG must |
| 84 | + continue to maintain a tool that is no longer especially relevant to |
| 85 | + embedded. |
| 86 | +* Continue with just the Tools team maintaining cross, potentially adding new |
| 87 | + volunteers to the Tools team. This is pretty much the status quo, so does |
| 88 | + not resolve the current maintenance problems. |
| 89 | + |
| 90 | +# Unresolved questions |
| 91 | +[unresolved]: #unresolved-questions |
| 92 | + |
| 93 | +None at this time. |
0 commit comments