The Fedora Project
WebSite of the project
Describe your organization.
The Fedora Project is a worldwide community of developers who build and release the Fedora Linux distribution, as well as other deliverables that are part of the larger Fedora ecosystem and infrastructure of participation. The Fedora Project is designed to showcase the best software the open source world has to offer, and to lead the advancement of the world of open source development.
The Fedora Project refuses to yield on important issues such as software patents and proprietary software, allowing none of this into the distribution and the project as a whole. We ship a completely open source and redistributable software platform, and invest sizeable amounts of time into 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 outlined on our website in more detail.
Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?
The Google's Summer of Code program provides an opportunity to create some long term connection with students' who participate with the Fedora projects in GSoC. The main concern here is to get their support after the GSoC period has over as well, making them active contributors with the project. 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 and the projects on which they work. The students gain experience that can go a long way towards getting them a job, and the mentoring organization has the opportunity to provide 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 recruitment 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 6 years, with a moderate increase in student projects. Although never more than ten projects sponsored in a single year, with 42 total in six 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 to learn that our lack of involvement in GSoC 2010 was due to a procedural error in our application, rather than due to bad student or GSoC program management review. (See below.)
- 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. (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 Open Source Initiative approved license(s) does your project use?
One license to select from a drop down
GNU GPL V3
What is the URL for your Ideas page?
One line field in the application
What is the main development mailing list for your organization?
One line field in the application
What is the main IRC channel for your organization?
One line field in the application
irc.freenode.net/#fedora-devel is the main development channel
Does your organization have an application template you would like to see students use? If so, please provide it now.
=== Contact Information === Name: Email Address: Telephone: Blog URL: Freenode IRC Nick: NOTE: We require all students to blog about the progress of their project time to time. You are strongly encouraged to register on the Freenode network and participate in our IRC channels. For more information and other instructions, see: https://fedoraproject.org/wiki/GSOC_2012 Please answer following questions. === Why do you want to work with the Fedora Project? === === Do you have any past involvement with the Fedora project or with any another open source project as a contributor (if possible please add some references as well)? === === Did you participate with the past GSoC programs, if so which years, which organizations? === === Will you continue contributing/ supporting the Fedora project after the GSoC 2012 program, if yes, which team(s)/area(s), you are interested with? === === Why should we choose you over the other applicants? === === Proposal Description === Please describe your proposal in detail. Include: * An overview of your proposal * The need you believe it fulfills * Any relevant experience you have * How do you intend to implement your proposal * Final deliverable of the proposal at the end of the period * A rough timeline for your progress * Any other details you feel we should consider === Have you communicated with a potential mentor? If so, who? ===
Who will be your backup organization administrator?
What criteria did you use to select your mentors for this year's program? Please be as specific as possible.
Interested contributors have added their project ideas to the Ideas page. Most of them are known leaders within Fedora teams(Packaging, Infrastructure, Design, Ambassadors, etc.), active contributors 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?
The long term support of the students would be the number one consideration and target with the GSoC program. As the Fedora project, we always try to select student who have some exposure to Free and Open Source Software projects/ developments most of the time. From the beginning we try to integrate them with the Fedora project, culture and make them feel that they are a part of the community as well.
Beside the assigned project for GSoC, students are always encouraged to hang on with the ongoing projects/ meetings/ discussions with in the project. Enabling the participation for Fedora events such as FUDcons would be another way of keeping those student interested towards the project after the GSoC program is evaluated. Mentors are advised to maintain a timely good communication with the student though out the GSoC period and after the program as well.
Discussions are going on to issue a recommendation letter based on their involvement with the project after the completion(another 3 months may be) of the GSoC project.
What is your plan for dealing with disappearing mentors?
First, our mentors are long term contributors who have been working on Fedora in some capacity for years. Still, to ensure that the projects do no suffer in case of any mishaps, we have a pool of backup mentors ready at any time. Most of the ideas are supported by more than one mentor. Mentors who disappear will be excluded from any future mentoring opportunities within Fedora. So to note the possibility of such a situation is very low.
What steps will you take to encourage students to interact with your project's community before, during and after the program?
Students are encourage to communicate with the mentors and get to know about the project and the required outcome first. May be the students will come up with a very creative yet possible ideas of achieving the same. Therefore having pre-discussion with the mentors would be highly recommended. There is a separate page for students ideas(https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012/Students_Idea) to encourage students proposing creative and useful ideas. Other than the connections with the mentor, students are asked to join with the mailing lists/ attend any related meetings and refer to some materials on the wiki about the basic stuffs. Those materials will be pointed by the mentor according to the requirement of the project, some basic materials are added to the idea page so that students can refer them.
We will also ecourage students to take part in various community discussions and virtual classrooms and to spend time in relevant irc channels through out the period.
After the final evaluation the students are still encourage to join with the teams with in the Fedora project and contribute towards the project actively. Participation for the Fedora premier events (FUDcons) will be another strategy to make them motivated towards the project. Mentors will be trying to keep in touch with the students and help them when ever required to join with the teams with in Fedora.
What will you do to ensure that your accepted students stick with the project after Google Summer of Code concludes?
This question wasnt available on the application form.
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.