Summer Coding 2010 plan

This document is the plan for project administrators and mentors to understand how Summer Coding 2010 is working in the Fedora Project.

Publicity plan
Generate and direct interest between Fedora and JBoss.org sub-projects, student contributors, their academic institutions, and sponsoring organizations.

Goal: Sponsoring orgs fund/resource for students to work on code for Fedora and JBoss.org sub-projects. Sponsoring orgs can be corporations, universities, foundations, individuals, and so forth.

There are different audiences we need to speak with: students; mentors; sub-projects; sponsoring orgs; upstreams; Campus Ambassadors; Fedora and JBoss.org communities.

Each audience needs to understand slightly different parts of the effort. This publicity plan outlines what each audience needs to read. The actual publicity is put on the page Summer Coding 2010.

All audiences
This section covers information that all audiences need to know.

All - what

 * Advertise pre-proposal timeline.
 * Advertise what we are doing and where to learn more.

All - how

 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * JBoss.org front page
 * JBoss.org blogs
 * Fliers at events leading up to the summer (LFNW, TLF)
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Students
This section is about what we are telling students and how we are telling it.

Students - what

 * 1) Make sure student messaging is reassuring and certain - "this scaffolding *will* be built, and stable enough for you to climb upon."
 * 2) Here is the timeline on working with JBoss.org/Fedora, including the pre-proposal time period.
 * 3) We are experienced working with new contributors.
 * 4) Helping new people be successful.
 * 5) Many long time contributors are around.
 * 6) People who stay around and do good work are noticed; people get hired by e.g. Red Hat all the time from the communities, including 4 former GSoC students.
 * 7) We have lists of ideas you can look at
 * 8) Use cases so you can design your own solution, or
 * 9) Fully scoped ideas.
 * 10) The best ideas are student generated.
 * 11) But taking our ideas and working with them is also very successful.
 * 12) You can bring many, many different types of ideas to Fedora and they may fit.
 * 13) Fedora may be a place to work through integrating ideas with other upstream projects with the assistance of Fedora experts helping with upstream communication.
 * 14) If you are involved in Fedora or JBoss.org already, your chances of success at having a winning proposal are much greater.
 * 15) We don't know yet what the size of the funding pool is going to be.  This means we don't know how much is going to be available per student.
 * 16) The mentors will decide which proposals get funded, from 1 to N.
 * 17) Our program this year isn't going to cover all their needs with the same level that GSoC or an internship does.
 * 18) Cover the value to My Future of FOSS contributions.
 * 19) FOSS contrib is accessible to all, not just scary super genii
 * 20) We're planning on doing this again in the future, so if the first round doesn't fit them, they should come back next year (and maybe help us patch the program in the meantime.)

Students - how

 * Campus Ambassadors
 * users@lists, devel@lists,
 * Point at Summer Coding 2010
 * IRC, #fedora-devel, #fedora-* (any channels relevant in particular?)(#fedora-campusamb)
 * Campus LUGs
 * Campus JUGs
 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * JBoss.org front page
 * JBoss.org blogs
 * Fliers at events leading up to the summer (LFNW, TLF)
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Academics
This section is about what we are telling academics (mostly professors) and how we are telling it.

Academics are people from the student's school who are acting in a support/mentorship context to one or more student projects for the summer.

Academics - what

 * Encourage students to apply - answer questions and buffer concerns, help students relay their questions to mentors/the program as a whole. This may also help us recruit a more diverse pool of applicants - those who tend to be waiting to be initially asked.
 * Be an on-the-ground person helping students engage with open source communities, particularly during the application process.
 * Advocate/provide institutional context/credit for the work the student does - course credit, school recognition (articles in school publications, etc), helping students fold their work into later classes/research, helping them see how it fits into their study plans. "Legitimize" the project in the eyes of the school, in other words.
 * Resources from the institution
 * room
 * board
 * stipend
 * working space
 * organizational help (an on-site professor accessible to students for in-person advice - not necessarily code/tech specific - if needed)

Academics - how

 * TOS
 * SIGCSE (ACM education), ASEE, other scholarly societies with an education focus (and their journals/mailing lists/events)
 * Internship offices/job postings (have professors go to the career office with this opportunity, and vice versa)
 * opensource.com/education

Mentors
This section is about what we are telling mentors and how we are telling it.

Mentors are the people from the open source community who interact directly with the students. They provide code mentorship, make evaluations, and are responsible for helping with communication between the student and other parts of the project.

Mentors - what

 * 1) There is a timeline for working with Fedora/JBoss.
 * 2) There is a pre-proposal time that you should be involved with..
 * 3) Get your ideas out in front of students soonest.
 * 4) Reliable contributor for part- or full-time for approximately 11 weeks.
 * 5) You may be able to find a student who works as a sort-of intern who can implement a solution to an use case you have
 * 6) It is harder to find success where you are completely certain of how an idea needs to be implemented; finding a student with the skills and interest to implement a specific solution is a lot harder than finding a student with enough skills to respond to a use case need.
 * 7) You are an essential part of the student's success, the project's success, and the success for your overall organization (Fedora, JBoss.org, or another).
 * 8) You may be an interface for an identified sub-project or SIG in Fedora or JBoss.org.
 * 9) You help students communicate with the overall project and any upstreams.
 * 10) You are the final, accountable person for deciding if the student is successful or not, which affects payment.
 * 11) The amount of time required will vary, with an average of five hours per week throughout.  You are trying to get the student to turn in to a communicator who initiates discussions and proactively supplies information to the community.  How much time you have to contribute and how much effort it takes to shift the student depends on the student.  It also depends on your ability to help the student learn these skills, if they are not already present.
 * 12) We all work as a team to make sure we can trust the student to do the work.  Mentors are not alone, and must communicate with the other mentors and project admins.  Project admins are proactive about working with mentors on solutions for problems with students.

Mentors - how

 * FWN
 * devel@lists
 * sub-project-devel@lists
 * IRC
 * Fedora Planet
 * devel-announce@
 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * JBoss.org front page
 * JBoss.org blogs
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Sub-projects
This section is about what we are telling sub-projects and how we are telling it.

Sub-projects are the parts of Fedora and JBoss.org such as: packaging, infrastructure, Hibernate.

Sub-projects - what

 * You can gain a lot of value from students working via GSoC in your sub-project area; take a look at GSoC report 2009 for details.
 * Your sub-project may need to identify a single mentor to work with the student, if the mentor doesn't come from somewhere else in Fedora/JBoss.
 * If you have ideas/problems you want students to work on, they are best served to the students as use cases
 * Student projects have a higher success rate for all involved when more of the initial idea is from the student.

Sub-projects - how

 * Fedora Planet
 * FWN
 * devel@
 * (devel-)sub-project@
 * IRC
 * devel-announce@
 * opensource.com article derived from GSoC report 2009
 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * JBoss.org front page
 * JBoss.org blogs
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Sponsoring organizations
This section is about what we are telling sponsors and how we are telling it.

Sponsors are companies, schools, foundations, or individuals who pool resources (money, time) to make Fedora Summer Coding possible.

Sponsoring orgs - what

 * 1) Fedora Summer Coding is about connecting sponsors (those with resources to share) with students (those with time, passion, and skills to share.)
 * 2) It’s not necessary as a sponsor to have ideas of how your resources should be used, that’s what the Fedora Project and JBoss.org mentors and sub-projects are prepared to do.
 * 3) The Fedora Summer Coding  mentors will sort the student ideas, generate the list of approved proposals, work with the students throughout the summer, and make sure you hear back about how things went.
 * 4) You can learn more about the model we are using in this blog post, Summer Of Code Swimchart: Now With More Generic.
 * 5) We need to start talking, soon.
 * 6) You would be surprised what a pool from a number of us can do.
 * 7) What are the resources you can supply?
 * 8) Money to pay stipends to students for spending focused time on these FOSS projects.  This is a cross between a summer job and an internship.
 * 9) Someone to help coordinate and to contribute as part of the Fedora Summer Coding special interest group (SIG).
 * 10) Mentors, especially if they work actively in sub-project or area the sponsor is supporting.
 * 11) What do you get out of it?
 * 12) Positively impact FOSS projects.
 * 13) Get your brand in front of smart students who want to work on FOSS.
 * 14) Work on a community program that demonstrates how open source business is done.
 * 15) See something you’d like coded be completed.
 * 16) Other positive brand associations.

Sponsoring orgs - how

 * Business networking through companies related to Fedora and JBoss.org.
 * Academic networking.
 * Project members back to their schools.
 * Via any academic channels we dream up as we go.
 * Academic FOSS events
 * Press releases
 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * JBoss.org front page
 * JBoss.org blogs
 * Fliers at events leading up to the summer (LFNW, TLF)

Upstreams
This section is about what we are telling upstreams and how we are telling it.

Upstreams are any project where the code/content output is integrated in the Fedora Project or JBoss.org. Student projects may draw upon or contribute to your code, through Fedora or JBoss.org.

Upstreams - what

 * If you have a student with an idea you can have the student propose the idea through Fedora or JBoss.org if your project is already integrated with Fedora/JBoss.
 * If you want your project part of Fedora/JBoss, a student working for Summer Coding may be able to do that.
 * However, you may need to be the main, long term contact with Fedora/JBoss if the student doesn't stay on as a maintainer.
 * Another option is a handoff to another packager, as well as other options you should explore.

Upstreams - how

 * Via packagers
 * Fedora Planet
 * IRC
 * Press releases
 * LWN & other press
 * Word of mouth
 * opensource.com?
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Campus Ambassadors
Campus Ambassadors should work to guide new interests through this process. They should work in both generating interest in Fedora Summer Coding within the Fedora Community and also generating interest in Fedora within student contributors.

Campus Ambassadors should then guide new contributors in helping them get set up with mentors and helping submit their Summer Coding proposal.

Campus Ambassadors - what

 * Students can have a quality intern-like experience working with Fedora/JBoss.org.
 * Money! Code! Fame! Success! Community!
 * Sub-projects in JBoss.org and Fedora are ready to work with students.
 * This is right in your pocket, you can run with Summer Coding participation and make your school very successful.
 * You can make more students successful by being an additional mentor for students through the process.
 * Do you know someone at the university/college who wants to talk about partnering with Fedora Summer Coding?

Campus Ambassadors - how

 * Ambassadors mailing lists
 * Fedora Planet
 * FWN
 * IRC
 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Organizers
These are people who want to help organize the program, for this year and/or beyond.

Organizers - what

 * We need your halp!!!1!!!!111!11

Organizers - how

 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * users@lists, devel@lists,
 * IRC
 * FWN
 * JBoss.org front page
 * JBoss.org blogs
 * Fliers at events leading up to the summer (LFNW, TLF)
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Fedora community - what

 * Spread the word about the Summer Coding 2010 page to students, mentors, sub-projects, sponsors, upstreams, users, etc.
 * Support students, mentors, and sub-projects with ideas, resources, skills, patience, etc.

Fedora community - how

 * Fedora main page during the application window
 * Fedora banners on rotation during the application window
 * Fedora Planet
 * users@lists, devel@lists,
 * IRC
 * FWN
 * JBoss.org front page
 * JBoss.org blogs
 * Fliers at events leading up to the summer (LFNW, TLF)
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

JBoss.org community - what

 * Spread the word about the Summer Coding 2010 page to students, mentors, sub-projects, sponsors, upstreams, users, etc.
 * Support students, mentors, and sub-projects with ideas, resources, skills, patience, etc.

JBoss.org community - how

 * IRC
 * FWN
 * JBoss.org front page
 * JBoss.org blogs
 * Fliers at events leading up to the summer (LFNW, TLF)
 * Word of mouth
 * Specific links:
 * Summer Coding 2010
 * Summer Coding 2010 ideas

Workflow plan

 * 1) Mentors with ideas/problems put them in the Summer Coding 2010 ideas
 * 2) * Potential goal of moving to OpenHatch.org.
 * 3) Mentors and sub-projects who want students from Summer Coding help in publicity.
 * 4) Students may have pre-proposal discussion in #fedora-summer-coding or other IR channel.
 * 5) * Goal is to send students to individual sub-projects or mentors immediately.
 * 6) Mentor contacts student to conduct coding test.
 * 7) Students take coding test; passing is a requirement to have proposal considered.
 * 8) Mentors review proposals.
 * 9) Students iterate on proposals based on mentor input.
 * 10) Mentors have discussions in private mentor list to reach consensus on which proposals fit which sponsored slots.
 * 11) Final proposal list order is made by mentors.
 * 12) * Where mentors cannot reach consensus, admins make the decision.
 * 13) Students whose proposals are accepted begin working with mentors.
 * 14) (Extrapolate out standard Summer Coding workflow from here.)

Documentation needs

 * Plan
 * FAQ
 * How to for sub-projects
 * Admin help docs

Infrastructure needs

 * Private mentors list, year-specific: summer-coding-mentors-2010?
 * Public list for students, mentors, sub-projects, sponsoring orgs to interact: summer-coding-discuss?
 * Test servers (a lot)? - special needs for more?
 * OpenHatch.org hooks?