GSoC/GCI Archive
Google Summer of Code 2009

GNU Project

Web Page:

Mailing List:

The GNU Project was launched in 1984 to develop a complete Unix-like operating system which is entirely free software: the GNU system.


  • Developing GNOWSYS-mode Idea here is to develop GNOWSYS-mode, an application for knowledge organization in the GNOWSYS knowledge base through emacs environment. This full featured dialect of LISP programming language will allow command based authoring and modification of GNOWSYS centric knowledge entities/nodes. Thus it will materialise as an application for Getting Things Done in more structured & collaborative fashion and will work as a major-mode in emacs very similar to org-mode or Latex-mode.
  • Emacs GDB/MI migration The goal of this project is to migrate the GDB graphical interface in Emacs to completely use GDB's Machine Interface (GDB/MI). Currently a mixture of GDB annotations and GDB/MI are used to provide GDB UI in Emacs. Dropping deprecated annotations in favor of machine-oriented GDB/MI protocol will make underlying codebase more robust and easier to maintain and improve. Switching to GDB/MI will also allow using new features of GDB from Emacs.
  • Emacs Lisp support for Guile GNU Guile includes a new VM and compiler infrastructure for performance improvements in the current development tree. Additionally, it is designed in such a way as to allow easy extension with new languages. I would like to implement support for Emacs Lisp on top of this framework to allow Guile to run elisp code in addition to the Scheme language it is based on originally; this will allow Guile to be used for an even broader context and work with a large base of existing scripts.
  • GDB - Python Scripting API Enhancements There is ongoing work for integrating Python scripting into GDB. One of the most wished features PythonGdb lacks is being able to control the GDB inferior. I propose to develop an inferior control API expanding on the work by GDB developers. This feature will help in such use case: <LimCore> how to run gdb from command line, so that it will run ./foo.bin with arguments: foo bar baz and it will run it instantly without waiting for 'r'; And if program segfaults then it will do 'bt' without waiting for the command. (and if program terminates normally then it will also just quit)
  • GNU Smalltalk The goal is to create a new user interface for the integrated development environmnent with the GTK+ Gnu Smalltalk binding. The student should create basic tools like an inspector, a class browser, ... Once this is done the student should create a framework for git/svn versioning support and also a graphical user interface for their.
  • GNU/Hurd -- VFS-style union mount Implement VFS-style union mounts in the Hurd. The idea is to provide a possibility to use VFS-style union mounts under the GNU/Hurd system via a special translator. This would allow for flexible usage of the main filesystem and a uniform access to different types of filesystems (which could be normal filesystem and virtual, ``hurdish'' filesystems). Also, implement some ``magic'' rules which would allow *controlled* union mounts; this could include translator manipulations.
  • screen - embedded scripting support Screen is a widely used terminal multiplexing program. This project aims to add scripting support to screen so as to 1) improve the configurability; 2) make it more flexible and effective to use. Documents and demonstrative scripts will be provided to show how would it be useful. ========== Benefits: ========== First, it improves the configurability of screen. Second, it enables the interaction between applications running inside and screen itself, which opens many possibility. Third, it enables complex conditional/iterative user actions that wasn't possible before.