Helping in reviewing
Thiago Macieira
thiago.macieira at intel.com
Tue Mar 26 10:52:19 PDT 2013
Recent circumstances have shown that patch reviewing in Wayland and Weston is
becoming a bottleneck for development (at least, it is perceived to be). This
email is intended to begin addressing that.
TL;DR: if you want to help, the best thing you can do right now is review
other people's contributions.
Longer:
Correct or not, the perception is that only Kristian has the authority to
review and accept patches into Wayland and Weston. For that reason, it seems
that no one else reviews patches, leaving them all to Kristian. In turn, that
means Kristian has a lot of reviews to do, in addition to writing code. That
does not scale.
Everyone can help in reviewing, from the newest member of the community to the
oldest. Reviewing is basically two separate operations:
(1) technical (objective) review:
- is the code correct?
- does it compile? Does it introduce new bugs?
- does it fix the problem that it proposed to fix? Or does it successfully
implement the feature it proposed to implement?
- will it pose future problems, architecturally, security-wise, etc.?
- does it have unit tests? Is it documenting the API?
- is the code style correct?
- ...
(2) subjective review:
- does this solution belong in Wayland or Weston?
- is it in scope for the project?
- is it the right solution for the problem?
- is the API easy to use? Not confusing?
- is the code readable, and properly commented?
- is this the right time for this? Is this the best use of resources?
- ...
In both cases, the more experience you have in reviewing, the better the
review will be and the easier it will be to review. However, for a new
contributor, starting with the technical is easier, since it's objective. In
time, you'll learn how to do the subjective review too.
Also, don't be afraid of doing bad reviews. Other people will review the same
contribution and review reviews. If a mistake is found, everyone learns. For
the subjective review, there is really no right or wrong, but a consensus of
the community. So speak up.
Especially, speak up if the patch looks good. If you think it passes the
review criteria, *say so*. Reply to the email saying "This looks good", "Ship
it!" or "Awesome, thanks!" (BTW, praise goes a long way towards making people
feel welcome).
Kristian and other designated people with repository access will gladly accept
those reviews and apply the contribution to the codebase. Of course, they
reserve the right to re-review and point out if there were any problems. But
just like above, if that happens, everyone learns.
=> Why you should do this?
Well, if you're here, it's because you want Wayland and/or Weston to succeed.
If you contribute a bit of your time and expertise, you're helping the project
achieve that goal.
If you have patches you have submitted yourself, by reviewing you free up the
time from other reviewers, increasing the chances that your contribution will
be dealt with sooner. Think also of this as tit-for-tat: if you want code
reviewed, review code too.
You'll also gain experience in reviewing. You'll become more familiar with the
codebase. That might come in very handy if you're doing this as part of some
company project.
And you'll gain merit in the project. The more you contribute (in reviews or
in code, but those go hand-in-hand), the more you'll be respected and the more
your own opinions will be listened to. This is important when it comes to
consensus-building and decision-making: Open Source Projects are not
democracies and definitely not tyrannies. They are meritocracies, where those
who have contributed the most get to make decisions.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130326/756d489e/attachment.pgp>
More information about the wayland-devel
mailing list