Contribute to S3PRL
===================

Thank you for considering contributing to S3PRL! We really appreciate it!

**Please discuss with us on the Github issue page about your "feature request"** before submitting
the implemented pull request, and we will discuss about the following things:

1. Whether we want to add it in S3PRL
2. If yes, how should we achieve this feature
3. How can we collaborate on the implementation
4. Proceed with the actual implementation and the pull request

.. warning::

    If we did not go through this discussion, the pull request will not be dealt with and will be directly closed.

.. note::

    S3PRL has grown too large and become too hard to maintain.
    In principle, we plan to keep only a few essential functionality which is guaranteed to work,
    instead of continually adding lots of tasks, which can be easily added but hard to keep people
    always there to maintain all the functions in the long term.
    Hence, *we welcome all the bug fixes or slight improvement on existing functions,
    while by default we do not accept pull requests containing lots of changes or an entirely new task*,
    unless our core maintainers feel it is maintainable from our side.
    That is, we do not expect outside collaborators to maintain their contribution for a long time,
    which is the usual case in our experience. We wish to keep all the functionality of S3PRL work in the long term,
    and thanks for your kind support and understanding.
