What we all know
- Expectations clear, good descriptions
- Praise
- Transparency in decision making
- Earlier interactions -- assign people to shepherd the application
If you can fix it for GSoC, you can fix it more generically too.
Guides for using VCS, building your code, navigating through it
- Distributed nice for agile, nondisappearing people, etc.
- Easy to check up on them
- Worldforge: git improved their SoC experience.
- New contributors want to send polished patches. DVCS makes this
easier to work on it privately.
- Guide for how to contribute: small patches, etc. Kernel has one.
Delaying their work till they end means they burn out at end, take
vacation, and never restart
Hearing back about their code will keep them involved! It's a hook. Get
a hook.
How do we find people who are going to stay?
- Favor people who are part of community before application period
- Really use their contribution. Get it merged, etc.
- Perhaps more random projects shouldn't be allowed
- Targeting a specific type of people: certain research focus for
students, etc
- Creating easy todo lists. Low levels of involvement to let people
stay involved once they're no longer full-time
- Contact from very high-profile person in the project
- Try to talk to them on the phone
Recruitment
Spending a lot of time trying to get people on the periphery involved
Emails, IMs, etc asking what they're interested in
Conferences (personal interaction)
- Very valuable!
- Funding -- contact Selena to get "the formula" for fundraising
- Use SOC $$$ to travel & meet
- Google campuses around the world willing to let people in &
videoconference
- May be cheaper to have 2 groups of 10 videoconference
Appealing to people's basic needs -- Maslow's hierarchy
- Affirmation, praise, etc.
- They want to stay because they feel good about what they're doing
More public-facing projects got not only more apps but better retention
What's motivation for working on a project?
Clean code makes you enjoy returning to it for later modifications
Experimentation with new techniques, etc that you don't have work time for
Learning
Interesting problems
Using your own software (scratching an itch)
Creativity
How do you encourage the motivations in your potential recruits?
During application period, did you ask why students wanted to work on it?
Do you follow up on it?
People who propose their own ideas do better
Disappearing students
Get a phone number
Secondary contact -- someone besides the student