GSoC report 2009

(Short URL: http://bit.ly/FedoraGSoC2009Report )

Overview
The Google Summer of Code (GSoC) project has brought measurable value to the Fedora Project and JBoss.org (FP/JB.o) umbrella organization in multiple ways:


 * 1) Project infrastructure
 * 2) New software
 * 3) Recruiting new Red Hat associates
 * 4) Recruiting and retaining valuable FP/JB.o contributors
 * 5) Project efficiencies
 * 6) Mentor training
 * 7) Legitimacy
 * 8) True open source interns

There are some areas where we could focus to bring additional value:


 * 1) Formation of a stronger umbrella organization to bring in higher quality proposals and more student projects
 * 2) Collaboration between GSoC students and RHT interns
 * 3) Small but important technologies FP/JB.o wants.

One of the benefits of the GSoC project is a chance to deal with some occasionally dismal failures. For the students, this is a chance to work on larger problems in an environment where they can succeed while still not having the specific project reach initial goals. For the project, it's a chance to try new ideas with minimal risk and resource use.

Similarly, FP/JB.o gain another venue for trying, failing, and iterating success. Unlike some contributor-driven work on a project, the handful of GSoC projects each year are getting 2 months of FTE, similar to an internship. Because the internship is student-interest driven in a blend with open source project requests, it draws from a different innovative direction.

Through the Summer of 2009, education area connections gained through GSoC were involved in the forming and first year of http://TeachingOpenSource.org.

This article focuses on projects done directly under the Fedora Project and JBoss.org. However, contributors in those projects may have mentored efforts in other projects; that research is still to be done.

The research in this article relied upon a detailing various public information from all GSoC seasons, available in Summer coding statistics. There have been other, non-Google summer coding efforts, which can be found through the summer coding category on the wiki. These additional efforts were not included in the analysis.

Quantifiable values
Many projects worked through the Fedora Project are done on upstream projects. Others focus on contributor enablement projects that support Fedora itself.

JBoss.org projects are mainly done on JBoss Community code since that is the actual upstream. Benefits from there may be more directly measurable.

Project infrastructure
The internationalization platform that ran on i18n.redhat.com (aka elvis.redhat.com) was outdated and blocking growth in the localization (l10n) community.

The 2007 GSoC project that produced Transifex was specifically focused on solving this problem. The system was replaced with 1:1 features, including coordination with the Fedora I18n team to ensure it was feature complete for launch.

Two years later, http://translate.fedoraproject.org is entirely running on Fedora Infrastructure and not managed by Red Hat IT. This site follows closely the regular updates of Transifex. Recent studies of the Fedora L10n growth shows benefit, including large growth in contributors and documents translated.

http://dimitris.glezos.com/weblog/2009/03/08/flp-advancement-study

For more information about this story, read.

New software
Some examples of software that was developed by FP/JB.o GSoC in various upstreams:


 * 'compcache' is compressed caching in the Linux kernel. A full article explaining the technology is at: http://lwn.net/Articles/334649/
 * Tim Niemuller continues to work on NetworkManager (OpenVPN support, etc.)
 * preload (Behdad)
 * JBoss Cache Searchable - ongoing project & contributor

Recruiting new Red Hat associates
The following Red Hat associates were also GSoC students prior to hire.


 * Behdad Esfahbod (2005) (preload - an adaptive readahead daemon http://preload.sf.net/)
 * Komaragiri Satya, two time GSoC (2008, 2009) (SystemTap, DocBook editor)
 * Navin Surtani (2008) (JBoss Cache Project 1 - Hibernate Search & Hibernate ORM)

Recruiting and retaining valuable FP/JB.o contributors

 * Dimitris Glezos (L10n Team lead, developer for translate.fedoraproject.org
 * Diego Búrigo Zacarão (L10n Team member, developer & Fedora Infrastructure admin for translate.fedoraproject.org)
 * Two students from 2008 returned to continue; one still on Func, the other on a new project.

Over 60 individual FP/JB.o contributors have been involved in mentoring GSoC students. This experience has provided a range of values, but no one has walked away from the project in protest. Rather, it has improved the mentoring experience of contributors overall. The projects have benefited from the activities around being prepared for student coders.

Multiple mentors have been sponsored by Google to attend the GSoC Mentor Summit. This provides an excellent opportunity to network with mentors from other projects. This experience spurs cross-seeding with existing and new ideas that benefit FP/JB.o, other technologies, and communities that matter. (One example of that was multiple conversations about teaching open source methods in college-level classes.)

Project efficiencies
Several GSoC projects have been focused on providing efficiencies to the Fedora Project and improving life for contributors. Not all have come to fruition, but each attempt provided lessons that brought improvements within Fedora's GSoC presence and without.

The main projects successfully bringing project efficiencies are:


 * 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)

Overall, the project gained improvements by learning how to handle incoming students looking for project work. This was one of the seed efforts that has lead to improvements in the FP/JB.o's ability to enable students to work on short project efforts.

Mentor training
Over 60 individual FP/JB.o contributors have participated in GSoC as mentors. Most of those have reviewed and worked with students on proposals, and over 30 have directly mentored students on projects. A half-dozen contributors have participated as project administrators.

In addition to in-process training, some mentors participated in extra activities such as marketing from the Fedora side and the GSoC Mentor Summit.

Legitimacy
Fedora is the only major Linux distribution to participate in GSoC for all five years.

Of all the UNIX-like distributions, the Fedora Project and the FreeBSD project stand out as the only OSes to have been in the program for the entire 5 years of GSoC.

Fedora has always maintained minimal to superior relations with students and the program overall. This is probably attributable to Fedora's focus on enabling contributors, regardless of level and experience.

The combined projects of JBoss.org and the Fedora Project pushed through a dip in assigned student slots. This included a strong showing in the 2009 year when Google actually scaled the project back in comparison to 2008 and overall growth patterns.


 * 2005 - 8 students/projects
 * 2006 - 5 students/projects
 * 2007 - 5 students/projects
 * 2008 - 10 students/projects
 * 2009 - 9 students/projects

True open source interns
The GSoC students were able to focus on innovating in technology of interest to themselves and the wider project around them, acting similar to interns but operating within an entirely open source environment.

Success example: The Transifex/Indifex story
The story of Transifex and Indifex is a premium example of mutual-benefit to Red Hat, the Fedora Project, community, and community-run businesses.

What started as a GSoC project to solve a specific Fedora Project problem has evolved to be a complete movement backed by a new start-up business, Indifex. The creator of Transifex, Dimitris Glezos, has spent the last few years evangelizing the Indifex vision of l10n and i18n tools. As of November 2009, the hosted site Transifex.net had over 600 project translations hosted across 103 languages, including Django, Ekiga, Empathy, F-Spot, PackageKit, StatusNet (nee laconi.ca), and a number of GNOME projects. It is used directly by other projects, such as http://translate.moblin.org and http://translations.xfce.org.

Although not completely without competition, especially with the open sourcing of Launchpad, Transifex has shaped the current discussion around l10n while being a leading platform for interfacing between translators and projects. From an open source business standpoint, Transifex is an excellent example of Fedora being a catalyst in communities of partners and customers.

Timeline
 * 1) Dimitris started project in 2007 within GSoC, mentored by Karsten Wade.
 * 2) Dimitris mentored one student in 2008, with another Indifex founder as a student on a second project (mentored by Asgeir Frimannsson).
 * 3) * Technology change to Django, one student (Christos Trochalakis) an ongoing Django contributor.
 * 4) * Other student (Diego Zacarão) Indifex co-founder and co-maintainer of translate.fedoraproject.org.
 * 5) Indifex team grew project through hands-on building of relationships, technology innovation, and appropriate standing on shoulders
 * 6) Formed Indifex and Transifex.net.  Transifex.net operates similar to Wordpress.com, offering no-cost translation interfacing for FLOSS projects.
 * 7) Transifex 0.7 "Pyro" includes web-based translation tool (LOTTE), released 22 August 2009.