Wayland logo

Reviewing Patches

TL;DR: if you want to help, the best thing you can do right now is review other people's patches on the mailing list.


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:

(2) Subjective review:

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!" (praise goes a long way towards making people feel welcome). In addition, add the line Reviewed-by: Real Name <my@email.address> so people pushing patches upstream can make it part of the commit message.

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.