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
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.
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 contributing to the main codebase or the user guide. If you are new to Git and version control, have a look at Version control, Git, and GitHub.
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.
Some great resources for learning Git:
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.