One of the favourite weapons in the “Fear Uncertainty and Doubt” arsenal is the claim that such-and-such open source app is maybe nice, but not quite “enterprise ready,” not able to support “mission critical” computing. And certainly, in the realm of Course Management Systems, it’s one you will hear levied at all of the open source contenders. more…
This thread on the Moodle forums (note: just click on the ‘Guest’ access to get past the password prompt) is the start of a decent response – click on ‘Show Parent’ to get the full thread. As noted there, Moodle is being used in at least one scenario to support 35,000 users and 6000+ courses, which from the perspective of sheer size is beginning to look like an “enterprise level” installation.
In this case the either/or that’s being presented is between commercial CMS and Moodle, but
the same FUD campaign is being waged similar comments have been raised quietly by other open source CMS (cf. this discussion, amongst others) against Moodle (and also against other viable alternatives). Which begs the question – what constitutes an “enterprise” CMS, and how do you judge a CMS’ readiness for “mission critical” computing?
Well, one old saw that is hopefully being put more and more to rest would look at the development language itself (in the case of Moodle, a LAMP system using PHP) and dismiss the application simply because it didn’t use one of the approved “enterprise” languages (Java, C++, etc.) While there are clearly differences in these languages, as Jon Udell has repeatedly pointed out, this is a claim that’s been levied at all languages at some point or other, and recent announcements from IBM and others would seem to support the notion that PHP is both here to stay and becoming increasingly accepted in a wide variety of scenarios.
One could spend similar time debating architectures and development practices, but on the scalability issue it seems to me the proof of the pudding’s in the eating; the majority of the “35,000 student” installs that the various camps reference will never in fact have even a half of these users touching the system at the same time. My experience has been that if you want to see how well your CMS (and your hosting environment!) stands up to scale, throw 6-10 (more if you like) sections of different courses at online tests simultaneously, and see how the system responds. Quizzing and testing represent one of the few CMS use cases where the server starts to get banged on at all seriously. There is defined period of time in which the users must access the material, and the process of submitting and storing each response generates lots of database read/writes and form submissions. Maybe I’m wrong (won’t be the first time), but maybe instead of flinging FUD arrows at each others’ systems, some standard benchmarks like these could be developed that can be tested across systems, much like the benchmarks that exist for standard web servers and application servers.
But that is ultimately a fairly narrow view of what’s needed to serve “mission critical” and “enterprise” needs. For non-domain specific criteria in these regards, go ask your IT department for their requirements, and hopefully they will speak to other issues like the system’s backup and restore capabilities, whether it can load balance across multiple machines, or integrate into existing authentication or authorization infrastructures.
And after you’ve had that conversation, go talk to the folks who administer your actual CMS boxes, and the instructors who must use them. They’ll point you to features like end-of-term rollover, integration with the SIS for course creation and population and transfer of grades as things the system must support unless you want to start hiring new bodies as your course numbers grow. They might also point to things like supporting content sharing and re-use across the organization, the ability to separately brand parts of the system, and a distributed administration model to support large organizations with multiple ‘schools’ and ‘departments’ as increasingly essential aspects to ‘enterprise’ CMS.
So what’s the point of all this. Well in part it’s in defence of Moodle and in part an attempt to move this discussion away from FUD and towards rational decision making. In defence of Moodle, read the post for yourself and decide what you think. Like I said, it’s the “start” of a response to this criticism of not being “mission critical” ready, but as I’ve tried to point out to a few of the OS CMS developers over the years, they need to make a more concerted response to this criticism if they don’t want it to stick (but then maybe they don’t care; clearly the impetus to garner market share and become widely adopted is different than for commercial entities.)
And as a step toward rational decision making, it’s a plea to organizations to have rational, values-based and business-driven conversations within their organization about what they believe are the true measures of “enterprise readiness” their CMS must meet.
And when you’ve done all that, at the end of the day these can’t and shouldn’t be the only drivers toward selecting a CMS. Clearly, these get at only the minimum requirements from an IT and administrative point of view and for the most part don’t speak to the issue of how the application creates value for its users, the instructors and students whose online teaching and learning these systems are supposed to enhance. How to mediate these two perspectives is a topic for a whole other post. Maybe I’ll end by simply pointing out that it seems ironic that a class of application that didn’t exist 10 years ago is now being called “mission critical” at a time when it seems that the application logic they support (and the pedagogical models) are increasingly under fire. – SWL
Addendum (June 8, 2005): See also http://moodle.org/mod/forum/discuss.php?d=23164#109317 for continued discussions on Moodle hosting large installations, and http://catalyst.net.nz/moodle/MoodleMoot2005-EnterpriseMoodle.pdf
for a great presentation on a ‘enterprise’ level hosting environment for Moodle.