[haiku-development] Re: Apply Clang work from midar-github.master

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 15 Dec 2013 09:30:01 +0100

  
> I don't intrinsically disagree, but why would you discourage a
> contributor, who obviously has something to contribute, by increasing
> the barrier to participation. I don't think your someone who suffers
> from not invented here syndrome, but sometimes I get the feeling from
> the haiku dev's, that somewhere in the dark depths of the past, there is
> a bit of not invented here syndrome that discourges new developers from
> contributing.

Not at all.

The change is very welcome, but we want to review it. I don't know any 
project that will grant commit access to random people and let them mess with 
the sourcecode. Tools like gerrit, or pull requests on github or whatever, 
allow to make this quite painless on both sides. We decided to not use github 
for our main hosting, which makes managing pull requests a bit difficult for 
us, that's why we should go with gerrit.

It's a great tool to not only track the patches, but also keep them up to 
date, review them (line-by-line or global reviews), and so on.

The strict policy on merging only commits that do the right thing, follow the 
coding guidelines, and comply with the "Haiku Way" (whatever that means) is 
part of what makes Haiku work nicely. We keep saying everyone they can fork 
if they don't like that policy, yet it didn't happen. I guess no one is 
bothered enough.

In the long term, I think even people with commit access may go through 
Gerrit to submit their changes. This would allow peer review and testing 
before things get in the nightlies and break them. One project where they use 
a similar policy is OpenOCD. Direct commits to their git tree are allowed, 
but only for small bugfixes. Anything more involved should go through Gerrit 
and be reviewed there. They have a vote system that prevents commits with a 
negative score to be merged. This works very well for them, allowing the main 
codebase to stay clean and mostly bug-free, and still allowing people to 
easily merge the latest version of a patch in their own git checkout to test 
it and report on Gerrit.

I don't see how this is raising the bar for new commiters, quite the 
opposite. It allows some kind of mentoring through code reviews, helping 
people to get up to speed with our rules.

-- 
Adrien.

Other related posts: