We were honored to be invited by the Rensselaer Center for Open Source, a student computing organization that encourages students to develop open source projects. Thanks also go out to the event’s sponsors, Nokia and Kitware.
As usual, we split the event in two days: Saturday, for learning more background about open source, and Sunday, for getting involved in real open source communities. (This post is co-written by Christopher Schmidt and Asheesh Laroia.) Keep reading for the full details.
Saturday: teaching and skills
Saturday began with laptop setup, where students prepared development environments on their computers. In those first thirty minutes, students on all platforms (Windows, Mac, and Linux-based systems):
- Set up git;
- Connected to IRC;
- Practiced connecting to a server over SSH;
- Ensured they could use a plain text editor; and
- Practiced the basics of navigating the filesystem from the command line.
We introduced the event at 10:30, and the instructors introduced themselves and talked about their backgrounds. At 11:00, Alex Gaynor discussed how open soure communities communicate (slides here), teaching the audience about mailing lists, IRC, the importance of providing all relevant information when reporting a problem, and that “patience is key.” Shortly after this, Asheesh Laroia delivered a talk (pictured above) about the ethics and history of open source, and economics and licensing that support it (curriculum outline).
We broke for lunch at 12:30, with pizza sponsored by Kitware. During the afternoon, students rotated between teaching “modules” of about an hour each:
- More about the command line, led by Luis Ibáñez of Kitware
- Project organization (bug trackers; git and github; people’s roles in a project), led by Christopher Schmidt
- Getting, modifying, and verifying open source software, led by Asheesh Laroia
We concluded with a wrap-up where we described the projects day, asked people to talk about what they learned, and sent them on their way by 4:45.
Sunday: projects day
On Sunday, we started the day with a list of communities from which we had mentors — listing both projects, and possible bugs that different students could tackle. The goal here was to give attendees — many of whom had never participated in open source development — a better idea of what oppourtunities for open source development existed.
After a series of introductions to projects and suggestions, we led into an intro to the Open Source process, where Alex Gaynor demonstrated his process for applying a patch to Django live for the attendees who were attending on our project day. Alex walked us through approving a submission to Django — showing the mechanics of accepting contributions from developers in the community. From there, everyone was encouraged to go forth, and hack!
Through the course of the day, we had people add patches to more than a half dozen different projects, including:
- Mozilla core
Thanks to some of the mentors on-site and online, several of these patches were even integrated into the mainline for these projects before the event was over!
Along the path of any open source development is a set of obstacles to newcomers, ranging from the tedious — ensuring that your whitespace lines up with code you’re editing — to the technical — submitting a pull request with only the changes you want. Throughout the course of the day, as developers continued, we saw a variety of progress, from getting code and running tests, to writing code, to reviewing code and submitting it for review. In every aspect of the event, there were oppourtunities for the group to learn, whether it was a quick side note on reviewing your patches before you submit them, or whether it was simply how to check out and build code from a new project.
Many of the attendees of the event on Sunday got a direct, hands-on experience in what it’s like to write code and contributions to an open source project, seeing firsthand what the process is like. Using the tools they had learned in the practical sessions yesterday, they were able to contribute back to projects of their choice and contribute something new to the community, and many expressed excitement at being a participant in the broader open source community.
Thanks, and looking toward future
Thanks again to RCOS, Kitware, and Nokia for co-sponsoring the event. We couldn’t have done it without their help. Thanks to all our staff! I want to specially highlight Alex Gaynor and Christopher Schmidt, whose on-the-ground help was invaluable.
We’re in the process of refining these events and organizing the fall 2012 series. If you want to invite OpenHatch to your campus to run an event like this, read more and send an email to us at firstname.lastname@example.org!
As always, we invite people interested in outreach events to join us on the public Events mailing list which is where we’ll post our thoughts for refinement. Go sign up now! (-: