Develop

Join the developers contributing to the success of the Open edX platform. Learn more about the product, documentation, and collaboration spaces.

Recommended skill-set

To contribute to the Open edX codebase or to create XBlocks, developers need:

  • Knowledge of and comfort with Python/Django and Javascript/React
  • Familiarity with Docker
  • Comfort with HTML and CSS if writing front-end features
  • Understanding of Open edX internationalization (i18n) and accessibility (a11y) guidelines

Development resources

Everything you need to be a productive member of the Open edX community:

  • Official Developer Documentation
  • Collaboration spaces on the wiki
  • Access to code repositories (hosted on GitHub)

Development environment

Tutor is your tool for developing and testing Open edX on your local computer (as of June 2023, MFE development remains easier in Devstack, an older development environment). Both Tutor & Devstack use Docker containers that use the same system requirements as a production system.

Tutor includes:

  • The Learning Management System (LMS)
  • Studio, for course development
  • Forums
  • Open Response Assessments

Tutor is also the recommended way to run an Open edX instance.

Customization

Options for customizing your Open edX instance include XBlocks, LTIs and APIs.

Reporting problems

If you want to report a technical problem with the Open edX software, Slack is the place to do it. You can request a Slack invitation automatically, then join our community Slack workspace. Security issues should be reported privately to security@edx.org.

Getting Started

New to Open edX development? Check out our Getting Started page for details on choosing a distribution.