← Back to context

Comment by KolmogorovComp

6 hours ago

Concretely, how are you going to manage PR reviews? Even with today’s staff they are very slow (weeks for a round of NITS at a time), so with more developers leaving they’re going to explode and further discourage external contributors.

Like we always have. See https://zulip.readthedocs.io/en/latest/contributing/review-p... for the basics; but it's all written down in ReadTheDocs.

Like most large projects, we triage every new PR, and make decisions about which ones to invest what level of maintainer time into. We try pretty hard to efficiently review visibly high-quality PRs and those from highly engaged contributors who are visibly learning from the feedback we give.

Review latencies vary for myriad reasons. For example, when preparing to publish a major release like Zulip 12.0, there's about a month wherein we mostly only review PRs that might go into that release.

Historically, the great majority of PRs in zulip/zulip have been reviewed by two maintainers before being merged. First a "maintainer review", and then a second "integration review" by me. My reviewing everything is a quite unusual practice for a project of this scale, and I would not recommend anyone else try it. But it has worked for us, and everyone appreciated my having the complete context that comes with this practice.

All of our maintainers are very good at reviewing Zulip work. Thus, the great majority of those integration reviews involve my suggesting readability/documentation improvements, or merging the PR with just a comment thanking everyone who helped. So we're making the obvious adjustment wherein the other longtime maintainers also do integration reviews.

We've been writing a great deal of nice process documentation to support this plan (For example: https://github.com/zulip/zulip/pull/39290 details how I think about integration review, and https://github.com/zulip/zulip/pull/39229 greatly improves our database migration documentation).

I plan to hold regular office hours for more active project maintainers to use my time as they wish. It is likely that some of that time will be used doing reviews.

I hope this context helps!