Will sprint for freedom: Report from the NYC CiviCRM code sprint
Late last month, I attended a two-day code sprint in New York for CiviCRM, the free software constituent relationship management system. I want to say a few words about it because I thought it was a great experience, and a good model for other free software projects to follow (many already do!).
CiviCRM is a "graduate" of the FSF's High Priority Projects list. A system for nonprofits to organize their fundraising and communicate with supporters had been on the list for quite a while, because this was an area where many people told us they were still forced to use proprietary software.
Last year, we evaluated CiviCRM and concluded that it had achieved the set of features and level of stability that meant it could fill this need. At that point, the FSF also decided to switch its own operations to CiviCRM. Since then, CiviCRM use by others has been picking up, with EFF being one recent major adopter I noticed.
The purpose behind the code sprint was to gather CiviCRM developers and users to meet each other, give feedback about the software, write code, and test changes. It was a well-run event, and I'm happy to have attended. It was great to meet the lead developers and other contributors in person, and put faces to online nicks and email addresses.
We started out by going over CiviCRM's testing framework. Attendees jumped right in to help find failing tests and see what could be done to correct them. With the ongoing rapid expansion of features in CiviCRM, the testing framework is important for ensuring that the software continues to be stable. I also thought the tests were a very useful way to frame the event; it was a convenient way to get introduced to the software's insides, and it made use of the energies of people in attendance (like me) who are not practiced PHP programmers.
While not practiced, I did cut my teeth working on a new system for generating thank you letters for individual contributions, since this is something we need here at the FSF. It was very helpful to have experienced contributors around to point me in the right direction. While I haven't completed the work yet, I'm confident now that I can finish it -- and this confidence came from being at the event.
The event has led to some sustained connections as well. Conversation has continued among some of the attendees about ways to improve CiviCRM documentation, and about progress on features that were started during the sprint.
Overall, the sprint showcased one of the defining features of free software. A community of people got together and talked about how the software was working for them, and how it could be improved. It was an empowering and productive experience, which leads to a very different feeling from installing a proprietary product and being treated solely as a customer with no say or access to the inner secrets.
If your organization is using CiviCRM, I'd encourage you to attend one of these events. Thank you to Donald Lobo and Dave Greenberg for organizing this one!