Teaching open source at UIUC Reflections | Projections
On October 6th and 7th, we had our sixth Open Source Comes to Campus event at the University of Illinois at Urbana Champaign (UIUC), as part of their ACM’s annual computing event, Reflections | Projections. I gave a one hour talk on Saturday the 6th on getting started in open source, as part of the main conference, and then we organized a day-long workshop on Sunday. Many thanks to the UIUC ACM, who invited us and sponsored us.
Saturday Talk
On Saturday, I presented an hour-long introduction to open source. Based off a talk by Jessica McKellar, it introduced concepts such as version control and tools such as issue trackers. We focused a lot on what to do when you find a bug: what to include in a bug report, how to navigate an issue tracker, and how to use communication tools like IRC and mailing lists. Many of the questions revolved around picking projects to contribute to. I suggested that attendees start by considering what free software projects they used, and also chatting on #openhatch with community members about what projects are most welcoming for newcomers.
Unfortunately, many of the people who attended my talk had to leave before the workshop on Sunday, but hopefully they found the introduction useful!
It was a pleasure to be part of a conference with such a strong representation of open source topics. Stefano Zacchiroli talked about Debian’s unique culture, and Amber Graner talked about how her experience contributing to Ubuntu changed her life. JJ Behrens talked about Dart, a new open source web-oriented programming language, and led a tutorial that evening.
Sunday Workshop
The workshop was split into two parts: morning tutorials and afternoon projects, with a lunch/social hour in between.
Bonnie King started us off with an introduction to the command line. After her talk, we gave about ten minutes for attendees to go through tar and diff training missions, allowing them to put their new knowledge into practice immediately. Asheesh followed with a Git tutorial (inspired by schwern‘s talk), which covered both the concepts behind version control as well as the specific commands one needs to use to clone a repository, make changes, and submit a patch. Both tutorials seemed to engage our attendees, with a lot of great questions asked, although in the future we may separate the “practical” and “conceptual” parts of the tutorials, leaving the latter for those who are intereted later in the day.
After a delicious lunch provided for us by the UIUC ACM, we settled in to work on finding and fixing bugs in free software projects. We’d identified a number of good first bugs in the days before the workshop, and encouraged folks to start there. Over the course of the afternoon, mentorship by Kevin Lange led many of our attendees to learn the ropes of Github pull requests by submitting trivial fixes to his nyancat project.
You can find a full photo gallery of the event here.
One gotcha we ran into was that some “bitesize” tasks were harder than we had guessed. To address that, we’ll probably have to test-solve issues in advance, rather than just eyeball them to see if they’re truly easy. One thing we’re thinking of doing is working with project maintainers before future events to mark bugs that are truly trivial by assigning them to an OpenHatch user on their bug trackers.
I want to specially highlight two patches by some of the students who stayed the longest:
- Jane submitted a patch to Koha with a documentation fix (also the project’s first pull request)
- Max submitted a patch to brlcad, addressing one of the project’s small tasks.
Thanks to all our attendees, UIUC ACM for hosting and sponsoring, and our staffers: Bonnie King, Kevin Lange, Nathan Handler, Wendy Edwards, Asheesh Laroia, and Shauna Gordon-McKeon.