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 Leader
Martin Dougiamas
Occupation: Lead Developer
Location: Perth, Australia
Education: BSc (Computer Science), MSc (Education)
Key Developers
Michael Blake
Occupation: Operations Manager
Location: Houston, Texas
Petr Å koda
Occupation:Senior Moodle Developer
Location: Liberec, Czech Republic
Eloy Lafuente
Occupation: Knight in Shining Armor
Location: Liberec, Czech Republic
Helen Foster
Occupation: Community Manager
Location: Bonheiden, Belgium
Dongsheng Cai
Occupation: Moodle Developer
Location: Perth, Australia
Jérôme Mouneyrac
Occupation: Moodle Developer
Location: Perth, Australia
Jordan Tomkinson
Occupation: System Administrator
Location: Perth, Australia
David Mudrak
Occupation: Moodle Developer
Location: Liberec, Czech Republic
Rossiani Wijaya
Occupation: Moodle Developer
Location:Perth, Australia
Sam Hemelryk
Occupation: Senior Moodle Developer
Location: Perth, Australia
Andrew Davis
Occupation: Moodle Developer
Location: Perth, Australia
Anthony Borrow
Occupation: Contributions Coordinator
Location: Houston, Texas
Tomaz Lasic
Occupation: Education Researcher
Location:Perth, Australia
Aparup Banerjee
Occupation: Moodle Developer
Location:Perth, Australia
Bree Vreedenburgh
Occupation: Accounts Manager
Location:Perth, Australia
Michael de Raadt
Occupation: Development Manager
Location:Perth, Australia
Rajesh Taneja
Occupation: Rajesh Taneja
Location:Perth, Australia
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.
Leave a Reply