We want YOU to help the Numbas project!

The vast majority of development work on the Numbas system has been carried out by the e-learning unit of Newcastle University’s School of Mathematics and Statistics. In particular, almost all the code was written by me.

I’ve set aside time to write up information on how you can get involved with the Numbas project. I’ve greatly expanded our “Contributing to Numbas” page, listing the different ways you can help. I’ll reproduce the top part of that page here:

We encourage any kind of contribution to the Numbas project, whether it’s a bug fix, a new feature or extension, documentation, or just a suggestion of a feature you’d like to have.

We are always interested in feedback from users, especially those with interesting ideas on how to develop and improve the system.

Here’s how you can contribute to the Numbas project

  • Report bugs, or suggest features you’d like to see, on our issue trackers.
  • Blog about how you use Numbas.
  • Write some documentation.
  • Add a feature or fix a bug by contributing code.
  • Translate Numbas into your language.

We really would appreciate help in any of those forms. Bug reports and feature suggestions are invaluable feedback to guide our development. If you’re using Numbas successfully, please spread the word! While the Numbas documentation covers the individual features comprehensively, it could do with more information on the practicalities of running a Numbas test, and the tricks of the trade that you pick up while writing questions.

The last two items affect the Numbas code base directly, and I’ve done quite a bit of work to make it as easy as possible to get involved.

Translation first: previously, enthusiastic Numbas users have translated the interface into their own language by copying my English strings file and replacing each message, line-by-line. I’ve now created a Numbas project on the translation management system POEditor, which provides a much nicer interface to work on translations. You can get started with just your email address, and it’s easy to start translating into a new language.


Finally, I said at the start of this post that I want more people involved in the Numbas source code. It’s a fairly large system, and working out how something is implemented often requires understanding multiple inter-related parts of the code. To provide an easier way into development, I’ve picked out a few items from our GitHub issue trackers that are fairly straightforward to implement. Those issues have the label ‘up-for-grabs’: the idea is that you should be able to come in without any knowledge of how the system works and make the required change. Underneath each issue, I’ve written short sketches of how they could be implemented, to save you scouring the codebase in search of the right place to start.


I chose the label ‘up-for-grabs’ because I’ve added Numbas to up-for-grabs.net, a list of projects which have curated tasks specifically for new contributors. While I was there, I found a few other projects I’d like to contribute to – hopefully, the reverse will also happen!

I’d better reassure you that I’m not doing all this because I’m planning on leaving – I’m still working on Numbas full-time, and that’s not going to change any time soon. I just thought that, with Numbas being used by so many people now, it could better reflect the needs and wishes of its users if it wasn’t just me adding features in when I need them.

So, I hope this post has inspired you to contribute to the Numbas project in some way. If it has, head over to the Contributing to Numbas page to find out how you can get started.