On 06/12/2012, at 3:56 , Simon Peyton-Jones wrote:
> Particularly valuable are offers to take responsibility for a
> particular area (eg the LLVM code generator, or the FFI). I'm
> hoping that this sea change will prove to be quite empowering,
> with GHC becoming more and more a community project, more
> resilient with fewer single points of failure.
The LLVM project has recently come to the same point. The codebase has become too large for Chris Lattner to keep track of it all, so they've moved to a formal "Code Ownership" model. People own particular directories of the code base, and the code owners are expected to review patches for those directories.
The GHC project doesn't have a formal patch review process, I think because the people with commit access on d.h.o generally know who owns what. Up until last week I think it was "SPJ owns the type checker and simplifier, and SM owns everything else." :-)
At this stage, I think it would help if we followed the LLVM approach of having a formal CODE_OWNERS file in the root path of the repo explicitly listing the code owners. That way GHC HQ knows what's covered and what still needs a maintainer. The LLVM version is here [1].
Code owners would:
1) Be the go-to person when other developers have questions about that code.
2) Fix bugs in it that no-one else has claimed.
3) Generally keep the code tidy, documented and well-maintained.
Simon: do you want a CODE_OWNERS file? If so then I can start it. I think it's better to have it directly in the repo than on the wiki, that way no-one that works on the code can miss it.
I suppose I'm the default owner of the register allocators and non-LLVM native code generators.
Ben.
[1] http://llvm.org/viewvc/llvm-project/llvm/trunk/CODE_OWNERS.TXT?view=markup