Google Summer of Code 2010
The Fedora Summer Coding program connects students, mentors, sub-projects, and sponsors to provide coding opportunities as summer jobs.
This page has information for all the groups involved. (Short URL.)
This section is for students interested in contributing to the Fedora Project or JBoss.org through Fedora Summer Coding 2010.
If you have an idea or want to participate through Fedora or JBoss.org, you should already be looking around the community and communicating.
When you work in the open on free software, you create a body of work that follows you for the rest of your life. Rather than a coding assignment done by thousands of other students and relegated to the bottom of the bit drawer at semester’s end, working in FOSS is a chance to contribute to a living project.
Working in FOSS gives you a chance to:
Work with real world large codebases.
Collaborate with real engineers and other professional experts.
Contribute to something meaningful while learning and earning student value.
Learn tools and processes that are just like what you are going to use if you work in technology after graduation.
Make friends and contacts around the globe.
Possibly attract attention that gets you an internship or job after graduation.
Earn while you learn. We are planning to sponsor $5000 for full projects and $2500 for half projects. Check out Summer_Coding_FAQ for more details.
Our projects are large and diverse. We are very experienced at working with new contributors and helping them be successful.
Many long-time contributors continue to be around, lending expertise and mentoring. People who stay around the community and do good work are noticed. They get hired for jobs from it, including being hired by Red Hat. Past Google Summer of Code students were hired by Red Hat, as well as interns in various positions. This is just an example, as experience and reputation in the JBoss.org and Fedora Project communities is influential on your career in many ways.
As long-standing communities with many facets, it is possible for you to find many rewarding sub-projects to work on.
You should know that contributing to FOSS doesn’t require you to have super programming skills, or super-anything else. You just need be interested and curious enough, and be willing to become comfortable being productively lost. This is the state of learning through finding your way around and figuring things out.
Mentors and sub-projects have put up sections on the ideas.adoc page. There you can find:
Full ideas that you might want to start on;
Suggestions and use cases, to help you make up your own idea;
Links to the sub-project/upstream where you can learn more.
For example, if you are interested in doing something for the RHQ Project, there is a link to an ideas page on their website and how to contact the team. If you contact them, you can learn about even more ideas, and share some of your thinking.
Even if a mentor has an idea, you want to find one that inspires you. You must become part of the idea yourself.
People can be most passionate about an idea that is their own. That passion can be what helps you get through the hard part of the project.
Do you know what person or sub-project in JBoss or Fedora that might be the mentoring group for your idea?
You need to do these things:
Contact the relevant sub-project for your idea or contact the discussion group.
Be prepared to explain your idea, receive input and criticism, and grow (or reduce) the idea so it has the best chance of being accepted for Fedora Summer Coding.
Create an idea page, noting in the section for mentors that you are looking for a mentor. Use How to create an idea page for Summer Coding to make the page.
Students who are users, participants, or contributors in the Fedora and JBoss communities are encouraged to participate.
Do you have ideas for what you’d like to see in the project?
Are you working in an area of the project that might want to mentor you for your Summer Coding 2010 work? For example, if you write for the Fedora Documentation Project or translate for the Fedora Localization Project, talk with your group to see if there are ideas you can turn in to a student proposal, with another sub-project member as the mentor.
This is the first year we are running a solo summer coding program, and many details are being finalized in parallel with taking and reviewing proposals. For example, sponsors are still being sought, which affects the size of the funding pool. We’ll announce this information as it is known and decided; final funding-per-student may vary and is dependent on the quality of proposals as well as size of funding pool.
We may not be able to fund as many projects as we ran under the Google Summer of Code, but our goal is on quality and not quantity.
We intend to run Fedora Summer Coding in the future. One idea is to run it for the summer in the Southern Hemisphere (Sep 2010 to Feb 2011). If you don’t get in this round, keep trying! You are welcome to keep lurking and offering ways to help improve the program for future rounds.
Wanting to be a mentor is a good thing. Join the discussion list and tell us about yourself, your project idea, and so forth.
You must be committed to work with the student and be a liaison between the student, sub-projects, upstreams, and the overall project (Fedora Project or JBoss.org.) You can come from a Fedora sub-project, an upstream such as a JBoss.org project, from a university or college sponsoring students, as a few examples.
After discussion on the main Summer Coding 2010 list, you will be invited to join the private mentor discussion list
One way is to provide an idea for students to work on. This idea might be very well planned out, in which case you may need a high-level of contact with the student to get it implemented correctly.
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.
Where you can have looser ideas, you may be able to find a student who works as a sort-of intern who can implement a solution to a use case you have. In past experiences, students going after a use case are more likely to get somewhere with self-direction.
You may also want to work with a student who brings an idea to your sub-project. This requires a different level of communication throughout the project, but can be the most rewarding.
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).
Your responsibilities include:
Being an interface for an identified sub-project or SIG in Fedora or JBoss.org.
Helping students communicate with the overall project and any upstreams.
Be the final, accountable person for deciding if the student is successful or not, which affects payment.
You need to be committed to working on your part of the Fedora Summer Coding 2010 for it to be successful. You may want to work with another mentor (co-mentoring) to ensure there is always someone available to work with the student and other project members.
Sub-projects are teams working on discrete parts of the Fedora Project or JBoss.org. For example:
Fedora Docs Team
Fedora Website Team
You can gain a lot of value from students working via the Summer Coding program in your sub-project area; read GSoC report 2009 for examples.
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.org. In addition, you want a back-up mentor or, in some cases, co-mentors, to ensure continuity for the student and the rest of the sub-project.
If you have ideas/problems you want students to work on, they are best served to the students as use cases. If you do have a strong plan for execution, make that clear in the idea so the student knows it is more of a guided project.
Some experience shows that student projects have a higher success rate for all involved when more of the initial idea is from the student. Keep that in mind as you create ideas.
Ideas can be divided in to several parts for different students. There are no explicit limitations on how students may interact on multiple parts of a project. For example, two students could team build a new component instead of working on two discrete components separately.
Fedora Summer Coding is about connecting sponsors (those with resources to share) with students (those with time, passion, and skills to share.)
What do you get out of it?
Positively impact FOSS projects.
Get your brand in front of smart students who want to work on FOSS.
Potentially end up hiring great developers through the program.
Work on a community program that demonstrates how open source business is done.
See something you’d like coded be completed.
Other positive brand associations.
We need to start talking, soon.
Open by default on the discuss list - http://lists.fedoraproject.org/mailman/listinfo/summer-coding-discuss
Private via direct email to project leadership - Karsten Wade, …
What are the resources you can supply?
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.
Someone to help coordinate and to contribute as part of the Fedora Summer Coding special interest group (SIG).
Mentors, especially if they work actively in sub-project or area the sponsor is supporting.
The Fedora Summer Coding mentors 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.
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.
You can learn more about the model we are using in this blog post, Summer Of Code Swimchart: Now With More Generic.
Please join the discussion list and talk with us about it. We’ll ask at least one member of your project to be on that list throughout the 2010 program. It is not a requirement, and you can best work it out with the student’s assigned mentor.
As long as the idea is relevant for the Fedora Summer Coding program, you can put it on the ideas.adoc page. Follow the process on that page.
As this is a program for the Fedora Project and JBoss.org, there must be some benefit to those projects for your upstream idea. When you bring the topic to the discussion list, be prepared to talk about that.
There must be a demonstrable benefit to Fedora, even if it is only updated code in a package. Another example is having a student do the work of getting your software packaged for Fedora. All of your ideas and ramifications should be topics on the discussion mailing list.
A project needs a mentor. Throwing an idea over the wall on to the wiki page doesn’t get it the attention it needs to be part of the Summer Coding program. If you put an idea out there but do not have a mentor in mind for it, it is left open to the Summer Coding mentors and administators to sort out.
When considering a proposal, the mentors look at the amount of connection with upstream is required, and how strong the communication channels are. A stronger connection means the proposal looks better.
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.`
` o 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? `