This document provides more details on the likely impact of the fork on organisations that wish to migrate from Moodle to Totara, or are reliant on Moodle plugins or themes.
Soft fork versus hard fork
The term 'fork' indicates a divergence between two codebases leading to functional differences and code incompatibilities. A hard fork refers to a sudden cut-off where after the fork no code is shared between the two projects. With a soft fork code can continue to be shared for some time, with bug fixes or features continue to be pulled in when it makes sense to do so.
In this case Totara is making a soft fork, and therefore the divergence and incompatibilities will be gradual over time. We are likely to continue to pull in code from Moodle for an extended period of time. The impact of the soft fork will be dependent on which features are implemented in both Moodle and Totara, and how those differences interact with each other. This in turn will determine how long we can support upgrade paths for and also plugin and theme compatibilities.
Approach to divergent changes
Our overall approach to diverging from Moodle is that we will do so only out of necessity. There is no benefit to introducing unnecessary differences so when possible we will continue to use Moodle's plugin architecture to extend rather than modify core code. When a core improvement is necessary we will attempt to introduce the change in a backward compatible way so existing code developed for Moodle will continue to function without requiring changes.
In addition, our decision to fork does not mean that we will immediately cease merging in code from the Moodle project. Initially we intend to continue to merge Moodle major versions and that process will continue for some time. Eventually we may reach the point where we stop merging directly, but we will likely still cherry-pick features or bug fixes of relevance to Totara. The impact of the fork will be dependent on which features are implemented in both Moodle and Totara, and how those differences interact with each other. This in turn will determine how long we can support upgrade paths from Moodle and also plugin and theme compatibility.
Known and unknown impacts