.. -*- coding: utf-8 -*- .. _contributing: =========================== Contributing to MDAnalysis =========================== MDAnalysis is a free and open source project. It evolves and grows with the demands of its user base. The development team very much welcomes contributions from its users. Contributions can take many forms, such as: * **bug reports** or **enhancement requests** filed through the `Issue Tracker`_ * **bug fixes** * **improvements** to the code (speed, clarity, modernised code) * **new features** in the code * improvements and additions to **documentation** (including typo fixes) * improvements to the **build systems** * **questions** or **discussions** on the `mdnalysis-discussion`_ mailing list The MDAnalysis community subscribes to a `Code of Conduct`_ that all community members agree and adhere to --- please read it. .. important:: The **MDAnalysis** and **MDAnalysisTests** packages are distributed under the `GNU General Public License, version 2 `_ (or any later version). This is a copyleft license: not only is MDAnalysis open-source, but all derivative work must be as well. **Any code, documentation, or files that you contribute to MDAnalysis will also be made available under this license.** Be sure that you are comfortable with that *before* you push additions to GitHub. Parts of this page came from the `Contributing to pandas `_ guide. Where to start? =============== All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome. If you are brand new to MDAnalysis or open-source development, we recommend going through the guides for :ref:`contributing to the main codebase ` or the :ref:`user guide `. If you are new to Git and version control, have a look at :ref:`version-control`. .. _version-control: Version control, Git, and GitHub ================================ `Git `_ is a version control system that allows many people to work together on a project. Working with Git can be one of the more daunting aspects of contributing to MDAnalysis. Sticking to the guidelines below will help keep the process straightforward and mostly trouble free. As always, if you are having difficulties please feel free to ask for help. The code is hosted on `GitHub `_. To contribute you will need to sign up for a `free GitHub account `_. Some great resources for learning Git: * the `GitHub help pages `_. * the `NumPy's documentation `_. * Matthew Brett's `Pydagogue `_. ------------------------ Getting started with Git ------------------------ `GitHub has instructions `__ for installing git, setting up your SSH key, and configuring git. All these steps need to be completed before you can work seamlessly between your local repository and GitHub. .. _`mdnalysis-discussion`: http://groups.google.com/group/mdnalysis-discussion .. _`Code of Conduct`: https://www.mdanalysis.org/pages/conduct/ .. _`Issue Tracker`: https://github.com/MDAnalysis/mdanalysis/issues