4 exercises — responding to review feedback, clarifying ambiguous issues, reviving stale PRs, and post-merge follow-up.
0 / 13 completed
1 / 13
A maintainer reviewed your PR and left this comment: "This needs to follow the existing handler pattern rather than introducing a new abstraction." How do you respond?
Option C demonstrates professional, collaborative response to maintainer feedback:
Structure breakdown: 1. "Got it — I'll refactor" — acknowledges and commits to the change in the first sentence. No defensiveness, no qualifiers. The maintainer knows you've heard them. 2. Shows you've done the research — "looking at src/handlers/, the convention is to extend BaseHandler and register via HandlerRegistry.register()" — you read the code before asking, which respects the maintainer's time 3. Asks a targeted question — "does that look right to you?" — one specific question, not a list of questions. This tells the maintainer you're ready to act once they confirm one thing 4. States the reason for the question — "so I don't miss something structural before rewriting" — explains why the confirmation matters. The maintainer can give a specific answer or flag if there's a nuance you missed 5. Commits to a timeline — "happy to push an update today" — shows commitment and gives the maintainer confidence the PR won't stall
Why "my approach is cleaner" is harmful here: Even if your approach IS cleaner, the right time to argue for it was before the implementation, not after a review comment on an existing PR. If you believe it strongly, you can raise it as a separate issue or discussion after your PR merges. Fighting in a PR review thread is exhausting for maintainers and makes them less likely to accept future contributions from you.
Why "I'll redo it" without the question is insufficient: If you rewrite based on incomplete understanding and still miss the convention, it creates another round of review. The clarifying question is efficient, not a sign of uncertainty.
2 / 13
You found an open issue where the expected behaviour is ambiguous. Two comments suggest different implementations, and the issue is 8 months old. You want to work on it. What do you write?
Option C is the correct way to ask for clarification before starting work:
Why this message is effective: 1. Establishes intent first — "I'd like to work on this if it's still open" — saves the clarification round if the issue is already resolved 2. Demonstrates research — summarises the two approaches by reference (comment numbers, contributor handles) — shows you read the whole thread, not just the title 3. Names the specific ambiguity — "different implications for [specific edge case]" — makes the question concrete. The maintainer can answer "yes, approach A is correct for that case" in one sentence 4. States your interpretation — "my reading is that approach A better matches the original intent" — gives the maintainer something to agree or correct, rather than answering from scratch 5. "So I don't spend time going in the wrong direction" — explains why the question matters. Also signals that you understand the maintainer's time matters: a brief answer now prevents a misdirected PR later 6. "If this has already been claimed" — professional close. Acknowledges that you might be late, without being needy about it
Why "is this still an issue?" alone is insufficient: If the maintainer says "yes", you're still stuck not knowing which approach to implement. Always combine "is it still open?" with the relevant question.
The "obviously the solution is" trap: In an 8-month-old thread with competing approaches, nothing is obvious. Declaring your approach correct before confirming looks overconfident and can start the relationship on a bad footing.
3 / 13
Your PR has been sitting without review for 6 weeks. The project is active (last commit 3 days ago). How do you follow up without being demanding?
Option C demonstrates the professional stale PR follow-up:
Why this message works: 1. "Gentle ping — I know review capacity is always a constraint" — acknowledges the maintainer's reality. Open source maintainers are almost always under-resourced. This framing positions you as understanding, not demanding. 2. "No pressure" — explicitly releases the social pressure. This is not just politeness; it makes the maintainer more likely to engage because they're not being guilted into it. 3. "A few updates since I first opened it" — shows the PR is actively maintained, not abandoned. Up-to-date PRs are dramatically easier to merge than PRs that have drift from main. 4. Specific update summary — merge conflicts resolved, new test, CI green — gives the maintainer a quick re-orientation. They don't have to re-read everything to know where the PR stands. 5. "If the direction has shifted..." — explicitly opens the door for the maintainer to decline or request changes without awkwardness. This is important: sometimes a PR sits because the maintainer is uncertain how to handle it, and giving them an easy out actually unblocks the conversation. 6. "Happy to split this into smaller pieces" — large PRs are the #1 reason for slow reviews. Offering to split is an expert-level contribution technique.
Why "friendly ping?" doesn't work: It has no content. The maintainer still has to re-read the entire PR to answer. It's also slightly passive-aggressive — the question mark implies they should have reviewed it already.
When to close your own PR: If there's been no response after 2 follow-ups spaced ~4–6 weeks apart, it's professional to close the PR with a message: "Closing this as it hasn't had traction. Happy to reopen if priorities shift." This is better for the contributor (you move on) and the maintainer (backlog is cleaner).
4 / 13
A maintainer merges your PR after three review rounds. What is an appropriate response?
Option C is a professional post-merge response:
Why gratitude matters here: Maintainers do enormous amounts of invisible work. A thoughtful "thank you" after a merge is not just politeness — it signals that you valued their time and are someone they'd want to work with again.
What makes this response particularly effective: 1. Specific acknowledgement — "feedback on the handler pattern and the edge case testing" — names what was valuable. Not just "your feedback was helpful" but specifically which feedback. This shows you were listening and learning, not just accepting changes to get the PR merged. 2. "Pushed me to write a cleaner implementation than I started with" — credits the review process as an improvement, not a hurdle. Maintainers who know their reviews are valued will review your future contributions more carefully. 3. Future commitment — "planning to stay involved with the project" — signals long-term interest, not a drive-by contribution. Maintainers invest more in contributors who are likely to contribute again. 4. Specific offer — "if there are good first issues that would benefit from the approach" — offers something concrete. Not just "let me know if I can help" but a specific type of help you're equipped to provide.
Why "no response needed" is an opportunity missed: The post-merge moment is when the maintainer is most positively disposed toward you. It's the best time to express genuine appreciation and signal continued interest. A good relationship with a project maintainer opens doors — faster future reviews, mentorship, access to roadmap discussions.
Why excessive enthusiasm ("amazing!!") is counterproductive: It reads as immature in a professional context. The goal is warmth + professionalism: grateful but not gushing.
5 / 13
Alex, a senior maintainer, comments on your pull request: 'The error handling here is inconsistent across modules. Please consolidate the try/catch blocks into a centralized logging mechanism.' How do you best respond to Alex's feedback?
The key here is acknowledging the maintainer's concern and demonstrating willingness to collaborate. Option A is too dismissive. Option C avoids addressing the feedback directly. Option D shows a lack of engagement. Option B demonstrates respect for their expertise and opens a dialogue about a solution – a crucial skill when dealing with code reviews.
6 / 13
You've identified an ambiguous requirement in the project's documentation related to API rate limiting. The issue has been open for several weeks and lacks clear guidance. Draft a concise Slack message (maximum 100 characters) to Ben, the lead developer, requesting clarification.
A good Slack message needs to be polite and specific. Option A is too informal. Option B lacks context. Option D inappropriately frames the issue as a bug. Option C clearly states the need for clarification regarding the ambiguous requirements, aligning with professional communication within a development team.
7 / 13
Your pull request containing a new feature on Project Phoenix has been pending review for three weeks. The project's last commit was only three days ago. What's the most appropriate way to follow up with the maintainer, Sarah?
A gentle reminder is best in this situation. Option A politely checks on the progress and offers assistance. Options B and D are demanding and could be perceived negatively. Option C is unnecessary as it simply reiterates the update – the follow-up is about the review status, not the code itself.
8 / 13
Maria, a maintainer, merges your PR after three review rounds. Write a brief (under 75 words) thank you message to her in a pull request comment, acknowledging the team's input.
A professional acknowledgement demonstrates gratitude and recognizes the effort of the maintainers and the wider team. Options A and B are too terse. Option D is overly casual.
9 / 13
You've submitted a PR with a proposed change to the user authentication flow. The maintainer, David, replies: 'This is good work, but we need to ensure full compliance with GDPR. Can you add logging around all data access and consent requests?' How should you respond?
The maintainer raised a critical concern regarding GDPR compliance. A good response acknowledges this, explains your understanding of the issue, and proposes a concrete step – adding logging – to address it. Options A and C are insufficient; option D is completely inappropriate.
10 / 13
You're working on a library for handling image transformations. The maintainer, Sarah, points out: 'The current API doesn't clearly define how to handle transparent images. It's ambiguous whether the output should preserve transparency or not.' What is the best approach?
Sarah's comment highlights a critical ambiguity in the API design. The best response is to proactively create a new method that clearly defines the behavior regarding transparency. This demonstrates understanding and commitment to a robust API.
11 / 13
Your PR introducing a new feature for data analytics has been pending review for two weeks. The project's last commit was yesterday. You want to gently remind the maintainer, Ben, about it without sounding demanding. What's the most appropriate message?
A polite reminder is key here. The proposed message demonstrates willingness to collaborate, offers assistance, and keeps the conversation open without pressure. Option A is too direct; option C would be overly verbose; and option D is completely unhelpful.
12 / 13
A maintainer, Chloe, merges your PR after a thorough review. She adds this comment to the commit message: 'Great work on streamlining the data processing pipeline! This will significantly improve performance.' What is the best way to acknowledge this in your response?
Chloe's positive feedback deserves an appreciative response. The suggested answer acknowledges her comments, expresses gratitude for the merge, and highlights the value of her input – demonstrating professionalism and collaboration.
13 / 13
You're working on a collaborative project. The maintainer, Liam, asks: 'Can you provide more context around the decision to use this specific algorithm? It seems like there might be alternative approaches.' How should you respond?
Liam's question is seeking justification for a design choice. A good response provides context—explaining your reasoning and acknowledging alternative approaches demonstrates openness to discussion and strengthens the team's understanding.
What will I practise in "Communicating with Maintainers"?
This module focuses on Open Source Contribution — real workplace phrasing you'll use on the job. It contains 13 scenario-based multiple-choice questions with instant feedback.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account or sign-up required.
How many questions does this exercise have?
This module includes 13 questions. Each one gives an immediate right/wrong result plus a full explanation of the correct phrasing.
What happens if I answer a question incorrectly?
You'll see the correct answer highlighted straight away, along with a plain-English explanation of why it's right and why the other options don't fit — mistakes are part of the learning here.
Can I retry the exercise if I want a better score?
Yes — use the 'Try again' button on the results screen to reset your score and go through the questions again. There's no limit on attempts.
Who is this Open Source Contribution exercise for?
It's aimed at IT professionals with working English who want to sound more natural and precise around open source contribution — useful whether you're preparing for real conversations at work or just building confidence with the vocabulary.
Do I need an account to track my progress?
No account is needed. Your progress through the exercise is tracked locally in your browser for the current session, and you can replay the module at any time.
How is this different from reading a blog article?
This exercise is an interactive drill that tests and reinforces specific phrasing through multiple-choice questions with instant feedback, while blog articles explain concepts and vocabulary in prose. The two work well together.
Where can I find more Open Source Contribution exercises?
See the Open Source Contribution hub for more modules like this one, or browse the full Exercises page for other IT-English topics.
Can I complete this exercise on my phone?
Yes — every exercise on CoderSlingo is fully responsive and works on phones and tablets, so you can practise anywhere.