After months and years of repeatedly having to explain and define “open source” at academic conferences, sickness it was wonderful to be able to sit down and watch a keynote by Stormy Peters, patient have a professor walk up to me and explain that his son’s interning for Mozilla, walk into dinner and be greeted by conversations about CMU Sphinx… we still have much work to do, the idea of teaching open source is just the beginning of a germinating seed – but there’s life, there’s green, it’s sprouting – and to see that is incredibly rewarding.
In other words, Sebastian and I just returned from CCSCNE, a large regional CS education conference (the “NE” is for “North East”) that’s been organized by a number of our friends from Teaching Open Source (TOS) for the past few years. Thank you to TOS community members Heidi Ellis, Karl Wurst, Bonnie MacKellar, Lori Postner, Darci Burdge, and Mihaela Sabin, who all served on this year’s conference committee, for making it the most FOSS-tastical CS education conference I’ve ever been to.
Heidi and Greg Hislop invited us to do the Friday morning portion of their NSF-funded faculty workshop on teaching open source – in two hours, we decided, there was no way we could really teach professors how to get their students involved in FOSS, so we used the time as a POSSE teaser trailer instead, aiming to teach them how to lurk – giving them enough context and vocabulary to watch a FOSS project in operation and ask intelligent questions of individual contributors. Imagine trying to ask questions about how “school” works without knowing that there are things called “classrooms” and people called “teachers,” that the day is divided into “classes” which run during “semesters” for which “students” receive “grades” – you’d be pretty lost. That’s the level of basic structure we taught them to spot; projects are created by communities, we said. We ship releases in release cycles, have feature processes that determine what things get worked on for each release, talk on IRC and mailing lists, use version control to collaborate. These are all simple things, but you need to know you should be looking for them before it becomes simple.
The format of our activity was simple, based on foreign-language lessons that start with a real-world conversation (“Would you like a cup of coffee?” “Yes, thank you.”) and then deconstruct the vocabulary (“coffee,” “thank you”), grammar, and cultural hints (“tea is also a common morning beverage”) used in that dialogue. We asked the audience to shout out a FOSS project (“Pinta,” they said!) and Sebastian, who’d never seen that project before, improvised his way through scoping it out for contribution for 10 minutes while I rapidly transcribed what he was doing on a side projector. (At least he knew what the Pinta program was – it wasn’t until about 2 minutes in that I realized it was a paint program.)
Then we broke it down. What tools, processes, cultural maxims had we encountered – what
are they, why are they used? Ah, he noticed that there were many recent commits, but only by one person. What might that mean for using this project in a classroom? If you decided to bring your students into this project, they may be dependent on only one mentor. Wait, what’s a “commit”? Ah, you’re asking about something called version control…
As a roadmap to this improvisation, we handed out a revised version of our POSSCON flyer, removing the event-specific material and filling in more of the framework so it could stand alone as a cheat-sheet guide to a newcomer who’s beginning an open source apprenticeship under the guidance of a mentor. Not a standalone study-sheet, but a framework and a conversation starter; things to ask about, tools to ask about, processes to be aware of. I also designed the flyer so it could serve as a checklist of what we had and hadn’t discussed as a group, to make sure we had good topic coverage even if the chosen project didn’t happen to have a certain piece of infrastructure, but the 10-minute Pinta whirlwind actually ended up touching on everything except blogs and blog aggregators, which the Pinta community doesn’t have.
Our pacing could have been better, but we were quite pleased with how it went overall, even if we had to leave a little early to get Sebastian back to campus in time for class. The professors interrupted with great questions throughout (even better, at some point they just started talking with each other about the topic, and we sat back and listened), and several attendees approached me afterwards about continuing their explorations in FOSS through attending a POSSE workshop or some other means. (Thanks also to Clif Kussmaul for his feedback on our teaching!) I’d like to write out this format into a more structured “instructors’ document” so it’s easier for us and others to repeat the exercise later on.
The next day, I headed back to the conference to cover Stormy’s keynote speech and to film interviews (I’ve got video from Stormy and Clif to edit now) as well as catching up on some research projects, proposals, and ideas that I’ll have to write about at greater length later, once more of the surrounding details are able to go public. (Ah, blind review. I understand why you exist, but you make it awfully difficult to default to open.”) Watch for those coming out on opensource.com/education over the next month or two.
Next up: a FOSS participation student materials development sprint in Springfield, Massachusetts in May. Gotta start prepping for that one now…