New linker ownership

The new linker is quickly becoming more than just an experiment. 64-bit COFF linker is mostly feature complete, and now we are having a direct translation of the COFF linker for ELF.

Historically LLD has been suffered by over-designing and over-engineering. I don’t want to repeat that again in the new codebase, so I’d like to be an owner of the new linkers (both for ELF and COFF), so that I’m responsible to ensure all patches are reviewed (whether pre-commit or post-commit) if submitted to one of ELF or COFF directories.

Is this okay with you guys? If it sounds reasonable to you guys, I’ll create an OWNERS file under the LLD top directory and add myself for ELF and COFF.

Glad to see you're taking ownership. Long overdue. +1 for me.

LGTM

Fine with me.

-Nick

WFM, please update the OWNERS file, thanks & congrats Rui!

-Chris

LGTM

Thanks Rui! That'd be great!

cheers,
--renato

Hi Rui,

so I’d like to be an owner of the new linkers (both for ELF and COFF), …

Sounds good to me.

Do you mind if I add myself as a code owner for LLD Core / MachO, since I’ll be continuing to work on that?

Cheers,
Lang.

FWIW, that seems reasonable at some point, although it might be useful to wait until you’ve had more patches and stuff land? I would assume that Nick is still a reasonable owner for all those parts, but mayba that’s not the case?

Hi Rui,

> so I'd like to be an owner of the new linkers (both for ELF and COFF),
...

Sounds good to me.

Do you mind if I add myself as a code owner for LLD Core / MachO, since
I'll be continuing to work on that?

I'm not very familiar with convention in LLVM, but my understanding is that
one needs to became an effective owner by driving development of a project
before becoming an official owner, so in that sense you may want to act
like an owner and then wait for people to start thinking that you
effectively own that portion of the source code?

FYI, Lang’s office is next to mine. Going forward, he will have much more time than me to work on lld. I am very comfortable having Lang as the owner of the mach-o parts of lld.

-Nick

Hi Rui,

> so I'd like to be an owner of the new linkers (both for ELF and COFF),
...

Sounds good to me.

Do you mind if I add myself as a code owner for LLD Core / MachO, since
I'll be continuing to work on that?

I'm not very familiar with convention in LLVM, but my understanding is
that one needs to became an effective owner by driving development of a
project before becoming an official owner, so in that sense you may want to
act like an owner and then wait for people to start thinking that you
effectively own that portion of the source code?

Yep, pretty much.

It's no big deal for Lang to be contributing substantially in post-commit
review (& having ready access to Nick will no doubt be helpful there*) for
a bit before switching ownership.

* It'd be nice to have more lld discussions in public, too, though - the
project seems to sort of had singular interested parties for a lot of its
history, so it's lacked community dialog/discussion. (this is just a naive
view, I haven't followed the project in detail)

- Dave

I rescind my opinion on any aspect of the matter. Hopefully there can be some good dialog about this on list, but I’ll leave it to you guys.

  • David

Chandler makes a good point that Nick is the obvious current code owner of the MachO aspects of LLD. To codify current reality in CODE_OWNERS.txt, that’s straightforward and a good thing to do. There’s a bit more to it than just that, however. The goal of CODE_OWNERS.txt is to give high level guidance for who to ask questions of, seek out for code review, find for partnering up for collaborating on crazy ideas, etc… The right person for a great deal of that on LLD+Darwin is Lang, and it would be a shame to have the official listing not reflect that. It seems to me we should just keep it simple and list both Nick and Lang in CODE_OWNERS.txt. Assuming Nick and Lang are both OK with that, of course.

-Jim

Sounds good to me.

  • Lang.

The goal of CODE_OWNERS.txt is to give high level
guidance for who to ask questions of, seek out for code review, find for
partnering up for collaborating on crazy ideas, etc.. The right person for a
great deal of that on LLD+Darwin is Lang, and it would be a shame to have
the official listing not reflect that.

I agree with this point of view.

Lang knows the code well, is willing to own it and has direct access to Nick.

It seems to me we should just keep it
simple and list both Nick and Lang in CODE_OWNERS.txt. Assuming Nick and
Lang are both OK with that, of course.

Which file is this? I can't find Nick on any CODE_OWNERS.txt files.
And LLD has none.

If Nick is the owner of LLD and Rui owns LLD+COFF+ELF, I can't see why
we shouldn't put Lang as LLD+Darwin and let the hierarchical chain
mean the rest.

Given that we don't have any strict rules about ownership, and that it
doesn't mean the same as "maintainers" in the kernel or GCC, I think
we can be a bit relaxed on how we deal with it.

cheers,
--renato

Please just add a CODE_OWNERS.TXT file to the root of the lld repo, copying the formatting from the llvm or clang one. Thanks!

-Chris

SGTM. Some sub-projects have been piggy-backing on the LLVM file. Makes sense to split them into their own thing in the relevant projects themselves, especially when it’s multiple people, though, you’re right.

Nick, can you take care of that?

Sounds good!