<commit_before>===========================
Advice for new contributors
===========================

New contributor and not sure what to do? Want to help but just don't know how
to get started? This is the section for you.

First steps
-----------

Start with these easy tasks to discover Django's development process.

* **Triage tickets**

  If an `unreviewed ticket`_ reports a bug, try and reproduce it. If you
  can reproduce it and it seems valid, make a note that you confirmed the bug
  and accept the ticket. Make sure the ticket is filed under the correct
  component area. Consider writing a patch that adds a test for the bug's
  behavior, even if you don't fix the bug itself. See more at
  :ref:`how-can-i-help-with-triaging`

* **Look for tickets that are accepted and review patches to build familiarity
  with the codebase and the process**

  Mark the appropriate flags if a patch needs docs or tests. Look through the
  changes a patch makes, and keep an eye out for syntax that is incompatible
  with older but still supported versions of Python. Run the tests and make
  sure they pass on your system.  Where possible and relevant, try them out on
  a database other than SQLite. Leave comments and feedback!

* **Keep old patches up to date**

  Oftentimes the codebase will change between a patch being submitted and the
  time it gets reviewed. Make sure it still applies cleanly and functions as
  expected. Simply updating a patch is both useful and important! See more on
  :doc:`writing-code/submitting-patches`.

* **Write some documentation**

  Django's documentation is great but it can always be improved. Did you find
  a typo? Do you think that something should be clarified? Go ahead and
  suggest a documentation patch! See also the guide on
  :doc:`writing-documentation`, in particular the tips for
  :ref:`improving-the-documentation`.

  .. note::

      The `reports page`_ contains links to many useful Trac queries, including
      several that are useful for triaging tickets and reviewing patches as
      suggested above.

      .. _reports page: https://code.djangoproject.com/wiki/Reports

.. _unreviewed ticket: https://code.djangoproject.com/query?status=!closed&stage=Unreviewed


Guidelines
----------

As a newcomer on a large project, it's easy to experience frustration. Here's
some advice to make your work on Django more useful and rewarding.

* **Pick a subject area that you care about, that you are familiar with, or
  that you want to learn about**

  You don't already have to be an expert on the area you want to work on; you
  become an expert through your ongoing contributions to the code.

* **Analyze tickets' context and history**
<commit_msg>[1.6.x] Fixed #21047 -- Added CLA mesage on the new contributor advice doc<commit_after>===========================
Advice for new contributors
===========================

New contributor and not sure what to do? Want to help but just don't know how
to get started? This is the section for you.

First steps
-----------

Start with these easy tasks to discover Django's development process.

* **Sign the Contributor License Agreement**

  The code that you write belongs to you or your employer. If your
  contribution is more than one or two lines of code, you need to sign the
  `CLA`_. See the `Contributor License Agreement FAQ`_ for a more thorough
  explanation.

* **Triage tickets**

  If an `unreviewed ticket`_ reports a bug, try and reproduce it. If you
  can reproduce it and it seems valid, make a note that you confirmed the bug
  and accept the ticket. Make sure the ticket is filed under the correct
  component area. Consider writing a patch that adds a test for the bug's
  behavior, even if you don't fix the bug itself. See more at
  :ref:`how-can-i-help-with-triaging`

* **Look for tickets that are accepted and review patches to build familiarity
  with the codebase and the process**

  Mark the appropriate flags if a patch needs docs or tests. Look through the
  changes a patch makes, and keep an eye out for syntax that is incompatible
  with older but still supported versions of Python. Run the tests and make
  sure they pass on your system.  Where possible and relevant, try them out on
  a database other than SQLite. Leave comments and feedback!

* **Keep old patches up to date**

  Oftentimes the codebase will change between a patch being submitted and the
  time it gets reviewed. Make sure it still applies cleanly and functions as
  expected. Simply updating a patch is both useful and important! See more on
  :doc:`writing-code/submitting-patches`.

* **Write some documentation**

  Django's documentation is great but it can always be improved. Did you find
  a typo? Do you think that something should be clarified? Go ahead and
  suggest a documentation patch! See also the guide on
  :doc:`writing-documentation`, in particular the tips for
  :ref:`improving-the-documentation`.

  .. note::

      The `reports page`_ contains links to many useful Trac queries, including
      several that are useful for triaging tickets and reviewing patches as
      suggested above.

      .. _reports page: https://code.djangoproject.com/wiki/Reports

.. _CLA: https://www.djangoproject.com/foundation/cla/
.. _Contributor License Agreement FAQ: https://www.djangoproject.com/foundation/cla/faq/
.. _unreviewed ticket: https://code.djangoproject.com/query?status=!closed&stage=Unreviewed


Guidelines
----------

As a newcomer on a large project, it's easy to experience frustration. Here's
some advice to make your work on Django more useful and rewarding.

* **Pick a subject area that you care about, that you are familiar with, or
  that you want to learn about**

  You don't already have to be an expert on the area you want to work on; you
  become an expert through your ongoing contributions to the code.

* **Analyze tickets' context and history**

{'fraction_non_alphanumeric': 0.0793570219966159, 'fraction_numerical': 0.0011844331641285956, 'mean_word_length': 3.766935483870968, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7384226', 'n_tokens_mistral': 1573, 'n_tokens_neox': 1472, 'n_words': 847}