QEMU Community Growth Through Open Source Internships Stefan - - PowerPoint PPT Presentation

qemu community growth through open source internships
SMART_READER_LITE
LIVE PREVIEW

QEMU Community Growth Through Open Source Internships Stefan - - PowerPoint PPT Presentation

QEMU Community Growth Through Open Source Internships Stefan Hajnoczi <stefanha@redhat.com> KVM Forum 2016 Why? QEMU participates in 2 open source internship programs 6 years of participation Many community members involved as


slide-1
SLIDE 1

QEMU Community Growth Through Open Source Internships

Stefan Hajnoczi <stefanha@redhat.com> KVM Forum 2016

slide-2
SLIDE 2

KVM FORUM 2016 2

Why?

QEMU participates in 2 open source internship programs

  • 6 years of participation
  • Many community members involved as mentors

But we rarely talk about it...until now

  • To introduce more mentors to the program
  • To encourage applicants to apply
  • To share experience and reduce bus factor
slide-3
SLIDE 3

KVM FORUM 2016 3

What are Open Source Internship Programs?

Paid, full-time, remote work internships with open source projects https://g.co/gsoc https://www.gnome.org/outreachy/

slide-4
SLIDE 4

KVM FORUM 2016 4

Our Goals

Fun & stimulating work Get new contributors Raise profjle of our community Give back to open source

slide-5
SLIDE 5

KVM FORUM 2016 5

Participation Timeline

First GSoC 4 interns 2010 GSoC 4 interns 2011 GSoC with libvirt 9 interns 2013 2012 Not accepted into GSoC GSoC 6 interns 2014 GSoC & Outreachy 9 interns 2015 GSoC & Outreachy 7 interns 2016 2014 First Outreachy 1 intern libvirt

slide-6
SLIDE 6

KVM FORUM 2016 6

Interns 2010-2016 (37 people)

slide-7
SLIDE 7

KVM FORUM 2016 7

slide-8
SLIDE 8

KVM FORUM 2016 8

Stakeholders Overview

Mentor Intern Organization Administrator Internship Program Help & evaluate Find & support Register Pay stipend

slide-9
SLIDE 9

KVM FORUM 2016 9 KVM FORUM 2016

Internship Program Phases

Application Community Bonding Coding Register with Internship Program Interviews Check out code & build Join mailing lists & IRC Evaluation Weekly meetings

slide-10
SLIDE 10

KVM FORUM 2016 10

Mentor Tasks during Application Phase

1) Propose project ideas 2)Discuss custom ideas (if any) 3)Answer questions about project ideas 4)Interview top candidates 5)Select intern (if any)

slide-11
SLIDE 11

KVM FORUM 2016 11

What makes a good Project Idea?

Better project ideas, higher chance of success Attributes to look for:

  • Well-defjned – scope is clear
  • Self-contained – has few dependencies
  • Uncontroversial – acceptable to the community
  • Incremental – produces deliverables along the way

(Too?) easy Challenging Risky Impossible

slide-12
SLIDE 12

KVM FORUM 2016 12

slide-13
SLIDE 13

KVM FORUM 2016 13

How we Interview

  • Is this person fmuent?
  • Real-world coding ability:
  • Memory management
  • Pointers
  • Error handling
  • NOT a trick question
  • NOT writing well-known data

structure

  • Technical topics from coding

exercise

  • How do they react to review?
  • Can they reason about

performance?

  • Their technical background and

projects

  • Their open source experience
  • Answer questions about internship

Coding exercise (30 min) Discussion (30 min)

slide-14
SLIDE 14

KVM FORUM 2016 14

Mentor Tasks during Coding Phase

1) Weekly meetings 2)Review patches 3)Answer questions or help debug

~5 hrs/week

slide-15
SLIDE 15

KVM FORUM 2016 15

slide-16
SLIDE 16

KVM FORUM 2016 16

The Importance of Communication

  • Projects that fail usually involve lack of

communication

  • Weekly meeting
  • Discuss & debug tricky issues
  • Progress update
  • Administrativia
  • IRC, mailing list, VoIP chat
slide-17
SLIDE 17

KVM FORUM 2016 17

Co-mentoring makes life easier

  • Two mentors instead of just one
  • Faster response to intern questions
  • Coverage during downtime or vacation
  • Less pressure on mentor to always be available
slide-18
SLIDE 18

KVM FORUM 2016 18

How to become a Mentor

  • Requirements:
  • Regular contributor
  • Can spend ~5 hrs/week
  • Think of project ideas
  • Contact me:
  • Google Summer of Code – February
  • Outreachy – February and September
slide-19
SLIDE 19

KVM FORUM 2016 19

Thank you

  • QEMU Google Summer of Code pages:

http://qemu-project.org/Category:GSoC

  • Google manuals for Summer of Code:

https://developers.google.com/open-source/gsoc/resources/manual

  • My advice for applying as an intern:

http://goo.gl/gPj0yR

  • My nick is ‘stefanha’ on #qemu irc.oftc.net
  • More on QEMU: http://blog.vmsplice.net/