In mid September, we visited Baltimore and the JHU Association of Computing Machinery. We had the chance to run two days of events to teach students how to get involved in open source. I want to specially thank our sponsors: the JHU ACM, OmniTI, and Dreamwidth Studios.
An intro talk
The JHU ACM holds regular Thursday meetings, and they invited us to give a talk about how contributing to open source software projects works. To help make the topic concrete, I gave a brief history of how I got involved in open source, starting from hearing about Linux in 1999, touching on my first posts to open source project mailing lists, and moving on to documentation and code contributions. The talk mostly covered the social aspects of collaborative development, but we spent some time talking about IRC in more depth. Huge thanks go out to the JHU ACM and CS departments, who brought 40 students to the event.
The other goal of the introductory talk was to motivate students to attend the in-depth contribution workshop on that Saturday. Eight students signed up for Saturday’s event through the sign-up link on my last slide. I had a great time getting to know students after the lecture, and many of us walked back to the ACM office to keep talking.
Saturday’s teaching and contribution workshop
On Saturday, students began to arrive at 10 AM. Venkatesh Srinivas and John Stumpo led the more advanced students through a tutorial on compiling and patching software while I led a tutorial on the basics of the command line. After that, I introduced students to the ethics and history of free software, and we began our first career panel.
In the career panel, we asked Denise Paolucci, Venkatesh Srinivas, Robert Treat, Stephen Frost, and Dave Methvin to tell us about how open source has affected them personally and how it has fit into their careers. It’s a pleasure to have been connected to these enthusiastic, sharp people through conferences and friends. Students ate lunch with our staffers immediately after the career panel, providing an opportunity to chat about how open source might fit into their lives. In the final tutorial, Luke Faraone explained how to use git.
In the projects part of the afternoon, students learned how open source works by practing code, documentation, and user testing with real communties. To show us how patch review works in practice, Dave Methvin merged a pull request in jQuery where a first-time contributor fixed a documentation bug.
Our attendees worked through the contribution to open source checklist, designed recently by Karen Rustad, and chose tasks from a list we prepared before the event, driven in part by what students said they wanted to learn in our sign-up survey. Take a look at two great examples of contributions from the event:
- Mary submitted fix to the git training mission (which I merged and deployed).
- Grace submitted a fix to Biopython’s tutorial. Through a discussion with the maintainer, she revised the changes in the 10 days after the event, and they were accepted.
Wrap-up and thanks
It’s always interesting to look at feedback from our exit survey. When asked about their favorite parts of the event, students name the git tutorial, the hands-on projects time, and the history and ethics discussion, and all for different reasons. Overall, attendees reported having an “enjoyable, informative, experience” and that “there was plenty of great support and guidance.” Two feedback points we’ll address are that one student had difficulty finding a task that was at her level (though she did submit a patch by the end of the afternoon), and another student wishes these workshops ran more often! Maybe we can get the JHU ACM to run a project night soon.
More than one student remarked that it’s rare to meet people with as much experience in open source as our staffers. Our thanks go out to all our teaching and career panel volunteers: Luke Faraone, Stephen Frost, Tyler Hallada, Asheesh Laroia, Denise Paolucci, Venkatesh Srinivas, John Stumpo, and Robert Treat. Michael Tango provided essential logistical support as well.