Google Summer of Code 2012

While supports the Linux Kernel, we are currently focusing on infrastructure related projects, as can be seen below. Should a Linux Kernel related project become available at we will update the ideas page here, and change this notice. However, currently, is not looking to take on any Linux Kernel development for GSoC 2011.

update we are accepting linux kernel proposals!!

Ideas : Shoal

Mentors : Iain Macdonald ,Meflin

Shoal is a distributed download tracking system. The client-server system is designed to be deployed across many different web servers, and will routinely parse, and compact information from the log files on those servers. This condensed information is then transmitted to a central server in JSON format, where it is stored in a central database. Using this process, the information for thousands, or even more web servers can be gathered in one location, which makes it much easier to ask questions like "How many times has version 4.0 of mySoftware been downloaded by users in Japan?" The ability to answer these questions is key for those who monitor the performance and load of the servers handling these downloads.

Possible projects on Shoal include:


Currently the web interface for Shoal is unimpressive at best. It would be great if there was an easy-to-use, attractive graph generator that could create graphs in real-time based on information from thedatabase. There is a great library for doing this, called Graphite, but unfortunately, it uses a custom database format which isn't easily interfaced with Shoal's database. The current technique in use is to routinely transfer records between databases. This is clearly not a reasonable long-term solution. This project would involve rewriting the backend of Graphite to interface with the backend Shoal uses, which is an SQLAlchemy ORM on top of MySQL.

Possible extensions on this project include updating the main web inferface as well, which would require knowledge of HTML and CSS, and some experience in graphic design.

Skills: Python, Javascript, SQL, HTML, CSS
Difficulty Level: Medium
Priority: High
More Information: Graphite link, SQLAlchemy link, TurboGears Link
Packaging and deploment

Shoal is sort of at a funny point in development. It works (usually), but only on the test machine (reliably), and it hasn't seen a large scale deployment. This project would involve helping in the bug hunt, and working with the pains of deploying a project written in a low-level language. The primary focus of this deploy is on the Shoal client, which is written in c, but any work on deploying the server, a TurboGears project, would be really appreciated.

Skills: c, Python, Linux programming and deployment
Difficulty Level: Hard (tedious)
Priority: High
More Information: TurboGears Link

The Shoal client is written in such a way that it is easy to extend the functionality and handle log files of many different formats. For the time being, though, the client only works with log files emitted by the Apache webserver. While this is the most popular webserver in production these days, it would be nice to support different webservers, and different protocols. Potential extensions include plugins for nginx, lighthttpd, git, rsync, and ftp. Probably the most important of these, from the perspective of is git.

Writing a plugin involves writing c code which effectively runs a well-defined process given the conditions. There are a number of small details which need to be kept in mind.

Skills: c, Linux programming
Difficulty Level: Medium
Priority: Medium
More Information: Webserver log formats, git clone from my repo

Ideas : kerneloops

Mentors : Sebastián Ventura, Meflin (which is run by, is one of the points that kernel problems are collected. There are a variety of things that need to be updated, re-worked and improved in this code base as it has become far more used than it was originally envisioned. Some of these things include:

Improve and if necessary recode the postprocess system. Specific goals include greater accuracy and efficiency

Do a full code review and audit, with specific emphasis on security matters including:

Verify input validation

tabase integrity

Improve the website design and usability

Investigate inclusion of new features to search and visualize dataa

Create a project page for kerneloops and publish it's code

Ideas : improvements

Mentors John Hawley

NOTE: This project will be working closely with the Etherboot project and should be considered as cross-listed there. All of the requirements of the Etherboot project will also apply to this project. is a universal network booting system that has taken off in the last year. It was a Google Summer of Code project in 2009 and 2011, and it is a possibility for inclusion in 2012. Improvements include:

I'm sure there are more things to work on, but this is a very inter-project interdisciplinary project requiring knowledge of how systems boot, including a good understanding of how PXE normally works, to understanding makefile structures and C development. This project will work closely with the Etherboot project and individuals who apply for this should understand that they will likely be mentored by individuals from both and Etherboot. As such individuals should be familiar with Etherboot's GSoC requirements and procedures as well as's.

syslinux topics

Syslinux Idea Wikki

Mentors : Paulo Alcantara pcacjr @