The Power of Open: Questionmark’s open assessment platform

Posted by Steve Lay

In the beginning there was CVS, then there was SVN and now there’s Git.  What am I talking about?  These are all source code control systems, systems that are used to store computer source code in a way that preserves the complete version history and provides a full audit trail covering the who, what, when and why changes were made.

When we think of open source software we tend to think of the end product: a freely downloadable program that you can run on your computer or even a complete computer operating system in the case of Linux.  But to open source developers, open source is about more than this ‘free beer’ model of sharing software.  Open source software is shared at the source code level allowing people to examine the way it works, suggest changes to fix bugs, enhance it or even to modify it for their own purposes.  Getting the most from sharing source code requires more than just sharing an executable or a zip file of the finished product, open source developers need to open up their source code control systems too.

For years there have been services that provide a cloud-based alternative to  hosting your own source code.  The SourceForge system enjoyed many years of dominance but more recently it’s advertising sponsored model has seen it fall out of favour.

Most new projects are now created on a service called GitHub, which promises  free hosting of open source projects on a service funded by paying customers who are developing projects privately on the same platform.  The success of GitHub has been phenomenal – Google closed down its own rival service (Google Code) largely because of GitHub’s success.  In fact, GitHub is rapidly becoming a ‘unicorn’ with all the associated growing pains.  GitHub makes it easy to collaborate on projects too with its issue tracking system and user friendly tools for proposing changes (known as ‘pull requests’).

With GitHub as the de facto place to publish and share source code, it makes sense for Questionmark to use it to complement our Open Assessment Platform.  We have published source code illustrating how to use our APIs for many years and even publish the complete source to some of our connectors.  Putting new projects on GitHub means providing sample code in the most transparent and developer-friendly way possible.

Questionmark’s GitHub page lists all the projects we own.  For example, when we first brought out our OData APIs we published the sample reportlet code in the OData Reportlet Samples project.  You can experiment with these same examples running live in our website’s developer pages.

Recently we’ve gone a step further in opening up our assessment platform.  We’ve started publishing our API documentation via GitHub too!  Using a new feature of the GitHub platform we’re able to publish the documentation directly from the source control system itself.  That means you always get access to the latest documentation.

Opening up our API documentation in this way makes it easier for developers to engage with our platform.  Why not check out the documentation project.  If you’re already a GitHub user you could ‘watch’ it to get notified when we make changes.  You can even submit issues or send us ‘pull requests’ if you have suggestions for improvement.

With GitHub as the de facto place to publish and share source code, it makes sense for Questionmark to use it to complement our Open Assessment Platform.  We have published source code illustrating how to use our APIs for many years and even publish the complete source to some of our connectors.  Publishing this source code helps our customers and partners by providing working examples of how to integrate with our platform as well as providing complete transparency for our connectors allowing customers to audit the code before they run it on their own systems.  Putting new projects on GitHub means providing sample code in the most transparent and developer-friendly way possible.

Licensing Open Standards: What Can We Learn From Open Source?

steve-smallPosted by Steve Lay

At the recent Questionmark Users Conference I gave an introductory talk on Open Source Software in Learning Education and Training.  When preparing for the talk it really came home to me how important the work of the Open Source Initiative (OSI) and Creative Commons is.  These organizations help to take a very complex subject, namely the licensing of intellectual property, and to distill it into a small set of common licenses that can be widely understood.

I’ve always been an advocate of distributing technical standards using these standard licenses where possible.  Standard licenses allow developers who use them to be confident of the legal foundations of their work without a cumbersome process of evaluating each license on a case-by-case basis.  So I was delighted to see an excellent blog post by Chuck Allen from the HR-XML consortium discussing this issue and providing some detailed analysis of several such licenses that highlight the different approaches taken by several consortia.

The community reaction to the temporary withdrawal of the draft QTI specification has already been discussed by John Kleeman in this blog, Why QTI Really Matters.  What struck me in that case was that there was uncertainty amongst community members surrounding the license and the impact of the withdrawal on their rights to develop and maintain software based on the draft.

This problem is not unique to e-learning, as Chuck Allen demonstrates with his analysis of the licenses used by the organizations he studied in the related HR field.  I’d echo his call for more convergence on the licenses used for technical standards.  In fact, I’d go further.  The W3C publish much of the core work on which the other standards rely, for example, HTML used for web pages and XML used by almost all modern standards initiatives.  Using the same approach would surely be the simplest way to license open standards based on these technologies?

Just as organizations like GNU, BSD, MIT and Apache have given their names to commonly used open source code licenses, I look forward to a time when I can choose the “W3C” open standards license and everyone will know what I mean.