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.