# Contribute to Open edx and Learning Roadmap

**URL:** <https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903>\
**Category:** Community\
**Created:** [August 25, 2025, 4:43pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903 "2025-08-25T16:43:24Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jim](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jim/32/8749_2.png) [@Jim](https://discuss.openedx.org/u/Jim)\
**Post date:** [August 25, 2025, 4:43pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/1 "2025-08-25T16:43:24Z")

</div>

Hi,

I am interested in contributing to the Open edX project and would love some guidance on how to get started. By way of background, I am a university programming teacher with experience in Java backend web development. I am also familiar with Python and eager to deepen my expertise in it through contributing to Open edX (I know the platform primarily uses Python).

I believe Open edX is a truly amazing project, and it has the potential to transform the way students approach education. I am excited about the possibility of contributing to such an impactful platform.

Specifically, I would like to know:

1. The recommended steps for new contributors to begin contributing to your GitHub repositories.

2. Whether there is a roadmap or structured guide to help new contributors learn the codebase more effectively. If there are particular parts of the codebase that might be a good starting point for someone with backend web development experience.

3. Any best practices, documentation, or contribution pathways (e.g., issues labeled for newcomers) that you recommend.

---

<div class="post-metadata">

**Author:** ![Yagnesh](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/yagnesh/32/9571_2.png) [@Yagnesh](https://discuss.openedx.org/u/Yagnesh)\
**Post date:** [August 25, 2025, 6:02pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/2 "2025-08-25T18:02:25Z")

</div>

@Jim Thanks for your interest in contributing to Open edX! A great place to start is the official [Open edX Developer Guide](https://docs.openedx.org/en/latest/developers/references/developer_guide/process/index.html). It covers the full process of contributing code.

---

<div class="post-metadata">

**Author:** ![Jim](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jim/32/8749_2.png) [@Jim](https://discuss.openedx.org/u/Jim)\
**Post date:** [August 25, 2025, 7:40pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/3 "2025-08-25T19:40:53Z")

</div>

@Yagnesh Thank you! I will go through those documents.

---

<div class="post-metadata">

**Author:** ![sarina](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/sarina/32/2308_2.png) [@sarina](https://discuss.openedx.org/u/sarina)\
**Post date:** [August 25, 2025, 8:24pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/4 "2025-08-25T20:24:30Z")

</div>

Hi @Jim and welcome!

1. We have a developer’s Quickstart, [Quick Start: First Open edX Pull Request — Latest documentation](https://docs.openedx.org/en/latest/developers/quickstarts/first_openedx_pr.html) , that may be of interest! There’s a follow-on, too, once you’ve done that one: [Quick Start: So You Want to Contribute to Open edX — Latest documentation](https://docs.openedx.org/en/latest/developers/quickstarts/so_you_want_to_contribute.html#qs-dev-contributing)
2. @Yagnesh helpfully points out the developer’s guide, which is a more in-depth guide once you’ve done the Quickstarts.
3. A lot of the best practices are documented in the Developer’s Guide.
  1. We’ll happily take questions here in the forums as well - there’s a Developer’s category that I’d recommend posting development questions in.
  2. We use labels such as `good first issue`, `help wanted`, `release testing`, to indicate places we’re looking for help. You can [search the Open edX GitHub org](https://github.com/search?q=org%253Aopenedx+is%253Aissue+is%253Aopen+%2528label%253A%2522good+first+issue%2522+OR+label%253A%2522help+wanted%2522%2529&type=issues) for these labels to find issues.
  3. I maintain [GitHub - openedx/docs.openedx.org: Open edX Official Documentation](https://github.com/openedx/docs.openedx.org) and we’re always looking for help with documentation of all types. Check out the open issues (they’re labeled with personas) and tag me (`@sarina` on GitHub) if you are interested in helping out!
  4. You can comment `assign me` on any issue to assign yourself to it.

Thanks for joining the community, and have fun! 😁

---

<div class="post-metadata">

**Author:** ![Jim](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jim/32/8749_2.png) [@Jim](https://discuss.openedx.org/u/Jim)\
**Post date:** [August 25, 2025, 8:25pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/5 "2025-08-25T20:25:40Z")

</div>

I am deploying and reviewing the code. I have quick question regarding the deployment:

For developer or contributor of Open edX, should we use Tutor or Bare Metal? I know the Tutor dev mode could support the code development. But I am not sure is there any limitation on the code development, say if we need to do any deep changes, like the migration induced by DB’s schemas change, does it still work under the Tutor mode?

---

<div class="post-metadata">

**Author:** ![Jim](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jim/32/8749_2.png) [@Jim](https://discuss.openedx.org/u/Jim)\
**Post date:** [August 25, 2025, 8:27pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/6 "2025-08-25T20:27:55Z")

</div>

Thank you Sarina!

---

<div class="post-metadata">

**Author:** ![sarina](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/sarina/32/2308_2.png) [@sarina](https://discuss.openedx.org/u/sarina)\
**Post date:** [August 25, 2025, 8:46pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/7 "2025-08-25T20:46:18Z")

</div>

I don’t know anyone who develops on “bare metal” or if that’s even possible.

Here’s some Tutor quickstarts:

- [Tutor Quickstart (Developer) — Latest documentation](https://docs.openedx.org/en/latest/developers/quickstarts/tutor_quickstart_dev.html)
- [Tutor Quickstart (MFE Development) — Latest documentation](https://docs.openedx.org/en/latest/developers/quickstarts/tutor_quickstart_mfe.html)

---

<div class="post-metadata">

**Author:** ![Jim](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jim/32/8749_2.png) [@Jim](https://discuss.openedx.org/u/Jim)\
**Post date:** [August 25, 2025, 9:04pm UTC](https://discuss.openedx.org/t/contribute-to-open-edx-and-learning-roadmap/16903/8 "2025-08-25T21:04:33Z")

</div>

Thanks. Then I will do with Tutor dev.
