OSS Watch spends a lot of effort actively promoting the practice of open development as an effective means of achieving project sustainability. There are also important benefits for users who are developing tools based on an open source project and today I came across a great example that illustrates how to engage with the community and reap the rewards.Mark Johnson is employed by Tony Whitmore at Taunton’s college to develop their Moodle VLE. What makes his work particularly interesting in terms of open development is that where appropriate he works directly with the Moodle community. He has now had his first patch accepted into the main Moodle code and so congratulations are in order.The issue was a small accessibility problem and you can can follow the process on the Moodle ticket. The main points that I want to emphasise as being important for similar community interactions are:-
- Once the problem was found Mark investigated it and when he could reproduce it and describe it he raised a ticket to alert the community of the issue.
- A discussion followed with a possible problem being suggested by the Moodle developer who picked up the ticket (Tim Hunt). This was followed by a request for either more information or further investigation.
- Mark then tried harder to track down the problem, keeping Tim updated, until he eventually located the source. He then created a solution. Note Mark was not an expert on the code in question but developed an improved understanding through digging deeper. In general the community will provide any help you need to do this.
- Mark then submitted a patch allowing Tim to see his solution and review it.
- Tim graciously confirmed the error and accepted Mark’s patch into the Moodle code. It will appear in Moodle 2.0.
An alternative scenario is that Mark simply made a local fix to their Moodle code. Doing that would miss out on the opportunity to engage with and learn from the development community. Worse that fix would have to be reapplied each time a new Moodle release is installed, something that could involve costly merging of changes.However the actual result is that Mark now has better understanding of the code, Moodle has bug fix and both parties have a positive interaction to look back on and that will hopefully encourage further work together. Mark also has a good standing with the Moodle community, something of benefit to him personally as well as his employers.This small bug and subsequent resolution neatly illustrates how to engage as a user with the community and some of the key benefits of practising open development. No bug is too small to bring to the attention of the community. Perhaps you have an outstanding bug you could submit right now?