Case for Moodle

From MoodleDocs


Moodle is open source software. Many people do know about this type of software, so finding out that Moodle is 'free' tends to lead them to think it is "cheap" or unfinished or a "cut down" commercial product that lacks key features. For these people we ask them to first understand Open source software and its cultural influence and technical consequences in Moodle.

Open source software advantages

  • Free does not mean an open source program is crippled and is worth next to nothing.
  • Millions of people use open source software every day, often without even realizing it.
  • Although the software is free, this does not mean that the company producing it is not making a profit from it in other ways
  • You are guaranteed the right to copy, modify and redistribute the software, provided you guarantee those same rights to anyone you share it with
  • In a popular open source program, these rights have developed a community of enthusiasts who report bugs, fix bugs, test new code, write new code for plugins and extensions and create documentation for users.
    • This means that you have the efforts of the company + the efforts of the community working together to improve and develop the software.
    • There are few secrets in an open source community about current issues and the future.
    • Proprietary programs tend to communicate with their paying users though press releases and bug fixes, not in open discussions.
  • Open source tends to be more secure, more stable and to develop faster than similar proprietal software.
  • You can design and develop any functionality to advance your Moodle for yourself as you need it, if you want to.
  • You can share any advances in functionality you make or keep them to yourself - all without prejudice to the product, as long as you grant the same privilege to anyone who uses your advances if you decide to share.
  • The idea of free software should not give anyone the thought that is is without any cost, you still have to provide the right tools and environment for the software to run in, but this cost is exactly the same whether you use Open Source or proprietal software.
  • One area of cost saving can also be that other Open Source applications can be integrated into a system rather than paying additional fees for proprietal upgrades or "expansion packs".

Business Consideration

"Ownership" v Licensing

  • As Moodle is Open Source, you can actually "own" your own Moodle. Proprietal systems are never purchased, you can only buy a license to run that software.
  • Many proprietal licenses can only be puchased on a "per-seat" basis. This means that you pay for the number of users, and this can also mean many thousands of dollars in additional capital costs.
  • Another drawback with the licensing of proprietal software is that you can never resolve issues quickly.
  • With a PHP application like Moodle, you can always seek advice from the Moodle community if an issue arises. You can try to gain this kind of support from similar communities of a propietal product's user base, but it is unlikely that you will actually resolve much.
  • Any issue that involves a rewriting of code almost never gets remedied in a timely manner. It usually has to wait until a new version is released which will often mean another expensive purchase even if the vendor offers an upgrade pricing policy.
  • As the coding in Moodle is done in an easily accessible scripting language, by a largely volunteer group, errors in code can be repaired quickly and cleanly.
  • If your organisation has the skill base, you can make any repairs to any problem yourself, then onsell that solution or give it away, suiting your own business priorities.
  • This has an additional advantage, versioning control may seem loose, but with the frequency of changes, updates are available on a weekly basis. In turn, this constant maintainance cycle can mean that your Moodle is always up to date, always using the latest release. As such updates and practices will improve the stability and often versatility of Moodle, the evolution of the product is easily traceable and this lowers your longer term capital costs.
  • You will not need to guess what is coming, you will know long before it actually appears in the download areas.

For another perspective as to what this implies is that your Moodle resources and exercises and activities can be updated quickly and relatively easily as the Moodle itself changes. An example of this is the huge step up from Moodle 1.9.x to Moodle 2.0. There were a huge number of changes but the fundamentals were so similar that there was no real rpoblem about recognising how things were being done in the new interface. In many instances, proprietal software does not really give you an option to gradually change your resources, to remain current over time. A change comes and either you update, paying money, or you do not - one of the two. The long term implications are easy to see, if you do not update, you cannot remain current, competitive, or cost efficient. With an Open Source Moodle, you can.

Perhaps the greatest advantage of using Moodle is the most simple. If you own a Moodle, you can redevelop it and if it is any good, you can onsell what you have done. Obviously, you cannot sell Moodle, but if you develop a better set of blocks, for example, there is no reason you cannot market them and sell them as part of a Moodle package. If you have complete control over your Moodle, you can do almost anything you want with it. You cannot do that with any proprietal software.

Ownership, longer term cost efficiency, competitiveness and currency are all serious business aims. Each of these can be achieved with Moodle in a more consistent manner than with proprietal software.

Cultural

Support

Moodle's open source nature means that there are far more avenues for support available than is the case for other LMS systems.

  • Pop-up help - clicking the help icons wherever you see then (almost every field on forms and many other places) in a Moodle site, gives you access to the main help files that come with a Moodle distribution package
  • Moodle Docs (this site) is built and maintained by the community. It is not only available to browse, but each page on a standard Moodle site has a link at the bottom, which goes to the corresponding documentation in Moodle Docs. This saves you from having to create your own training materials or website in-house and lets you combine any information you wish to provide with the sum of all the knowledge already accumulated
  • Community forums - the Using Moodle course at moodle.org has thousands of dedicated teachers and programmers who are active in conversations every week. You can ask a direct question, or browse all the archived conversations going right back to 2001. You can speak to other teachers or directly to Moodle's designers and programmers.
  • Books - Over 20 books have been published about Moodle in several languages by over 12 authors
  • Moodle conferences - Moodle user meetings that are held all over the world at different times by the community of Moodle users.
  • Commercial support services - There are many types of commercial services you can pay to have someone assist you. These can include support contracts and service level agreements. Moodle.com lists partner companies who will provide commercial support for your Moodle installation. Instead of having to rely on one company to solve your problems or provide training (an effective monopoly, as with other systems), you have a number of companies competing for your training and support business, leading to lower prices and more choice

Customization

  • Moodle's open source nature means that you own the system and have rights allowing you to change and modify it, rather than renting it 'as is', which is the case for many competing systems.
  • You can modify the code - we need to say it again. Most proprietary software systems protect, compile, hide and legally protect their product from being modified by others. While Moodle has many ways on the user interface side to modify it, the code and underlying database is there for you to tweak in any way you think will benefit your organization or better meet your need.
  • Contributed code - There are hundreds of free third party modules & plugins available so that you can add special functionality that is not part of the standard core code.
  • Pay for modification - you can also commission a programmer (see moodle.com if you need one) to make any extra plugin or alteration you like to the standard code. And if you add it to the contributed code database, others may improve it further. Interest in a contributed code sometimes leads to it being included in the standard Moodle code package.

Philosophy

Moodle is based on a solid foundation of social constructionism (strong community, shared experiences, building things together for others to view and use) and grew out of postgraduate research by Martin Dougiamas, its founder. Other companies tend to be led by profit, leading to a focus on marketing to what school decision makers think they need, rather than what actually works best.

Innovation

Moodle is not constrained by what will sell well, so the code that is developed, especially by third parties, is often at the cutting edge of educational thinking. The open source philosophy helps here too, as schools and universities often choose to have moodle enhanced for their own purposes and contribute their code back to the community. Recent examples include the new wiki, developed by a team at Universitat Politecnica de Catalunya and the new groups code developed by the UK Open University.

Usability

To support a host of automated and personalized services, such as self-paced and role-specific learning, the access, delivery and presentation of material must be easy-to-use and highly intuitive — like surfing on the Web or shopping on Amazon.com.

Perhaps the best sentence to short Moodle usability is: "simple and powerful".

There is some talk about Moodle usability.

The Interface guidelines aim to help developers work towards a highly usable system. And the general consensus is that Moodle excels in this area.


Technical

High availability

The LMS must be robust enough to serve the diverse needs of thousands of learners, administrators, content builders and instructors simultaneously.

Usage patterns will vary strongly with the specific context of the deployment. But in general, Moodle presents a high-availability web-based interface, allowing learners, tutors, and administrators routinely to log in and carry out their daily tasks. See the scalability section for other relevant information.

Scalability

The infrastructure should be able to expand or scale to meet future growth, both in terms of the volume of instruction and the size of the student body.

Moodle runs on a wide variety of webservers/database technologies. As with any installation of a server-based software system, it is crucial to refine carefully the choice of hardware, operating system, and database system, to ensure that the system can cope with a high throughput. Perhaps the oldest large Moodle installation, Open Polytechnic of New Zealand), handles 45,000+ students and 6,500+ courses registered. A current list of large installations is always expanding.

The consensus in the Moodle community seems to be that a Linux-based webserver running Apache, with PHP installed as well as a PHP accelerator, is commonly the best choice, and that the webserver and database server should sit on separate machines.

It is possible to load-balance a Moodle installation, for example by using more than one webserver if necessary. The separate webservers should query the same database and refer to the same filestore area, but otherwise the separation of the application layers is complete enough to make this kind of clustering feasible. Similarly, the database could be a cluster of servers (e.g. a MySQL cluster).

All this implies that Moodle's architecture makes it easy to respond to future demand, by adapting the technologies upon which it runs. This should be possible even in a live production setting, to improve the service without major disruption.

Interoperability

To support content from different sources and multiple vendors' hardware/software solutions, the LMS should exchange data using open industry standards for Web deployments.

  • For authentication, Moodle supports authenticating against LDAP, which is the most widely-used standard protocol for this purpose. It also supports authentication based on direct database lookup (e.g. in an external Oracle database), or on the Shibboleth protocol, or alternatively using IMAP, NNTP, CAS or FirstClass.
  • For enrolment, Moodle supports the use of an LDAP server (e.g. Active Directory), and the IMS Enterprise standard (via a downloadable plugin).
  • For content, there are a number of aspects:
    • Moodle supports the import of Reusable Learning Objects packaged according to the SCORM/AICC/IMS Content Packaging standards. Moodle 1.9.5 is certified SCORM 1.2 compliant. Moodle 1.9.7 onwards supports IMS Common Cartridge import.
    • Quiz questions can be exported in the international standard IMS QTI 2 and several other formats. And be imported from even more formats.
    • RSS newsfeeds can be integrated into a Moodle site or course.
    • Forum discussions, glossary entries and database content can be accessed as RSS newsfeeds, and therefore integrated into other RSS-capable websites or systems.

The use of XML for import/export is standard in Moodle. The "web services" method of exchanging data with other systems (e.g. via SOAP or XML-RPC) is not yet standard - but is in active development.

Stability

The LMS infrastructure can reliably and effectively manage a large enterprise implementation running 24x7.

This is the same issue as discussed in Availability and Scalability above.

Security

As with any outward-facing collaborative solution, the LMS can selectively limit and control access to online content, resources and back-end functions, both internally and externally, for its diverse user community.

Moodle's current system of roles includes administrators, teachers, teachers without editing privileges (sometimes called teaching assistants), students, and guests. Each has a clearly defined set of privileges and cannot act beyond those privileges.

The basic unit of organisation is the course. An administrator can assign any number of teachers (with or without rights to edit content) to a given course, which has its own file area as well as its own discussions forums and other activities. Teachers can decide whether content is visible or hidden to students.

Moodle is designed and audited to be secure for its purpose. A security issues/announcements site exists at http://security.moodle.org

See also

Using Moodle forum discussions: