Note
This is the landing page for documentation relevant to developers of the Open edX platform. For other documentation resources targeted for edX learners, educators, researchers, and Open edX operators, see docs.edx.org.
In a hurry to start writing code? Go set up Devstack, our local Docker-based development environment.
Welcome contributors! There are many ways of contributing to the code and the goal of this documentation is to help you with just that!
There are many different ways to contribute to the platform.
To be a useful platform for everyone everywhere, translations are critical. If you have knowledge or expertise in languages other than English, we could use your help to translate the platform to other languages.
Have you been using or operating or using an Open edX site and found a bug you want to fix? We would love your help!
A few things you need to know:
Got a great idea for how to improve the platform? The more the merrier! The Open edX platform can be added to in many different ways. Take a look at the options below and come talk to us if you’re not sure which one is the best for you.
XBlocks build on top of a well-defined interface in the Open edX platform and do not require review from the Open edX team. If you want to add a new problem type or content presentation that would be shown to a learner as a part of a course, you probably want to build a new XBlock.
Before you do that, check out XBlocks that others have built in case they fulfill your needs.
If you’re ready to build one, check out our Intro to XBlocks
Plugins can be built independently of the core platform and do not require review from the Open edX team to build or use. If you want to add a new feature outside of courseware (learner/educator/operator experience) a new platform plugin might be a great option for you.
Check out this overview of our Django plugin design to get started.
If we don’t have extension points for the kind of change you want to make, you might need to make a change to the core source. This can be complex and we encourage you to reach out to us to talk about the kind of changes you want to make.
Other useful things you need to know:
A bird’s eye view of the decisions, tools and technologies that have been adopted or rejected for Open edX development. |
|
Technical decisions made by the Open edX community, in the form of best practices, architecture design, or development processes. |
|
Confluence page for notes, thoughts, and project-related documents on Open edX architecture and engineering. |
|
General guidelines for developing micro-frontends in the Open edX platform. |
|
General guidelines for developing on various parts of the Open edX code base. |
The local development environment for developing in the Open edX platform. |
|
Information on each stable Open edX named release. |
|
Landing page for supported APIs and extensions to the Open edX platform. |