While kernel.org 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 kernel.org we will update the ideas page here, and change this notice. However, currently, kernel.org is not looking to take on any Linux Kernel development for GSoC 2011.
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.
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.
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.
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 kernel.org 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.
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
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
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.
Boot.kernel.org 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 kernel.org and Etherboot. As such individuals should be familiar with Etherboot's GSoC requirements and procedures as well as kernel.org's.