<div dir="ltr"><div><div><div>Hi!<br><br>I've been reading this list since the start of wayland/weston (on google groups) and would like to thank you all for your ongoing effort :)<br><br></div>What I've been wondering lately (and also in the light of recent events) is if there is a specific reason why there's no CI (Jenkins?) and/or reviewboard system (Gerrit?). Is it because reviewing patches on the maillinglist gathers more feedback (out of previous experiences) or just because it is more comfortable for you? Is it more comfortable? I guess some system like gerrit scales better.. Or is it because no one set up something yet?<br>
<br>Has there been thought about setting up a code quality system? For example "sonar" is very good at those things and is widely used - at least in the java world. Didn't try it with C/C++ yet..<br></div><div>
<br></div>Looking forward to your answer :)<br><br></div><div>Regards,<br></div>Bernhard Friedreich<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/3/26 Thiago Macieira <span dir="ltr"><<a href="mailto:thiago.macieira@intel.com" target="_blank">thiago.macieira@intel.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Recent circumstances have shown that patch reviewing in Wayland and Weston is<br>
becoming a bottleneck for development (at least, it is perceived to be). This<br>
email is intended to begin addressing that.<br>
<br>
TL;DR: if you want to help, the best thing you can do right now is review<br>
other people's contributions.<br>
<br>
Longer:<br>
<br>
Correct or not, the perception is that only Kristian has the authority to<br>
review and accept patches into Wayland and Weston. For that reason, it seems<br>
that no one else reviews patches, leaving them all to Kristian. In turn, that<br>
means Kristian has a lot of reviews to do, in addition to writing code. That<br>
does not scale.<br>
<br>
Everyone can help in reviewing, from the newest member of the community to the<br>
oldest. Reviewing is basically two separate operations:<br>
<br>
(1) technical (objective) review:<br>
 - is the code correct?<br>
 - does it compile? Does it introduce new bugs?<br>
 - does it fix the problem that it proposed to fix? Or does it successfully<br>
   implement the feature it proposed to implement?<br>
 - will it pose future problems, architecturally, security-wise, etc.?<br>
 - does it have unit tests? Is it documenting the API?<br>
 - is the code style correct?<br>
 - ...<br>
<br>
(2) subjective review:<br>
 - does this solution belong in Wayland or Weston?<br>
 - is it in scope for the project?<br>
 - is it the right solution for the problem?<br>
 - is the API easy to use? Not confusing?<br>
 - is the code readable, and properly commented?<br>
 - is this the right time for this? Is this the best use of resources?<br>
 - ...<br>
<br>
In both cases, the more experience you have in reviewing, the better the<br>
review will be and the easier it will be to review. However, for a new<br>
contributor, starting with the technical is easier, since it's objective. In<br>
time, you'll learn how to do the subjective review too.<br>
<br>
Also, don't be afraid of doing bad reviews. Other people will review the same<br>
contribution and review reviews. If a mistake is found, everyone learns. For<br>
the subjective review, there is really no right or wrong, but a consensus of<br>
the community. So speak up.<br>
<br>
Especially, speak up if the patch looks good. If you think it passes the<br>
review criteria, *say so*. Reply to the email saying "This looks good", "Ship<br>
it!" or "Awesome, thanks!" (BTW, praise goes a long way towards making people<br>
feel welcome).<br>
<br>
Kristian and other designated people with repository access will gladly accept<br>
those reviews and apply the contribution to the codebase. Of course, they<br>
reserve the right to re-review and point out if there were any problems. But<br>
just like above, if that happens, everyone learns.<br>
<br>
=> Why you should do this?<br>
<br>
Well, if you're here, it's because you want Wayland and/or Weston to succeed.<br>
If you contribute a bit of your time and expertise, you're helping the project<br>
achieve that goal.<br>
<br>
If you have patches you have submitted yourself, by reviewing you free up the<br>
time from other reviewers, increasing the chances that your contribution will<br>
be dealt with sooner. Think also of this as tit-for-tat: if you want code<br>
reviewed, review code too.<br>
<br>
You'll also gain experience in reviewing. You'll become more familiar with the<br>
codebase. That might come in very handy if you're doing this as part of some<br>
company project.<br>
<br>
And you'll gain merit in the project. The more you contribute (in reviews or<br>
in code, but those go hand-in-hand), the more you'll be respected and the more<br>
your own opinions will be listened to. This is important when it comes to<br>
consensus-building and decision-making: Open Source Projects are not<br>
democracies and definitely not tyrannies. They are meritocracies, where those<br>
who have contributed the most get to make decisions.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Thiago Macieira - thiago.macieira (AT) <a href="http://intel.com" target="_blank">intel.com</a><br>
  Software Architect - Intel Open Source Technology Center</font></span><br>_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
<br></blockquote></div><br></div>