Skip to content

Document repositories maintained by the T-compiler #918

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

apiraino
Copy link
Contributor

@apiraino apiraino commented Jul 17, 2025

There was a discussion on Zulip a while ago about "what happens when one becomes a team member". One of the confusing things was (at least in my experience) that one gains write permissions on a number of git repositories under the organization umbrella without being able to understand what they are.

So, following a suggestion of @jieyouxu (hey 👋 ), I thought about a page trying to add a bit of context for the repositories we maintain, see this list.

Content and wording of this page are open to discussion. happy to get suggestions especially from people who know more about these repos :)

Rendered

@rustbot
Copy link
Collaborator

rustbot commented Jul 17, 2025

r? @lcnr

rustbot has assigned @lcnr.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 17, 2025

The obvious focus of the Compiler Team is the [rustc] compiler itself, but the team also maintains a few other repositories:

- An experimental [C codegen backend][c-backend] for rustc, which lowers Rust MIR to C code and compiles it with a C compiler. Currently maintained by X and Y.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussion:

Currently maintained by X and Y.

do all these "Currently maintained by X and Y" make sense? Do we have specific people more or less de-facto official maintainers for these repositories?

or just remove this wording?

Copy link
Member

@jieyouxu jieyouxu Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's an interesting question, because compiler team might have maintain-level access to a r-l/* repo, but doesn't necessarily actively maintain it as a whole team.

The obvious focus of the Compiler Team is the [rustc] compiler itself, but the team also maintains a few other repositories:

- An experimental [C codegen backend][c-backend] for rustc, which lowers Rust MIR to C code and compiles it with a C compiler. Currently maintained by X and Y.
- A [Cranelift][cranelift-backend] experimental rustc backend, based on [Cranelift]. This has the potential to improve compilation times in debug mode. Currently maintained by X and Y.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Effectively just me right now.

- A Rust port of the [LLVM::APFloat][rustc_apfloat] library. Maintained by X abnd Y.
- A fork of [Enzyme], a high-performance automatic differentiator of LLVM and MLIR (more info at this [link][enzyme-mit]). The fork is currently maintained by X and Y.
- [Thorin], a DWARF packaging utility supporting GNU extension and DWARF 5 package formats. Maintained by X and Y.
- The [Rust Forge][forge], the documentation website you're reading. Maintained by the Rust project.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like the GCC backend is missing from this list.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cg_gcc is probably not maintained by the compiler team as a whole, it's maintained by the
wg-gcc-backend WG

Copy link
Contributor Author

@apiraino apiraino Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We as T-compiler have "only" write permissions on that repo (see list). Do you think this should be changed? Or maybe just add the repo to the list even if we don't have maintain role?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antoyo and @GuillaumeGomez what do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll let @antoyo confirm but on my end I think it's fine adding cg_gcc to the list.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We as T-compiler have "only" write permissions on that repo (see list). Do you think this should be changed? Or maybe just add the repo to the list even if we don't have maintain role?

I don't think compiler needs maintain access. Infra-wise, principle of least priviledges.

Copy link
Member

@Kobzol Kobzol Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We as T-compiler have "only" write permissions on that repo (see list). Do you think this should be changed? Or maybe just add the repo to the list even if we don't have maintain role?

Note that the "maintain" role shouldn't ideally be used for anything, it is not necessary for most use-cases. So having the "maintain" role doesn't mean that a team maintains a specific repository. In fact even "write" doesn't mean that; maintaining something and having write access to it is a bit different, conceptually 😅

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm OK with adding this to the list.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the "maintain" role shouldn't ideally be used for anything, it is not necessary for most use-cases.

Interesting. Do you think then we should downgrade the role of T-compiler from maintain to write to make everything consistent?

Copy link
Member

@Kobzol Kobzol Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, yes. There are some repos where maintain was needed for some specific permissions, but usually it shouldn't be required. It's hard to tell where downgrading is "safe" and where not though.


The obvious focus of the Compiler Team is the [rustc] compiler itself, but the team also maintains a few other repositories:

- An experimental [C codegen backend][c-backend] for rustc, which lowers Rust MIR to C code and compiles it with a C compiler. Currently maintained by X and Y.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remark: I think this is mostly a GSoC project or an experimental backend, I don't think compiler (as in the whole team) really maintains it. It's maintained by the codegen_c_maintainers subteam.

- A Rust port of the [LLVM::APFloat][rustc_apfloat] library. Maintained by X abnd Y.
- A fork of [Enzyme], a high-performance automatic differentiator of LLVM and MLIR (more info at this [link][enzyme-mit]). The fork is currently maintained by X and Y.
- [Thorin], a DWARF packaging utility supporting GNU extension and DWARF 5 package formats. Maintained by X and Y.
- The [Rust Forge][forge], the documentation website you're reading. Maintained by the Rust project.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cg_gcc is probably not maintained by the compiler team as a whole, it's maintained by the
wg-gcc-backend WG


- An experimental [C codegen backend][c-backend] for rustc, which lowers Rust MIR to C code and compiles it with a C compiler. Currently maintained by X and Y.
- A [Cranelift][cranelift-backend] experimental rustc backend, based on [Cranelift]. This has the potential to improve compilation times in debug mode. Currently maintained by X and Y.
- A Rust port of the [LLVM::APFloat][rustc_apfloat] library. Maintained by X abnd Y.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remark: I'm not sure about rustc_apfloat, it has licensing differences as it uses Apache 2 with LLVM exception. See https://github.com/rust-lang/rustc_apfloat#licensing.

- An experimental [C codegen backend][c-backend] for rustc, which lowers Rust MIR to C code and compiles it with a C compiler. Currently maintained by X and Y.
- A [Cranelift][cranelift-backend] experimental rustc backend, based on [Cranelift]. This has the potential to improve compilation times in debug mode. Currently maintained by X and Y.
- A Rust port of the [LLVM::APFloat][rustc_apfloat] library. Maintained by X abnd Y.
- A fork of [Enzyme], a high-performance automatic differentiator of LLVM and MLIR (more info at this [link][enzyme-mit]). The fork is currently maintained by X and Y.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remark: Enzyme is mostly maintained by @ZuseZ4, I don't think it's really maintained by the compiler team as a whole.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also "maintain" is a strong word, I update our fork every once in a while when I see relevant improvements in Enzyme. I just have two extra commits that I carry along till I find a better location to push them to.
But I assume most of our forks are like that?

@lcnr
Copy link
Contributor

lcnr commented Jul 17, 2025

r? @jieyouxu

@rustbot rustbot assigned jieyouxu and unassigned lcnr Jul 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants