Project of the Month, July 2011

Moodle

Moodle is a Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). It is a Free web application that educators can use to create effective online learning sites. It is used by over 54,000 institutions (that we know about) and millions of teachers in 212 countries.

Why and how did you get started?

Moodle was originally started by Martin Dougiamas in 1999, with the first release in 2002. Martin started Moodle in reaction to the inflexible and expensive commercially-available systems that were around at the time.

Who is the software's intended audience?

Moodle was originally intended for Universities to implement their online courses. It is widely used in that sector, but quickly spread to be used by high schools, primary schools, companies large and small. Basically anyone who needs to conduct a course online will find it useful.

What are a couple of notable examples of how people are using your software?

Open University in the UK is one of the largest of the many thousands of universities using Moodle. They have hundreds of thousands of students using one big Moodle site for all their distance education.

Some large companies like Google, Shell, BP and GAC use Moodle for their internal training courses. Cisco use Moodle for the Cisco Academy. The fact that companies like these use open source when they could afford anything on the market speaks very well for the open source model - price is not the main factor.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

Moodle is a PHP application, so it runs on nearly any operating system (Unix, Linux, Mac, Windows) and because of our own advanced database application layer it runs on most databases (MySQL, PostgreSQL, Oracle, MSSQL). Setting it up is as easy as any good PHP application.

We have one-click install packages for OS X and Windows, making it simple for teachers to install on their own computers as well.

Moodle is also commonly found on most web host control panels (via Fantastico, for example) making it even easier to set one up.

Finally, we have a network of Moodle Partner service companies around the world who offer hosting as part of their many Moodle services.

What gave you an indication that your project was becoming successful?

At first I did think it would be a hobby for me. When I found myself spending complete days immersed in the flurry of activity from developers and users around the world I realised this was going to be my life. Within a couple of years I was having to decide how to cope with the huge demand, and I started Moodle Pty Ltd and the business model that we have today.

What has been your biggest surprise?

I was not surprised that Moodle was being used around the world - I felt pretty sure that the educational principles behind Moodle's design were sound and would apply everywhere. I built translation into the product and a lot of people helped translate Moodle into 95 languages that we have today.

However, I continue to be surprised at some of the different ways it gets used! Many people basically use it as a programming framework to build all sorts of things.

What has been your biggest challenge?

Maintaining the business model. We have tweaked and changed things over the years, and are still doing it, but it underlies the whole success of Moodle. Other than that I would have to say Internet Explorer and it's, er, unique support for web standards. :)

Why do you think your project has been so well received?

We have a lot of features, and are constantly growing the system based on user feedback. A lot of the features are about making things easy for administrators of these quite complex systems. The GPL makes people feel safe too, as does a robust business model.

What advice would you give to a project that's just starting out?

Firstly, you do need to build a product that really solves a need and is usable by your target market, of course.

But secondly, think about your business model. Do not rely on grants or other one-off funding for the long term. Software can be pure and free, and always should be, but you have a responsibility that people are being paid for what they love to work on, so that you and they can look after your families. If you sort that out then users will have more confidence in the project too, and it will last for a long time, so it's a win-win for all.

Where do you see your project going?

We just released a big 2.0 release that allowed us to refactor a lot of the underlying platform. We are now focused again on user interfaces, user features, mobile apps, integration across the internet and so on. We (the core team) are also working hard at building up the developer community and the ecosystem of third-party plugins.

What's on your project wish list?

Ever-more-usable interfaces and workflow. This is really hard to do well in a complex web application such as ours but we are always chipping away at it.

What are you most proud of?

In many places we have actually become the mainstream solution! For some implementations millions of dollars are involved. Quite a change from being the plucky underdog in the beginning. Far from being complacent, though, this means fresh challenges. There is such a thing as "too mature" in software, so we need to work hard to maintain relevance and meet increased expectations.

If you could change something about the project, what would it be?

I might have got more graphics designers involved in the beginning instead of trying to do it myself. Graphics have a powerful effect on perception of quality.

How do you coordinate the project?

My company Moodle Pty Ltd in Perth, Australia employs about 20 people to manage the project and do core development.

We have implemented a SCRUM-based software development methodology for the main teams working on major and minor releases, as well as clear and established workflows for integration reviews of all patches coming into core. All code coming into the core production software has been reviewed by at least three people.

How many hours a month do you and/or your team devote to the project?

Moodle Pty Ltd has 20 full-time people, and there are over 200 contributing developers doing some sort of part-time work out there.

What is your development environment like?

Everyone uses their own choice, from vim to netbeans and Eclipse, on any O/S, but we coordinate all code via git. Most people use github too.

Milestones:

Date Version / Milestone
2002 Moodle 1.0
2007 We moved off SourceForge
2010 Moodle 2.0

Moodle 1.x releases were irregular over the years. We now release 2.x releases every 6 months.




How can others contribute?

Start at http://moodle.org and look under development. You might also want to apply for a job at http://moodle.com


More projects of the month

Project name: Moodle

Date founded: 2002

Project page: http://www.moodle.org/

Project Leader


Martin Dougiamas

Martin Dougiamas

Occupation: Lead Developer
Location: Perth, Australia
Education: BSc (Computer Science), MSc (Education)

Key Developers


Michael Blake

Michael Blake

Occupation: Operations Manager
Location: Houston, Texas


Petr Å koda

Petr Å koda

Occupation:Senior Moodle Developer
Location: Liberec, Czech Republic


Eloy Lafuente

Eloy Lafuente

Occupation: Knight in Shining Armor
Location: Liberec, Czech Republic


Helen Foster

Helen Foster

Occupation: Community Manager
Location: Bonheiden, Belgium


Dongsheng Cai

Dongsheng Cai

Occupation: Moodle Developer
Location: Perth, Australia


Jérôme Mouneyrac

Jérôme Mouneyrac

Occupation: Moodle Developer
Location: Perth, Australia



Jordan Tomkinson

Jordan Tomkinson

Occupation: System Administrator
Location: Perth, Australia




David Mudrak

David Mudrak

Occupation: Moodle Developer
Location: Liberec, Czech Republic


Rossiani Wijaya

Rossiani Wijaya

Occupation: Moodle Developer
Location:Perth, Australia


Sam Hemelryk

Sam Hemelryk

Occupation: Senior Moodle Developer
Location: Perth, Australia


Andrew Davis

Andrew Davis

Occupation: Moodle Developer
Location: Perth, Australia


Anthony Borrow

Anthony Borrow

Occupation: Contributions Coordinator
Location: Houston, Texas


Tomaz Lasic

Tomaz Lasic

Occupation: Education Researcher
Location:Perth, Australia


Aparup Banerjee

Aparup Banerjee

Occupation: Moodle Developer
Location:Perth, Australia


Bree Vreedenburgh

Bree Vreedenburgh

Occupation: Accounts Manager
Location:Perth, Australia


Michael de Raadt

Michael de Raadt

Occupation: Development Manager
Location:Perth, Australia


Rajesh Taneja

Rajesh Taneja

Occupation: Rajesh Taneja
Location:Perth, Australia


Marina Glancy

Marina Glancy

Occupation: Moodle Developer
Location:Perth, Australia

Why did you place the project on SourceForge.net?

At the time it was really useful to help get my project going, for CVS, files, etc. I moved it off later in 2007 because we wanted more control over how the code was hosted.

How has SourceForge.net helped your project succeed?

In the past it helped in multiple ways. Currently SourceForge provides some mirroring of some of our download packages.

The number one benefit of using SourceForge.net is:

Ease of use, central location of all bugs, distribution, and lists. I would recommend it to any projects getting started.