Archive for November, 2009

Another example of community interaction

I’m beginning to see the value of small examples of community interaction as illustrations of good open development practice. Mark Johnson started this off with his tweet about his first contribution to Moodle being accepted, and Mark’s subsequent presentation at the recent OSS Watch Engaging developers with open source projects workshop.So here is the second such interaction.This time it’s between Paul Walk, Technical Manager at UKOLN, who attempted to download and build Simal, a set of tools for building project catalogues from RDF/XML files which is currently led by OSS Watch, and the Simal development Team. The active Simal development team currently consists of Ross, who instigated the project, and Sander, OSS Watch’s newest member, and who spends 50% of his time developing Simal.Paul hit a wall and so raised a ticket in the project’s Google Code ‘forge’. The issue was discussed, explored and resolved, as you can follow on the ticket. There’s no need to understand all the technical details, just look at the interactions and activities. I’m going to pull out the following points.

  • Paul started by creating a ticket. Sometimes on list discussion precedes a ticket being created. This depends on the preferences and confidence or the person raising the issue. It may also depend on the community preferred style or the type of issue being raised.
  • All subsequent discussion was on the ticket. Again this depends on the preferred style of the project or the particular issue. Some projects discuss on the list with outcomes being tracked on the ticket. The advantage of having all discussion on the ticket is there is one place ot refer to.
  • Several members of the team got involved. Here Ross, the most familiar member, gave some informed opinion but left space for Sander to dig into the issue.
  • As a bonus, Ross spotted another issue in the information Paul submitted, and quickly fixed it. Rather than creating another ticket to track the new issue, which would have been appropriate for an issue that required discussion, the revision created when the fix was checked into version control is referenced from this ticket. The checkin comment also references back to this ticket, thus there is an audit trail, both from the ticket system and from the version control system.
  • Sander acknowledged the issue on the ticket and explained he could reproduce it. The ticket life cycle is also used to do this, for example by setting the ticket status to ‘acknowledged’, usually along with an assignment to a particular developer.
  • When he had found the problem, Sander created a solution, explained it in the ticket and supplied a patch. The patch is attached to the ticket. The reason Sander created a patch is that he is not yet a commiter so his contributions are approved and checked in to version control by someone else. Committership is an earned right and recently Sander has been proposed as a committer, using the process dictated by the project’s governance model.
  • Ross then asked Paul to verify the proposed solution, which he did. Note that this did not require Paul to apply the patch himself or use a special test build, as often happens.
  • Finally Ross commited the patch, after making a small adjusted and mentioning it on the ticket. This is a simple form of peer review, a vital part of open development. Review allows experienced members to look for problems and for other members to learn.
  • Note that the revision number that contains the fix is not referenced from the ticket. That would normally be done to give an audit trail. It was actually checked in on r1743 as you can seen in the r1743 commit comment.
  • This fix will eventually find it’s way into a release, as defined by the project’s release process.

So there you have it, a complete community interaction from problem statement to successful resolution. This time it is a little more complex than Mark Jonson’s experience, which I previously de-constructed.You can see Mark Johnson presenting again at our upcoming Building an engaged community workshop, which will provide the opportunity to meet Sander and Ross, and possibly Paul. There are still a few places left.

Developing Communities

When I joined OSS Watch a couple of years ago my role was to enhance the community development work we undertake. I, and the rest of the OSS Watch team, have worked hard to understand how to build viable open source communities in the academic sector. Personally I can attest to having learned a great deal, yet it still surprised me when my colleague, Gabriel, reported on our recent trip to ApacheCon by saying that he observed me bringing community development lessons form my OSS Watch activity to the experts in the ASF.

I guess this is one reason why the ASF board recently approved a resolution to create a new Community Development project and appointing me as Vice President of Community Development. I look forward to this new activity in the ASF allowing me to further cross-fertilise between the ASF and the UK HE/FE sector, whilst the launching of a new EC project focussing on a wider engagement of computer scientists in open source projects will allow us to reach out to other software foundations.

Guest Post: Peter Cudd on the freedoms discovered through open development

This post is by Peter Cudd BSc PhD, Senior Research Associate and project lead of Maavis at the School of Health and Related Research, University of Sheffield.Our project, Managed Access to Audio, Visual and Information Services (Maavis), is also being guided in its open development journey by OSS Watch. Open development has been a new experience for me and my colleagues, OSS watch’s input has been invaluable in providing insights and giving us a concerted plan to work towards having an active open development community. Our project is at an earlier phase but there have been some real differences to the traditional closed research and development we usually do.First and foremost is being able to talk openly with anyone about the project and what we are doing – this greatly facilitates engagement with new contacts without significant increased workload. This has lead to new partnerships and joint working. For example we have successfully obtained some Knowledge Transfer funding to help create a new version of Maavis and foster the open development community. Starting from the health and social care designed Maavis the goal is to have one suitable for community based Adult Education. In addition the Barnsley Adult Education Services will evolve their own open source development capability.Another significant difference is that the impact of competing similar ideas and technology is less than would be the case for a closed approach to research and development, the open development retains more ‘nett’ validity in pursuing further research and development.Although we have yet to post a Maavis web page – next on the agenda – we are already on the open development road and feel we are making good progress.Thanks OSS Watch.

Enjoying the rewards of open development

We’ve been advising EA Draffan and Seb Skuse at University of Southampton School of Electronics and Computer Science (ECS) on opening up the development of their StudyBar accessibility project. The development of this suit of accessibility tools for learners using the web is being funded by JISC TechDis as a replacement for their current web accessibility toolbar. Technically there are some interesting challenges, particularly the decision to support several browsers on various platforms. These technical complexities, the need for wide testing, and the varied user requirements and experiences are well matched to open development, which allows interested parties to bring resource to the project.

A concern we often hear voiced about open development is that it might involve a lot of extra effort when working with other people. In the case of Study Bar, Seb certainly has his work cut out as sole developer, and EA is busily involved in managing other accessibility projects. So what has been their experience after they took our advice and made initial steps towards open development? Initial steps that involved the introduction of a website (blog), issue tracker and code repository (Google Code) and a mailing list (Google Group).

EA had this to say after several users provided feed back on the the list:

It has been such a good idea having this list and Seb and I were just
saying how useful it will be for any future FAQs that could be made
into a web page

EA then expanded on this:

I really do think the way we have managed to get the group going and all the bug checking has really helped us speed up the process so much. It has been really useful!

This experience is not unusual, as projects find the value added by open development exceeds any extra cost. Providing easy access to code, tickets and project memory in the form of discussions and decisions, enables participants to be fully informed without constant questioning of the project members. This means interactions can be focused on adding value for all parties.

So while setting up and using these community tools is only the first step, the Study Bar team have already see benefits. OSS Watch will continue to guide them along the path towards fully embracing open development. The goal is to maintain a diverse community of users and developers, a community that provides requirements, resource, that encourages innovation and reaches sustainability.

I have been invited to explain the use open development to others at Southampton in a LSL seminar next week and I’m looking forward to helping others make the first steps. We will also be holding a workshop on Dec 7 in Oxford that explores community building in more detail.

More on video interviews at ApacheCon

In this video fragment Bertrand Delacretaz, member of the ASF’s Community Development Project Management Committee talks about the importance of knowing the qualities of the individuals forming an incipient developer community. Betrand’s soccer team analogy is simple but powerful. It captures the key aspects of working collaboratively as a distributed development team: openly communicating one’s abilities and limitations, identifying one’s interests and fostering them to the benefit of the entire group.