Extending Mahara
Mahara has been written to be pluggable, and this means that anyone with the knowhow and inclination can put together his/her own additions to the code, because the source code is open.
Think of it like LEGO when you were younger. You've got that super-cool pirate ship that has everything you need to start playing — cannons, masts, monkeys, and treasure. But, one day you find out you can get a separate harbor to dock your boat to and new special characters to go on your ship. You don't need these extras, but they would make it more fun to play with.
The extensions don't meddle with the core code. When you have a plugin installed, on occasion it can cause problems for you when you come to upgrade as it is now part of your system. If its functionality breaks when you upgrade your Mahara site, users won't have access to some of their content anymore.
This extension/plugin system means that administrators can pick and choose which extensions to add to their site. In Mahara you...