[OSCTC-planning] Improving Open Source Comes to Campus' projects time
Asheesh Laroia
asheesh at asheesh.org
Sat Sep 21 00:03:40 UTC 2013
(Context: "project" here means "open source community" e.g. "Firefox", and
"bug" means "a specific task to work on" like any particular Firefox bug.
"Projects time" is the second half of OSCTC events, where attendees try to
submit real patches or make other contributions to real open source
communities.)
Typically, when it's "projects time", what we do is that Asheesh (who is
the only one who knows about all the projects, and has read through all
the bugs we recommend during that day) stands at the front of the room,
rattles off a list of open source projects that people can work on, and
then all mentors are expected to help with all projects.
This has a few downsides:
* It is hard for mentors to get to know all of the dozens of bugs, and
unrealistic for them to review all of them, so every time someone requests
help, the mentor probably is stating from scratch in terms of
understanding the project's community, and understanding the issue.
* Some mentors have specific bits of experience, like knowing Python well,
that would make them well-suited to mentor students who are working on a
subset of the projects.
* When Asheesh is talking about a variety of projects, students have
little to latch onto -- if they remember they liked a particular project
he mentioned, but don't remember all the details or the full name, they
have to ask around to figure out which project that was. Not all mentors
will necessarily know about all the projects, either, so anyone with
questions probably has to ask Asheesh.
* Students often end up working on similar or the same tasks, in different
parts of the room, resulting in duplication of effort and duplication of
frustration, when instead if they worked together, they would probably be
more likely to solve the issue.
I propose the following changes:
* We (whoever the the event's lead organizers are) create a list of the
projects that have good bugs for that day's workshop. (Well, this we
already do.)
* We then find one mentor willing to be the "champion" (a completely
made-up term; feel free to come up with a better one) for that project.
* That person is responsible for having read-through all the bugs in that
project, so that if a student is interested in working on that project,
they know they can ask that mentor and get a good answer as to what bug
they might enjoy working on. They could do this at lunchtime if they like.
They also should have some familiarity with setting up the dev environment
for that project.
* When projects time begins, each mentor stands up at the front and
briefly explains the project that they're champion-ing. (We (the
organizers) could write the project descriptions for the mentors, or
instead we could ask them to come up with those descriptions themselves.)
* Then the mentors say, "I'll be in the front left" (or whatever corner
they'll be in), and then the students can show up to that area of the room
if they want to work on that project.
* We make sure students know it's OK to wander off if the project is a bad
fit. We do ask that they talk with the mentor whose area they're leaving,
so that way they don't simply leave because they can't get the dev
environment working.
* We stil have some roaming "software whisperers" who are not mentors for
any particular project, but are general development environment fixers,
who those mentors can call upon for backup assistance with their students.
* In the past, we've had some mentors who are quite unsure what to do
during projects time. I think this will help them be more engaged.
* This way, we can assign some mentors to help with general topic areas,
like "scientific computing" or "computer music", and then they can help
introduce students to a variety of projects within that focal area, in
order to help the students get a general grounding as well as motivate a
particular task.
Optional:
* Mentors should buddy-up so that there are actually a pair of projects
and a pair of mentors. That way, if one project has massive curiosity,
that mentor can spread the mentoring reponsibility with the other mentor
whose buddy they are.
* We should document for these mentors how to add things (and remove
things) from the event's bug list, so that they have some control of the
experience of their mentees.
* If we have more projects than mentors, it seems fine if we also have
mentors willing to champion more than one project.
* It would probably be helpful if we make a list of which projects are
being "championed" by whom. Perhaps on the OpenHatch wiki, on a page
mostly intended for staffers, so they can use it as a reference when
someone wanders by and says, "I want to work on something in Ruby" and
then a staffer can point them at the person mentoring the most
Ruby-related project.
Those are my thoughts, as I'm writing up a bunch of descriptions for a
bunch of bugs in a bunch of projects for tomorrow's event at Indiana
University Bloomington.
We might not implement them literally in the next 24 hours, but anyway
thought I'd share them before I lost them.
-- Asheesh.
More information about the OSCTC-planning
mailing list