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.
