Skip to content

To New Contributor

Roman Ivanov edited this page Dec 2, 2023 · 2 revisions

Hi contributor!

Thanks for your interest in our project, Checkstyle. We appreciate that you connected us to help in resolving of our issues in tracker or GSoC ideas.

Before you send us your proposal and before we start discussion of details on any of tasks, you need to prove your experience in technologies that we use (java, maven, .....). We do not trust your CV.

Before you start proving your experience, we are ready to discuss shallow details of projects or general process, to let you make a decision if you want to focus on our organization.

To prove your experience you just need to resolve several issues in our project's issue tracker - https://github.com/checkstyle/checkstyle/issues . As first issue please choose untouched issue from list - https://github.com/checkstyle/checkstyle/labels/good%20first%20issue , such issues are very very simple, but them are good to start and understand project and contribution workflow. As next issue please choose good second issue, good third issue, good fourth issue and further any unassigned issue with "easy" label, after "medium". We always help you to choose issue, pin us in chat/mail-list. Please do not try to fix issues without the label "approved".

Users may not create more than 3 Pull Requests (PRs) if changes are still being requested of them. Users can not hold more than 6 issues if they still have pending PRs. If you have more free time, we recommend you get more familar with Checkstyle's code and how it works, especially for areas you plan to consider for the GSoC projects. Rules for PRs - https://github.com/checkstyle/checkstyle/wiki/PR-rules

Pages that are helpful for new contributors:

You can ask us to help you to choose - please do this in one of communication channels:

Bug-fixing process will give you an experience in our project to let you write a proposal with details and proper design (code changes plan, testing aspects, .... ).

Mail-list is preferable as it keeps track of history of discussions in a single place. Gitter should be used only for very simple QnA.

As you choose an issue or we point you at issue, it is MANDATORY to do comment in github on issue "I am on it" to secure assignment. We want to prevent multiple people accidentally working on the same assignment. Whoever did this comment first, or was pre-assigned by one of the Checkstyle project leaders, will be considered as the primary assignee. Any attempts to provide a fix for issue that is assigned or pre-assigned to another user WILL be rejected.

As you fix several issues, we can start deeper discussion of some technical details of projects you would like to participate in. It is recommended to apply to few/several projects in the same time to raise a chance of selection at all. Please do not forget to give us your rating of projects to choose. Proposal should be written for each project you apply to.

What is expected from your proposal:

  1. proposal should be only for one project. It is recommended to make few proposals by student to increase chance of selection. If you do all you best for one project, this project might not pass selection by mentors(there bunch of rules and criteria and Google limitations and ..... )
  2. In proposals there should be defined the same name of project as in our list of ideas
  3. Proposal should contains of few parts: a) very brief information about you b) very detailed proposal on how you are going to resolve project base on time line, week by week. c) List of PullRequests that you did to our projects. d) your full CV and all other that you want to share with us.

Finally we do read proposals , but we most value and trust is proven ability to resolve issues/problems in our project. So please make sure that you fixed several issues in our repo. Without any PR, your proposals will not be seriously considered.

Clone this wiki locally