Skip to main content

Contributing

If you want to contribute to Moodle, you can start looking at the following:

Searching for other ways to contribute?

You'll find them in the How do I contribute to Moodle? page.

Where to begin

  • Start by searching moodle.org to check whether someone else has had the same idea. The Moodle community is very large, so it's quite likely you'll find someone else with the same idea as you ;-)
  • Join an existing discussion about your idea, or start a new discussion in an appropriate forum on moodle.org.
  • Assuming others agree with your idea, create a new issue in the Moodle tracker, selecting 'New feature' or 'Improvement' as the issue type. (You'll need to create a tracker account to be able to create a new issue.) Include a link to the discussion thread in the tracker issue.
  • Post the tracker issue number in the discussion thread, to encourage others to watch, vote, comment and/or come up with a patch for it.

What happens next?

  • The list of most voted-for new features is regularly reviewed by Moodle HQ and other core developers.
  • Promising ideas are added to the Roadmap (depending on funding availability).
  • Small feature ideas and improvements may be added to core by the component maintainer.

How to maximize the chance of your idea being implemented

Ideas with lots of votes are more likely to be implemented, however votes are not the only deciding factor.

  • If you're able to provide funding for your idea to be implemented, contribute to Fund Moodle or contact a Moodle Partner specializing in custom development.
  • Join the Moodle LMS Community Product Advisory Group to have your say in Moodle's strategic direction and contribute to guiding the Moodle LMS development roadmap.
  • If you're a developer and can create a patch for your feature idea or improvement, attach it to the tracker issue for review by the component maintainer. When you add a patch, add a "patch" label so your patch will be found in searches.
  • Moodle is modular, so the easiest way for developers to implement new features and improvements are via new plugins.

See also