How can I get involved in the open-source community?

How can I get involved in the open-source community?

by Diane Soini -
Number of replies: 3

I have never done any open-source software work before but I've been in webdev for a while. I don't really know how it works to work on an open-source project. Is there a good place to go learn more about this in regards to moodle? Things I'm looking for are how do you set up your dev environment, what kinds of coding standards are there, how do you identify something to work on, and what is the process of incorporating your work into the project?

Average of ratings: -
In reply to Diane Soini

Re: How can I get involved in the open-source community?

by Mark Johnson -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi Diane,

Welcome to Moodle! The good news is that by posting here you're already part of the community.

To start by answering a few of your specific questions:

  • The best places to learn about Moodle development are this forum (if you've got a question, post it here and developers will do their best to help) and the Development wiki which holds all of the developer-related documentation.
  • Regarding setting up a dev environment, you'd start by Installing Moodle locally and setting up your preferred IDE - there are guides for Eclipse, Netbeans, and PHPStorm.  If you're familiar with virtual machines, there's also a Vagrant script for setting up an install of Moodle for development.  You'll also want to read about setting up testing environments for PHPUnit and Behat.
  • For coding standards, you can refer to the PHP Coding style, CSS coding style, and current Javascript guidelines.  You can also use the Code-checker plugin to check your PHP for coding style issues, and running Grunt will check your Javascript.
  • In terms of something to work on, all issues are logged in the JIRA Tracker.  You'll need to create a separate account for the tracker than the one you use for the forums.  A good bet is to look for an issue that's been triaged (so the it's been agreed that it's a valid issue), but doesn't have anyone currently assigned to work on it.  This query gives you an example list of such issues.
  • To incorporate your work, you need to commit your work to a public git repository (most people create a fork of Moodle on GitHub) and submit the details of your branch on the appropriate tracker issue (note: don't create Pull Requests on GitHub).  It will then be peer reviewed, and if everything's OK it will be submitted for integration, tested, and released.  I've previously posted my git workflow for this.

In general, developers from the core team and the community read these forums quite regularly, and will answer questions if they have the time and the knowledge to do so.  It's also a useful place to pick up ideas from other people.

In reply to Mark Johnson

Re: How can I get involved in the open-source community?

by Diane Soini -

Thank you. That's a lot to look at. I once went to a drupal conference with a code-a-thon on the last day and was completely unable to contribute because of not knowing how to do it, the nuts and bolts. The most I could do was look over someone's shoulder and sort of do pair-programming. Looks like you have a lot of the type of information that I need to get started.