Last updated February 19, 2014.
This section explains how to help by finding issues to work on, creating and submitting patches.
Finding issues to work on
Most issues are solved by developers that have a need to have them solved, because they are impacted by the issue or they are the maintainer and help to keep their module up to date.
Some developers also pick an issue of their liking and start developing and submitting a patch. The following links are collections of such issues to work on:
Novices can start by picking issues that are tagged for novices. You must be logged into drupal.org in order to view this list:
Patches are pieces of code that solve an existing issue. In fact, patches describe the changes between a before and after state of either a module or core. By applying the patch the issue should no longer exist.
Patches are used to maintain control-ability over the entire Drupal project. While Drupal is distributed via the git version control system, patches are additional pieces of code that focus on a single change request and therefore are easily tested, reviewed and documented.
This also means that git commit access is not required to submit patches: a patch can be uploaded to an issue in the issues queue for anyone with a Drupal account. The tips for contributing apply to core as well as contributed modules. See Git tutorials on Drupal.org for information on using Git with Drupal core development.
Read Creating a patch with Git for instructions on how to create patches.
Read Creating an interdiff for instructions on how to help reviewers save time and reduce tedium. Interdiffs have just the changes introduced in patch iterations, and offer a great resource for quicker, easier reviews.