Skip to content

Commit 1257283

Browse files
authored
Sdg23 add contribute page (#446)
* FIX broken links * add mamba instructions and refine installation quick start * add mamba instructions and refine installation quick start * address PR review comments * Add contribute page Add contribute page Add contribute page * Revert unintended changes to installation_quick_start.md * address PR review comments * add 'mentorship & outreach programs' to contribute page * address PR review comments * address PR review comments * address PR review comments * address PR review comments * address PR review comments * address PR review comments
1 parent 9784b3b commit 1257283

File tree

2 files changed

+127
-0
lines changed

2 files changed

+127
-0
lines changed

_config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ pypi:
6868
package: https://pypi.org/project/MDAnalysis
6969
tests: https://pypi.org/project/MDAnalysisTests
7070
docs: https://docs.mdanalysis.org
71+
mdakits:
72+
registry: https://mdakits.mdanalysis.org/mdakits.html
73+
guide: https://mdakits.mdanalysis.org/makingakit.html
74+
issues: https://github.com/MDAnalysis/MDAKits/issues
7175
mailinglists:
7276
discussion:
7377
name: GitHub Discussions
@@ -101,6 +105,8 @@ docs:
101105
userguide:
102106
name: User Guide
103107
url: https://userguide.mdanalysis.org
108+
repo: https://github.com/MDAnalysis/UserGuide
109+
issues: https://github.com/MDAnalysis/UserGuide/issues
104110
quickstart:
105111
name: Quick Start Guide
106112
url: https://userguide.mdanalysis.org/stable/examples/quickstart.html

pages/contribute.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
---
2+
layout: page
3+
title: Contribute
4+
order: 6
5+
---
6+
7+
MDAnalysis is an open-source project that welcomes and encourages contributions from the community. Whether you're a developer, documentation writer, or interested in improving the website, there are many ways to get involved.
8+
9+
You can contribute by **developing new features, fixing bugs, improving documentation, enhancing tutorials, contributing to MDAKits, improving the website, or engaging in discussions**.
10+
11+
Contributions also extend to our **mentoring and outreach programs**, where participants gain hands-on experience in open-source development and scientific software. You can also contribute by **mentoring new contributors**, helping them navigate MDAnalysis, review their work, and share best practices.
12+
13+
If you're new, you can start by participating in community conversations and mentoring programs. For more information on how you can participate, check out the [Community]({{ site.baseurl }}/pages/community/) and [Events]({{ site.baseurl }}/pages/events/) pages.
14+
15+
The [MDAnalysis Project][] hosts several open-source repositories beyond the main library and MDAKits. You are welcome to contribute to any of them! Each repository typically has a `CONTRIBUTING.md` file to help you get started. If you’re unsure where to begin, you can:
16+
17+
- Check the repository’s issue tracker for open tasks.
18+
- Submit a pull request for improvements.
19+
- Contact maintainers via [GitHub discussions][] or MDAnalysis [Community]({{ site.baseurl }}/pages/community/) forums.
20+
21+
This page provides an overview of how you can contribute to the [Codebase](#contributing-to-the-codebase), [MDAKits](#contributing-to-mdakits), [Documentation](#contributing-to-the-documentation), or [Mentoring & Outreach Programs](#mentoring--outreach-programs).
22+
23+
## Contributing to the Codebase
24+
If you are interested in developing new features, fixing bugs, or improving performance, contributing to the MDAnalysis main codebase is a great way to get involved.
25+
26+
### Main Codebase Repository
27+
MDAnalysis is developed and maintained in the [MDAnalysis Main Code Repository]({{ site.github.repo }}), which contains:
28+
29+
- The core library for molecular dynamics analysis.
30+
- The [API documentation]({{ site.docs.mdanalysis.url }}/stable/index.html), generated from in-code docstrings.
31+
- [Open issues]({{ site.github.issues }}), where contributions such as bug fixes and feature implementations are tracked.
32+
33+
#### How to Get Started
34+
- Read the [Contributing to the Main Codebase]({{ site.docs.userguide.url }}/stable/contributing_code.html#working-with-mdanalysis-code) guide, which outlines all the necessary steps.
35+
- Browse [GitHub Issues]({{ site.github.issues }}) to find open tasks. Look for "good first issue" if you're a beginner. You can also report bugs or suggest improvements there.
36+
- Follow best practices, including
37+
- [Writing and Running Tests]({{ site.docs.userguide.url }}/stable/testing.html#testing) to ensure your changes work correctly.
38+
- [Updating the Documentation]({{ site.docs.userguide.url }}/stable/contributing_code.html#building-code-documentation) when making modifications.
39+
40+
## Contributing to MDAKits
41+
[MDAKits]({{ site.mdakits.registry }}) are **community-driven projects** that extend MDAnalysis functionality. They allow researchers and developers to build tools tailored for specific workflows while staying within the MDAnalysis ecosystem.
42+
43+
### MDAKits Registry
44+
The [MDAKits Registry]({{ site.mdakits.registry }}) lists active projects contributed by the community. These projects cover various applications, such as enhanced trajectory analysis, molecular simulations, and integration with machine learning frameworks.
45+
46+
#### How to Get Started
47+
- Find open issues in [MDAKits GitHub Issues]({{ site.mdakits.issues }}).
48+
- Propose a new MDAKit by following the [MDAKits Guide]({{ site.mdakits.guide }}).
49+
- Contribute to an existing MDAKit by collaborating with maintainers to improve functionality, fix bugs, or add new features.
50+
- Explore existing MDAKits in the [MDAKits Registry]({{ site.mdakits.registry }}) to find projects that match your interests. Each entry includes functionality, installation instructions, and contribution guidelines.
51+
52+
MDAKits follow MDAnalysis coding standards but operate independently. Contributions to these projects are highly encouraged and help expand the MDAnalysis ecosystem.
53+
54+
## Contributing to the Documentation
55+
Good documentation is essential to making MDAnalysis accessible to users and developers. MDAnalysis maintains two types of documentation: the [User Guide]({{ site.docs.userguide.url }}) and the [API Reference]({{ site.docs.mdanalysis.url }}/stable/index.html).
56+
57+
### User Guide
58+
The [User Guide]({{ site.docs.userguide.url }}/stable/index.html) provides tutorials and explanatory content to help users install and learn MDAnalysis. You can contribute by updating unclear explanations, adding new tutorials or examples, or fixing outdated information.
59+
60+
#### How to Get Started
61+
- Work on the [User Guide Repository]({{ site.docs.userguide.repo }}).
62+
- Follow the [Contributing to the User Guide]({{ site.docs.userguide.url }}/stable/contributing_docs.html).
63+
- Check for open documentation-related issues in the [User Guide GitHub Issues]({{ site.docs.userguide.issues }}).
64+
65+
### API Reference
66+
The [API reference]({{ site.docs.mdanalysis.url }}/stable/index.html) is **automatically generated** from *docstrings* in the codebase. It provides a structured reference for developers working with MDAnalysis. You can contribute by improving *docstrings* for functions, classes, and modules or updating outdated documentation.
67+
68+
#### How to Get Started
69+
- Work on the [MDAnalysis Main Code Repository]({{ site.github.repo }}).
70+
- Follow the [API Documentation Contribution Guide]({{ site.docs.userguide.url }}/stable/contributing_code.html#working-with-mdanalysis-docs).
71+
- Browse open API documentation issues in [GitHub Issues]({{ site.github.issues }}).
72+
73+
## Mentoring & Outreach Programs
74+
MDAnalysis has actively participated in various mentoring and outreach programs **to help students, researchers, and early-career contributors gain experience in open-source development and scientific software**. Through these programs, participants receive mentorship, contribute to real-world projects, and develop valuable skills in computational science and software engineering.
75+
76+
### Stay informed
77+
For the latest announcements, deadlines, and project ideas, check out our [blog]({{ site.baseurl }}/blog/) where we share updates on participation and application guidelines.
78+
79+
We have been involved in several mentoring initiatives:
80+
81+
- **[Google Summer of Code (GSoC)](https://summerofcode.withgoogle.com/)** \
82+
A global, remote program where students contribute to open-source projects under mentorship, enhancing their programming skills while engaging with the open-source community.
83+
84+
- **[Google Season of Docs](https://developers.google.com/season-of-docs)** \
85+
A program that connects technical writers with open-source projects to improve documentation quality and accessibility.
86+
87+
- **[Outreachy](https://www.outreachy.org/)** \
88+
A diversity-focused program offering paid remote internships to individuals underrepresented in tech, providing opportunities to contribute to open-source software.
89+
90+
- **[Station1 Frontiers Fellowship](https://www.station1.org/sff)** \
91+
A unique research and internship program designed for students in science and technology, promoting inclusive and socially impactful research.
92+
93+
- **[CompChemURG](https://www.bindingsites.co.uk/home)** \
94+
A mentoring initiative focused on computational chemistry, supporting undergraduates and early-career researchers in gaining expertise in the field.
95+
96+
Many of our [core developers]({{ site.baseurl }}/governance/#mdanalysis-core-developers) started through these programs — consider joining and becoming part of the MDAnalysis community!
97+
98+
### GSoC
99+
MDAnalysis has participated in Google Summer of Code for several years, mentoring students on a variety of open-source projects. Explore our past projects:
100+
101+
- [GSoC 2025]({% post_url 2025-02-28-gsoc2025 %})
102+
- [GSoC 2024]({% post_url 2024-02-27-gsoc2024 %})
103+
- [GSoC 2023]({% post_url 2023-02-22-gsoc2023 %})
104+
- [GSoC 2022]({% post_url 2022-03-07-gsoc2022 %})
105+
- [GSoC 2021]({% post_url 2021-03-09-gsoc2021 %})
106+
- [GSoC 2020]({% post_url 2020-02-22-gsoc2020 %})
107+
- [GSoC 2019]({% post_url 2019-03-04-gsoc2019 %})
108+
- [GSoC 2018]({% post_url 2018-02-14-gsoc2018 %})
109+
- [GSoC 2017]({% post_url 2017-03-02-gsoc2017 %})
110+
- [GSoC 2016]({% post_url 2016-04-26-gsoc %})
111+
112+
## Other Contributions
113+
If you are interested in contributing in other ways, such as writing a **blog post**, we welcome contributions that document your experience with MDAnalysis — whether it's learning the software, participating in a UGM, or working on a project. Feel free to reach out via the [Community]({{ site.baseurl }}/pages/community/) page for guidance on submitting a post.
114+
115+
If you are interested in improving our website, you can refer to the [README file][] in the [Website Repository][]. While the website is already maintained by the MDAnalysis team, any fixes and updates are always welcome.
116+
117+
[MDAnalysis Project]: https://github.com/MDAnalysis/
118+
[GitHub discussions]: https://github.com/MDAnalysis/mdanalysis/discussions
119+
[Website Repository]: https://github.com/MDAnalysis/MDAnalysis.github.io
120+
[README file]: https://github.com/namiroues/MDAnalysis.github.io/blob/master/README.md
121+

0 commit comments

Comments
 (0)