Skip to content

Encourage new contributors to start with bugfixes? #2553

Closed
@misaochan

Description

@misaochan

Had a conversation with @maskaravivek and @ashishkumar468 the other day - we were wondering if it might be a good idea to recommend new contributors to start with bugfixes, at least for their first few PRs. There are a few reasons for this:

  1. Benefits to the student - I personally think that you learn a lot about a codebase by fixing bugs. It requires you to delve deep into the code and figure out what it's doing and what is wrong with it. By doing so, you also learn about the coding style, structure, etc of the project. Enhancements are more like adding a lot of your own code on top of the existing code - good for coding practice, but not so good for project familiarization. Also, when you work on bugfixes you do not need to wait as long for a community consensus, compared to a debated enhancement.

  2. Benefits to the project - We are trying to prioritize stability in this year, and I think we need to be a bit more careful with adding new features. New features inherently increase complexity and increase surface area for bugs, so it is important that the benefits are worth the added complexity. Additionally, new features written by folks who are not-so-familiar with the codebase often break our guidelines re: code structure, style, etc. It is very time-consuming to keep up with the PRs to check for all of this. Currently our PRs are very backlogged - hopefully things will get better next week once @neslihanturan is back from leave, but it is still a lot to go through.

There is precedent for this - for instant, Mozilla's guidelines for new contributors ONLY involve fixing bugs: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Introduction

If we do carry this out, we need to decide to what extent we want to enforce this. Do we just want to recommend that people start with bugfixes, but leave the decision to them? Or do we want to be stricter about it? How many bugfixes does it take for a contributor to be reasonably familiar with the codebase?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions