Contribute to Open edx and Learning Roadmap

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.

@Jim Thanks for your interest in contributing to Open edX! A great place to start is the official Open edX Developer Guide. It covers the full process of contributing code.

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

Hi @Jim and welcome!

  1. We have a developer’s Quickstart, Quick Start: First Open edX Pull Request — Latest documentation , 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
  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 for these labels to find issues.
    3. I maintain GitHub - openedx/docs.openedx.org: Open edX Official Documentation 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! :grin:

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?

Thank you Sarina!

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

Here’s some Tutor quickstarts:

Thanks. Then I will do with Tutor dev.