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 and Javascript
  • Familiarity and comfort with Devstack and Docker
  • Comfort with HTML and CSS if writing front-end features
  • Understanding of edX internationalization
  • Knowledge of edX accessibility guidelines

Development resources

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

  • Documentation, Wiki, GitHub
  • Collaboration spaces
  • Repository
  • Access to code

Development environment

Devstack is your tool for developing and testing Open edX on your local computer. Devstack uses Docker containers that use the same system requirements as a production system.
Devstack includes the following edX components:

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

Devstack simplifies certain production settings to make development more convenient. For example, nginx and gunicorn are disabled in Devstack; Devstack uses Django’s runserver instead.
To run Devstack, you must install Docker 17.06+ CE

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.