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