yanghua commented on a change in pull request #1141: [MINOR] Improve documentation around existing contribution guidelines URL: https://github.com/apache/incubator-hudi/pull/1141#discussion_r361589760
########## File path: docs/contributing.md ########## @@ -85,12 +46,103 @@ Here's a typical lifecycle of events to contribute to Hudi. - [Voting on a release](https://www.apache.org/foundation/voting.html): Everyone can vote. Only Hudi PMC members should mark their votes as binding. +## Life of a Contributor + +This document details processes and procedures we follow to make contributions to the project and take it forward. +If you are looking to ramp up into the project as a contributor, we highly encourage you to read this guide in full, familiarize yourself with the workflow +and more importantly also try to improve the process along the way as well. + +### Filing JIRAs + + - Hudi uses JIRA to manage issues. First familiarize yourself with the various [components](https://issues.apache.org/jira/projects/HUDI/components) against which issues are filed in Hudi. + - Make an attempt to find an existing JIRA, that may solve the same issue you are reporting. When in doubt, you can always email the mailing list so that community can provide early feedback, + point out any similar JIRAs or RFCs. + - Try to gauge whether this JIRA needs an [RFC](https://cwiki.apache.org/confluence/display/HUDI/RFC+Process). As always, email the mailing list if unsure. If you need a RFC since the change is + large in scope, then please follow the wiki instructions to get the process rolling along. + - While raising a new JIRA or updating an existing one, please make sure to do the following + - The issue `type` and `components` (when resolving the ticket) are set correctly + - If you intend to target the JIRA for a specific release, please fill in the `fix version(s)` field, with the [release number](https://issues.apache.org/jira/projects/HUDI/releases). + - Summary should be descriptive enough to catch the essence of the problem/ feature + - Where necessary, capture the version of Hudi/Spark/Hive/Hadoop/Cloud environments in the ticket + - Whenever possible, provide steps to reproduce via sample code or on the [docker setup](https://hudi.apache.org/docker_demo.html) + - All newly filed JIRAs are placed in the `NEW` state. If you sure about this JIRA representing valid, scoped piece of work, please click `Accept Issue` to move it `OPEN` state + - If you are not sure, please wait for a PMC/Committer to confirm/triage the issue and accept it. This process avoids contributors spending time on JIRAs with unclear scope. + - Whenever possible, break down large JIRAs (e.g JIRAs resulting from a [RFC](https://cwiki.apache.org/confluence/display/HUDI/RFC+Process)) into `sub tasks` by clicking `More > create sub-task` from the parent JIRA , + so that the community can contribute at large and help implement it much quickly. We recommend prefixing such JIRA titles with `[UMBRELLA]` + +### Claiming JIRAs + + - Finding a JIRA to work on + - If you are new to the project, you can ramp up by picking up any issues tagged with the [newbie](https://issues.apache.org/jira/issues/?jql=project+%3D+HUDI+AND+component+%3D+newbie) component. + - If you want to work on some higher priority issue, then scout for Open issues against the next release on the JIRA, engage on unassigned/inactive JIRAs and offer help. + - Issues tagged with `Usability` , `Code Cleanup`, `Testing` components often present excellent opportunities to make a great impact. + - If you don't have perms to self-assign JIRAs, please email the dev mailing list with your JIRA id and a small intro for yourself. We'd be happy to add you as a contributor. + - As courtesy, if you are unable to continue working on a JIRA, please move it back to "OPEN" state and un-assign yourself. + - If a JIRA or its corresponding pull request has been inactive for a week, awaiting feedback from you, PMC/Committers could choose to re-assign them to another contributor. + - Such re-assignment process would be communicated over JIRA/GitHub comments, checking with the original contributor on his/her intent to continue working on the issue. + - You can also contribute by helping others contribute. So, if you don't have cycles to work on a JIRA and another contributor offers help, take it! + +### Contributing Code + + - Once you finalize on a project/task, please open a new JIRA or assign an existing one to yourself. + - Almost all PRs should be linked to a JIRA. It's always good to have a JIRA upfront to avoid duplicating efforts. + - If they changes are minor, then `[MINOR]` prefix can be added to Pull Request title without a JIRA. Review comment: If they changes -> If the changes ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
