Finding good first issues 🔎¶
You have successfully built the Arrow library; congrats!
The next step is finding something to work on. As mentioned before, you might already have a bug to fix in mind, or a new feature that you want to implement. Or you still need an issue to work on and you need some help with finding one.
For both cases, JIRA is the issue tracker that we use.
First we will explain how to use JIRA if you have a fix or a feature to work on that doesn’t yet have a JIRA ticket open, in which case you will need to create a JIRA ticket yourself.
Secondly, we will show you a way to find good first issues to work on.
Creating a JIRA account¶
First thing you need to do is to make an account on the ASF JIRA following this link. You will be asked to select a language and choose an avatar if you wish. If the registration is successful you will see:
How to create a JIRA issue¶
After creating an account you can click Create an issue and select Apache Arrow project and Type of the issue (Bug, Feature, …).
If you are already in JIRA dashboard click the red
create button in
the top to do the same.
You are ready to create the issue! Add a title and a description following the guidance in creating issues and you are ready to go!
You don’t need any special permissions on JIRA to be able to create or self-assign issues. To get this role, ask on the dev mailing list.
When the ticket is created you can start a discussion about it in the JIRA comments section.
How we use JIRA to find an issue¶
To make it easier for you to find issues that are well-suited for new contributors, we have added labels like “good-first-issue” or “beginner” to some JIRA tickets.
Search for good first/second issues with labels like in the link here
The issues labeled as good first issues should take no more than two days or a weekend to fix them. Once you dig into the code you may find that the issue is not easy at all - this can happen as the problem could be harder than the person who triaged the ticket expected it to be. Don’t hesitate to write that in the comments.
When you find a JIRA issue you would like to work on, please mention your interest in the comment section of that issue; that way we will know you are working on it.
Also, do not hesitate to ask questions in the comment section of the issue. You can get some pointers about where to start and similar issues already solved.
What if an issue is already asigned? Anything that’s not in the “In Progress” state is fair game, even if it is “Assigned” to someone, particularly if it has not been recently updated. When in doubt, comment on the issue asking if they mind if you try to put together a pull request; interpret no response to mean that you’re free to proceed.
Ask questions Please do ask questions, either on the JIRA itself or on the dev mailing list, if you have doubts about where to begin or what approach to take. This is particularly a good idea if this is your first code contribution, so you can get some sense of what the core developers in this part of the project think a good solution looks like. For best results, ask specific, direct questions, such as:
Do you think $PROPOSED_APPROACH is the right one?
In which file(s) should I be looking to make changes?
Is there anything related in the codebase I can look at to learn?
If you ask these questions and do not get an answer, it is OK to ask again.