After I recently posted some statistics on the EDU 2.0 code base, I decided to gather similar statistics on Moodle and Sakai, two open source education platforms similar in functionality to EDU 2.0.
I used the following sources to gather some basic statistics:
- http://moodle.com/jobs/
- http://sclater.com/blog/?p=52
- http://idecdigital.arq.ucv.ve:8080/static/idec/files/informe.pdf
I have made no attempt to verify these statistics but by cross-referencing articles I believe they're in the right ball-park. Here are the results of my quick-and-dirty research:
- Moodle: 1,500,000 lines of PHP, 300 man years
- Sakai: 2,000,000 lines Java, 250 man years
- EDU 2.0: 16,000 lines of Ruby, 2 man years
All three systems support the following functionality:
- forums
- classes
- gradebook
- chat
- wiki
- personal blog
- groups
- lessons
- HTML editor for content
- student roster
- attendance
- online submissions
- quizzes
- assignments
- surveys
- messaging w/ email integration
- RSS feeds
- calendar and custom events
- student transcripts
- task list
- alerts
- daily events
EDU 2.0 also provides the following functions:
- e-portfolios
- private class blogs
- points system for contributions, games
- social networking features
- custom RSS feeds for each class
- shared & moderated resource library
- rubrics
- web-based community translation system
- couple of community games
- structured class debates
- self-study system
- custom curricula
In addition, I have no doubt that Moodle and Sakia provide some features that EDU 2.0 currently doesn't have.
I don't draw many conclusions from the statistics, but they did make me feel pretty good about our architecture and efficiency!
Hi Graham!
These are apples and oranges really.
Edu 2.0 doesn't appear to be something that can be downloaded and run independently (so no install/environement code)
Edu 2.0 doesn't support integration with other local systems (eg LDAP, IMAP, SIS, etc)
Edu 2.0 doesn't support multiple databases (Moodle supports MySQL, PostgreSQL, Oracle, MS SQL etc)
Edu 2.0 doesn't have translations in 75 languages.
Edu 2.0 doesn't have collaborative development and so probably has less lines of comments and white space.
Moodle and Sakai are also written in different languages that perhaps don't have the same libraries as Ruby (and so they need to include them in the download).
So there are a lot of factors here, basically making any sort of comparison based just on lines of code meaningless.
Cheers,
Martin
Posted by: Martin | Mar 03, 2008 at 10:05 PM
Hi Martin,
Great to hear from you and thanks for your comment!
I admire the work that you and your team have done on Moodle, and there's no question that it's a deservedly successful system. You've done an amazing job building a huge base of happy users!
But while I agree that there are some aspects of Moodle has that EDU 2.0 doesn't, I don't think they are as different as you imply.
- EDU 2.0 supports all the SQL databases that are supported by the Ruby SQL adapters, including all the ones you list. We currently use MySQL, but could easily switch if we wanted to.
- EDU 2.0 has a pretty nice web-based translation system with moderation, translation groups, translation statistics etc. I don't know if Moodle has these features, but if it doesn't this would actually increase the size of the EDU 2.0 code base. That being said, the translations are stored in the database and cached at runtime so the 10 languages we currently support do not have any associated lines of code. If Moodle stores translations as PHP code, then this would certainly account for quite a lot of code.
- We didn't count comments or blank lines in our own lines of code count, and I don't know if the Moodle count includes that or not. LOC statistics usually leave out such items.
- I agree that we don't interface with systems like LDAP, which would increase our LOC. But by how much? I don't know ;-)
- I agree that a variation in various libraries would influence LOC.
- I agree that EDU 2.0 doesn't need install/environment code, but then again Moodle doesn't need the moderation and privacy options that we have in order to support a web-hosted community environment. Perhaps these aspects would cancel each other out from a LOC point of view?
Hope this makes sense.
Best regards,
Graham
Posted by: Graham Glass | Mar 03, 2008 at 10:24 PM
Martin:
While it might be true can not download and run EDU 2.0 and you can do that with other solutions I do not see that as knock on EDU 2.0 anymore than a knock on Google. EDU 2.0 is providing the service; while the others you mentioned are providing the code or binaries and to make use of them one would still need hardware.
Despite all the comparison I find EDU 2.0 a much better tool than Moddle; in fact if I wanted a self-hosted solution I would use Microsoft Sharepoint Services before Moddle as it has a cleaner look and integrates more easily with Active Directory.
Posted by: indigo196 | Mar 06, 2008 at 10:23 AM
Graham- We are researching all of our options to develop an online educational system as a non-profit for children in Calcutta, India.
Initially we want will build customized flash games that will match up/integrate with the learning modules, but we are ideally looking for a LMS/SNS that is "brandable/skinable", has low cost development, and is scalable to handle full K-12 curriculum and thousands of students.
We also need tiered permissions/access based upon admin, volunteers and donors.
Ideas, thoughts, limitations? (specifically language)
Brad
Posted by: Brad | Mar 24, 2010 at 09:29 AM
This was an intense...learning experience. Jeanette
Posted by: Jeanette Delgado Nazario | Apr 11, 2010 at 06:17 AM