Associate members power up the Free Software Foundation. Help smash our goal of 700 new members or donate by December 31st!



Summer of Code projects for GNU

This page has the project suggestions for GNU's participation in Google Summer of Code 2008. Project proposals for 2006 and 2007 are archived separately.


Please read the GNU Project's guidelines for Summer of Code projects.

Most importantly, please make sure you include all the information requested. If you have questions, please ask

Project suggestions

The ideas here are listed in alphabetical order by project. Many projects have more than one suggestion.

- AutoGen - bashdb/emacs - Classpath - CLISP - DotGNU - GNOWSYS - GNUNet - Grub - IceCat - libcdio - phpGroupWare - Smalltalk - Wget -


AutoOpts has the ability to produce a variety of program documentation, including man pages, html, .texi, and .txt.

Right now, AutoOpts puts "plain text" into its output formats. We'd like to have a framework where we can at least begin to support some sort of "tags" where we can put information into different fonts (like using ntpd when documenting the ntpd command, perhaps "declaring" that we are using a mandoc style and using .Nm whenever we want to see ntpd). We'd also like the ability to document configuration keywords, and perhaps some support for simple tables.

If the "source" for the documentation is used to produce a man page, the output would be a decent-looking man page. If this same source is used to produce .texi page, the resulting .info page should also look good (and perhaps contain appropriate cross-indexes).

Requirements: C, possibly Guile. More info and links. (As you might guess from the above, the first user for this feature would be the excellent NTP free software program.)

bashdb, debuggers, and Emacs

In the last couple of years, a large number of Integrated Development Environments (IDE:s) has emerged. So far, none has come close to the editing capabilities of Emacs, but on the debugger side, Emacs has been surpassed.

As many people still use Emacs as their preferred editor, an ideal situation would be that Emacs also would be used as a debugger front-end with windows for, say, the call stack, local variables, and breakpoints.

Some work in this area has been done, most notably gdb-ui.el, which provides a multi-window debugging environment for C and C++ and gdb. In addition, the ruby-debug project is doing similar work for Ruby. This project would:

For more information, contact R. Bernstein and Anders Lindgren.


GNU Classpath is a GNU project to create a Free clean room implementation of the core class libraries for use with virtual machines and compilers for the java programming language. In addition to the ideas presented here, you may also find some more on this wiki page.




Last year the GNOWSYS project participated in the GSoC project successfully and the project is moving closer to a stable release from a developer only version.

Last year's project contributed a framework for and an implementation of a version control system. This eventually led to its implementation in, where GNOWSYS is used as a distributed knowledge base.

For 2008 we suggest the following projects, and we're looking forward to mentoring students who would like to work on them.

More details about GNOWSYS can be obtained from and

GNUnet and GNU libextractor

GNUnet is GNU's P2P system. It is designed as a framework and does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing. All link-to-link messages in the network are confidential and authenticated. The framework provides a transport abstraction layer and can currently encapsulate the peer-to-peer traffic in UDP, TCP, HTTP or SMTP messages.

GNU libextractor is a library used to extract meta-data from files of arbitrary type. The goal is to provide developers of file-sharing networks or WWW-indexing bots with a universal library to obtain simple keywords to match against queries.

The team would like to receive students' own ideas on how to improve both projects (including of course the subprojects gnunet-gtk and gnunet-qt). Talk to us! You can find us on the IRC channel #gnunet and on the gnunet-developers mailing list.


Grub is a part of the GNU system and is participating in the Summer of Code program as part of the GNU project. However, the Summer of Code project ideas for GRUB are listed on a separate page.


IceCat (part of Gnuzilla) is a completely free version of Firefox, with a few additional features. More information on the Gnuzilla web page. Talk to us on the bug-gnuzilla mailing list.


Add UDF support in libcdio, which has been asked for a number of times. Blu Ray for example uses a UDF filesystem. You can find us on the libcdio-devel mailing list.


phpGroupWare is a fully featured, web based messaging, collaboration and enterprise management platform. It comes with over 50 applications that can be mixed and matched according to your needs.


All improvements will include accompanying unit tests


Each of the ideas for GNU Smalltalk projects includes a guideline as to how hard the project is likely to be. These guidelines assume you are already familiar with Smalltalk, though not necessarily GNU Smalltalk. You can find help and advice in the places listed in the GNU Smalltalk community page.

Submitting ideas to this page



 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.