Describe your organization.
The Fedora Project is a worldwide community of developers who release, among other things, a distribution called Fedora Linux. The Fedora Project is a distribution designed to showcase the best and most cutting edge software the open source world has to offer. The Fedora Project as a whole wants to lead the advancement of the world of open source development, and so in many ways. The Fedora Project refuses to yield on important issues such as software patents and proprietary software, allowing none of this in to the distribution and the project as a whole. We ship a completely open source and redistributable software platform, and invest sizeable amounts of time in to the development of open standards and open source. For example, the Fedora Project is one of the leaders in the development of the Nouveau drivers for nVidia graphics cards. Our developers invest much of their time directly in the upstream projects Fedora works with, and our community strives to maintain good standing with all of its upstreams. Above all else, the Fedora Project has four Foudations which drive the project and the distribution: Features, Friends, Freedom and First. These are outline on our website in more detail.
Why is your organization applying to participate in Google Summer of Code 2011? What do you hope to gain by participating?
The Fedora Project is always looking to create on-ramps for potential contributors -- things that make it easier for people who would be interested in working on Open Source that exact opportunity. Google's Summer of Code program provides a unique opportunity to gain long-term contributors, students who are more than just "users" of our software. Open Source is designed so that anyone can improve on the software they run, and we want to make it as easy as possible for people to do that. Students applying for Summer of Code have a passion for open source, and those kinds of people, that passion, is what we want in the Fedora Project.
Student involvement in open source is an important thing for both the student ant the projects they work on. The students get experience that can go a long way towards getting them a job (hopefully in Open Source!) and providing an experience that they wouldn't get in their university courses, while the project is getting a student who has a set task, and knows how to do it, and can get it done in the course of a summer; with any luck, we also gain a new contributor who grows more involved with the Fedora Project as time goes on. The creation of new contributors is incredibly important to us, because it benefits not only us, but the Open Source community at large.
Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.
Yes. A thorough five-year report is available at:
In summary, our organization participated for 5 years, with a moderate increase in student projects. Although never more than ten projects sponsored in a single year, with 37 total in five years, more than 95% were successfully completed. This reflects the quality of the students chosen, but also reflects the abilities of various mentors and the Fedora sub-projects or upstream involved to help the student keep on track, or rescope and refocus when warranted.
Our succeses included:
- Project infrastructure - Creation & running of Transifex as l10n engine for Fedora, and other efficiencies (see below.)
- New software - Creation or additions to compcache, NetworkManager, preload, JBoss Cache, Linux kernel work, Func, Cobbler, and so on -- all put in upstream; numerous student projects instead worked directly in the upstream, and Fedora gained the benefits in the Linux package along with the rest of the Linux/FLOSS communities.
- Recruiting new Red Hat associates - Three former students joined Red Hat working on the same or related projects as they did in their Summer of Code projects.
- Recruiting and retaining valuable contributors - Even more so, many dozens of contributors have joined or greatly increased their contributions to the project.
- Project efficiencies - Most important was learning to bring students onboard with relatively limited time but a big desire to contribute. Examples of projects that increased Fedora efficiency: pkgdb EndUserUI (2009); Beacon wysiwyg Web editor for DocBook (2009); IntelligentMirror (2008); Transifex localization platform (2007); Kadischi early Live CD tooling (2005); Fedora Directory Server build using autotools (2005)
- Mentor training - Over 60 individuals have participated as mentors of some kind, with 30 working directly with students as a project mentor. These existing contributors learned valuable project mentoring, management, and marketing, while setting new community norms around student projects.
- Legitimacy - Until 2010, Fedora was the only Linux distribution, and one of only two OS projects, to be in all five of the Summer of Code years. We were relieved that our mistake for 2010 was procedural and not due to bad student or GSoC program management review.
- True open source interns - Students were able to immerse themselves in the project and environs in a similar way to more rare internship jobs.
Some of our biggest challenges have come from the Fedora Project being conjoined with the JBoss.org project because Red Hat is a primary sponsor of both. (Oddly, Red Hat is a sponsor of many other projects that were included in the Summer of Code.) We have worked hard to ameliorate the differences between the projects. The amelioration process is somewhat at fault for our failure to complete our 2010 application properly - we were working on processes for gathering ideas and sharing student slots fairly across the two projects, instead of actually populating an ideas page for the application. Whoops.
This year both groups have decided to focus on separate applications, but will work in whatever way the Google Summer of Code program managers see fit.
If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?
What license(s) does your project use?
As a project working on a Linux Distribution, we work with many software licenses. However, unlike distributions which ship proprietary or encumbered software for users' short term gains, our distribution is released with only Free and Open Source software, and our repositories contain software of that same vein. Here is a list of licenses we accept: http://fedoraproject.org/wiki/Licensing
What is the URL for your Ideas page?
What is the main development mailing list for your organization?
What is the main IRC channel for your organization?
irc.freenode.net/#fedora is the general support channel irc.freenode.net/#fedora-devel is the main development channel irc.freenode.net/#fedora-summer-coding is the channel for our GSoC involvement.
Does your organization have an application template you would like to see students use? If so, please provide it now.
Who will be your backup organization administrator?
Zach Ogelsby, member of the Fedora Docs team.
What criteria did you use to select these individuals as mentors? Please be as specific as possible.
Interested contributors added their project ideas to the Ideas page. Most of them are known leaders within Fedora and have been mentoring in some capacity for some time. Many of those who added ideas to the page work full-time for companies which are involved in the Fedora Project, including Dell, Red Hat and others.
What is your plan for dealing with disappearing students?
We would ask every student to blog and report their work periodically. We expect the student to stick around even if he/she is not having any troubles regarding their work. In case a student vanishes, we will try our best to contact him/her and extend our help to resolve any problem he/she is facing. We are here to bring out the best out of the students and to create long term contributors.
What is your plan for dealing with disappearing mentors?
First off, our mentors are long term contributors. They have been around for years. Still, to ensure that the projects do no suffer in case of any mishappenings, we have a pool of backup mentors ready at any time. We would also try to get a dedicated secondary mentor for as many projects as possible.
What steps will you take to encourage students to interact with your project's community before, during and after the program?
Like other projects, students will be asked to talk to the mentors of projects that they are interested in before they submit their application, so that they can find any better solutions to the project described on the Ideas page entry, as well as giving the mentors the chance to decide if the student is qualified to work on the project that they've shown interest in. As students will know more what they are getting in to, they will be more likely to successfully complete their project. We will also ecourage students to take part in various community discussions and virtual classrooms and to hang around in relevant irc channels.
What will you do to ensure that your accepted students stick with the project after Google Summer of Code concludes?
Part of our selection criteria center around determining which students are most likely to become contributors to the project, rather than students likely to simply disappear after their project is finished. Mentors will be asked to encourage their students to stay engaged with the project after their coding session. We would also see and encourage students to talk to other people on irc and help them whenever they can. We believe, by increasing interaction among our contributors and students, we can convert students in to long term contributors.