In search of a flexible, open education management system

No readers like this yet.
Freer than free, opener than open: The fight for the learning management systems

Watching gibbons play is like nothing else on earth: they show astounding flexibility, speed, and grace as they swing, run, and jump. These long-armed primates are found in forested areas of Southeast Asia and move by swinging and leaping from tree to tree. Their sense of fun is almost tangible in the air around them. Although lofty, these attributes are what the Gibbon project, an education management system, aspires to bring to schools and colleges.

When I started working in education, I was hired to build web-based systems to fill the gaps left by other school platforms. For example, a system might have been designed to work for a North American school, but after deployment to an IB school, it was discovered that certain features were missing. These large, unwieldy systems were difficult to use, even for a technician, and never seemed to do quite what the job called for. In one such system, it was not unsual for a teacher to have to master SQL table joins before being able to retreive data on their students. Needless to say, such interfaces with student data did not prove popular with teachers struggling to meet the demands of their jobs. As I progressed in my career, I became involved in evaluating, procuring, and designing large systems like these, all with the goal of finding one that met the diverse needs of a large group of schools (e.g. taking attendance, learning more about a student, keeping an organised grade book, etc). Never once did a system jump out as being particularly easy to use, nor did any seem to be complete in needed functionality.


After changing career paths and training to become a classroom teacher, I began a job as the ICT Coordinator for International College Hong Kong. In this position I was responsible for providing coherent software tools to help teachers and students work effectively. What I found installed was a corporate ERP tool hacked to fit a school setting. Naturally, this did not really facilitate teaching and learning in the way I had hoped, for example, by allowing teachers to plan lessons and share them with students.

I felt strongly that an open source system was the answer because it could be improved and tailored to meet the needs of the college. However, after much searching, I could not find a flexible, open, and functional school system to meet our needs. Without really understanding the size of the task, I decided the only path was to build one myself.

This decision was also driven by a feeling that I had benefited from open source software many times in my life. I've been a user of Linux, Firefox, Drupal, and WordPress—as I'm sure many of you have as well. I felt this was my chance to give back to an open source community of committed users and developers whom I respect.

I own the copyright to a school-centered system called Muse, so I began there, stripping back and rebuilding the code to produce a user authentication and management system—today called, Gibbon. With this in place, I began building one of Gibbon's defining features: a flexible system for controlling functionality for users across the system. Like Drupal, it has a flexible set of modules, each defining a set of actions users could perform. Grouped in roles, users can then be given access to functionality with just the check of a box. Gibbon has core modules and themes and is built to allow easy integration of additional code to adjust both functionality and appearance.

With the framework in place, I began replicating in the database and code various structures found in schools, like: academic years, year groups, spaces, roll groups, courses, classes, students, and teachers. Each of these structures was designed to work for a broad range of schools, such as those catering to different ages (primary or secondary school) and those teaching different systems (e.g. UK National Curriculum, IBO, etc). With this type of flexibility comes difficulty, as it requires thinking not just about the case in front of you, but of all possible cases. For example, you cannot simply hard-code in a school week running from Monday to Friday, as this is not universal around the world. Although time and resources were limited, I spent a lot of time on this, reasoning that it would save time in the future.

Next, I was ready to start writing user functionality. Naturally, I began with the needs that were most pressing at the college where I worked. The first was access to students' profiles, where teachers could learn all they might need to know about a student. Then I built a module where teachers can create, store, and share lesson plans, followed by another where they can also store and share grades. I built each new module or functionality in private in order to avoid getting bogged down, including pet features for everyone, releasing it to relevant users only when it was stable and useable (if not complete). I then got feedback from the few early users and quickly implemented changes. By operating in this manner, I showed a willingness to improve the system and attracted more users to the system.

Overall, development of Gibbon was rapid, non-linear, and unplanned. Driven by the needs of now-interested colleagues, myself, and the other developers on the project, I have added functionality to track behaviour, run activities, view timetables, plan units of work, share resources, and more. By releasing early and often, each new development exposed the system to new strains, which needed to be addressed before moving forward.

The result, for users (administration, teachers, parents, and students) is an education management system that provides end-to-end workflow, supporting teaching and learning from planning to classroom learning to asssessment to reporting. Gibbon also supports a wide range of educational experiences—for instance, all within one system, a teacher can use Gibbon to plan their curriculum, share lesson plans, assign and collect homework, and grade and assess feedback.

Three years and seven versions into the project (v7.1.00, Agile, was released in December 2013), and Gibbon has reached a relative level of maturity, if not completion. It is currently used in the running of most aspects of my own college and of our partner school. It is also under testing in several other schools. Gibbon ships with 24 core modules, handling tasks as diverse as education, school management, finance, and communication. With a library of five free additional modules, and developers available to custom-build more, it is highly malleable to the varying needs of any educational institute.

The next phase for Gibbon is growing the base of education organizations that implement and use the system as well as the passionate community of developers and supporters. If you would like to learn more about Gibbon:


User profile image.
Teacher & Technology Director, open source developer ( ) and advocate. Working in the strange and wonderful intersection of technology and education, living in Hong Kong. @rossdotparker on Twitter.


Great project. I look forward to hearing more. There is a great need for your project. Is it mobile friendly? Are there any browser limitations or recommendations?

Thanks Don! In terms of browsers, it runs in most anything. It is tested most in FF. It does not run in IE6, but I think that is a good thing, otherwise it would only be using old web technologies. There is no separate mobile interface, and it is not responsive. However, it is very usable on a 10 or 7in tablet, and OK on phones for small tasks (e.g. taking attendance).

Indeed, I found it recently, and it looks like a great system. I'll definitely keep it in mind for future opportunities.

Urko, thanks for the feedback. How did find the system? Just interested if it was through search, recommendation, etc.

I think it was one of the systems mentioned here at in an article about educational software not long ago. Could that be it?

Urko, that sounds like it would make sense...but I was not aware of such an article ; ) Thanks for taking the time to follow up.

It was very difficult to find the source code on:
I expected it on the contribute page. And after not finding it there I almost gave up, thinking I'd have to email support to ask for it. I finally found it on the Download page.

Scott, sorry to here this was difficult for you. I have now added a link to our Github repo on the Contribute page. Thanks for the feedback!

Interestingly I am only getting aware of you wonderful application, having been in the Higher Education market ourselves over the last 3-4 years with A1 Academia.

I think there are areas we could work together especially where the needs of Higher Ed comes into play. Would like to explore this further.

Waithaka Ngigi

Waithaka, thanks for your comment. I had a look at A1 Academia, and it looks like a cool project. Feel free to email your ideas to, and perhaps we can start a dialog from there. Gibbon has a HE module to support students in applying to higher education, but nothing beyond that.

i am having issues installing. is there a step by step tutorial illustrated if possible to help me?
thank you

Charles, thanks for your interest in Gibbon. I would suggest you follow the install guide at the following link:

It is not illustrated, but should help. If you have any specific questions, let me know. Are you familiar with installing web-based software, such as WordPress or Drupal? The process is much the same. It is not too complex, but some technical knowledge is really required.

Once you get it installed, this link will help you to understand how Gibbon is structured:

If you have any questions, please email



Great stuff. Two questions: Does your college management system allow parents online access to view the attendance and progress of their children? Is there an external integration with Moodle?

John, thanks for the positive feedback. Yes, you can give parents online access to see attendance data and academic progress for their children. And yes, there is an additional module called Moodle, which sets up some database views to allow connection from Moodle to such in course and class data into Moodle. Once you have the module installed, you can sync by following these instructions:

In reply to by John Makhene (not verified)

Does Gibbon allow for online payment of fees via, say, PayPal?

John, at current, Gibbon only allows payment via Paypal for application forms. However, in v8.3, which is due for release in the next two months, online payment will be available for all invoices. Hope this helps!

In reply to by John Makhene (not verified)

John, just to follow up, this feature has just gone into Gibbon's dev code as the last major feature in v8.3. I am now applying a database and string freeze, which means we are most likely two weeks away from rolling out v8.3.

In reply to by John Makhene (not verified)

Does Gibbon allow for online payment of fees via, say, PayPal?

A quick update from the Gibbon team. Work on v9 is coming along nicely, with release expected end of Q1 2015. Gibbon 9 will feature a massive update to the visual design of the system. See for a screenshot, and let us know what you think.

Nice project! Go ahead.
Waiting for hearing more development about Gibbon. )

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.