The main page is at SummerOfCode2011. This page contains ideas and proposals and information for applying.
Example If you want to add your idea proposal, create a new page as a sub-page of SummerOfCode2011 by accessing its intended URL directly, select the "?SummerOfCode/ProposalTemplate" template and link to that page from here.
Cross-compilation and cross-virtualisation, cross-cloud with Eucalyptus
Mentor: Steffen Moeller; seeking help/substitute from pkg-fso and/or Debian-Embedded
Summary: Smoothen the experience to develop cross platforms
- above average intellect
- good understanding of Debian boot processes
- kernel configuration and compilation
- fluent reader and writer of English
Description: Debian is proud of its achievement to provide mostly functionally identical compute environments for all the most common platforms. And that should also be available for virtual machines, i.e. one can emulate an ARM processor on an Intel machine and start an ARM-image on it. Well, at least in theory. In practice, there is then the kernel expecting an initrd to feature the ext2 module which then is not available when performing the emulation or something like it -- all the things that the native developers may not have thought about and that too few people test. A student assigned to this project shall identify the most common processes for cross-platform development. Problems shall be identified, triaged and fixed to the degree that this is possible. Of particular importance is the writing about the experiences made for future reference and the improvement on existing documentation. Particular attention shall be given to the ARM platform that is of particular attraction for mobile computing. If time permits, i.e. if past issues have been resolved, then the integration of ARM images with an installation of the cloud environment Eucalyptus on amd64 or i686 shall be addressed. This could all be of enormous value for cross-platform software development. The cross-building is of particular interest alone, e.g. for compiling KDE or the Kernel itself, which is just too much for many embedded environments.
Mentor: Steve Langasek; supported by Raphaël Hertzog for dpkg maintainer review and sign-off
Summary: implement support for declarative diversions in dpkg, to obsolete manual calls to dpkg-divert in maintainer scripts
- C programming
- ability to communicate clearly in written English
Description: The dpkg package manager allows packages to redirect ("divert") files belonging to one package to replace them with their own implementation. This is currently done by invoking a command, dpkg-divert, from package maintainer scripts, which is fragile and error prone; most references to dpkg-divert in the maintainer scripts of a typical system today are attempts to fix up past incorrect uses of dpkg-divert.
The dpkg-divert command should be replaced with a new control file with a declarative syntax which dpkg will parse and process directly as part of the package unpack and removal phases, eliminating the problems resulting from non-atomic handling of diversions.
Any solution to this problem must include documentation on correct use of the new feature and provide a transition path for packages using the existing non-declarative method of diverting files.
Packaging and upgrades
SummerOfCode2011/Jigsaw: Packaging of Jigsaw (modular JVM/JDK for Java 8)
Summary: Further develop techniques for packaging Java libraries for Debian, describe and apply them
- Good Java skills
- Good in Debian packaging
- Motivated to get a few more science applications in
- Good Java skills
Description: Java has made quite an impact on software development in Bioinformatics. Taverna , Artemis , Jalview  or OBO-EDIT  are all depending on a plethora of jar files. And those jars are then shipping with the source code. This effort shall describe existing concepts for package Java applications with Debian and develop them further to help with e.g. version dependencies to unversioned .jar fies and the parallel installation of multiple versions. The project will help Debian in many ways. The most obvious way may be completing a set of libraries used in Open Source developments. But also a better guidance of developers towards Java packages will be much appreciated and will help attracing more maintainers to the distribution. Finally, the effort also helps the development of those applications since the effort to install the infrastructure is reduced.
Streamline the preparation of BOINC projects
Summary: Further develop the boinc-server-maker package, complete the turorial and apply it all for virtual drug screening
- good reading and writing skills
- strong interest in scientific computing
Description: BOINC stands for the Berkeley Open Infrastructure for Network Computing. Debian offers a readily usable package for the BOINC client since several years. Co-maintained with Ubuntu developers the package directly reaches tens of thousands registered installations and as such represents as considerable contribution to the volunteer computing community. The recent Google Code-In project seeded an effort to also help a larger adoption of the server side of BOINC for the distribution [1,2]. A thus reduced setup time for BOINC projects shall then foster the adoption of the technology for smaller environments and smaller problems. And a clearly paved technology shall further help to allow grant writers to focus more on the application side, which will this way also help the larger projects.
- Show and document that the boinc-server-maker package of Debian is fully compatible with the VMware setup that BOINC provides itself.
- Address the problem of MySQL schema changes between versions by using the tools BOINC provides.
- Prepare a template package (e.g. from the examples) for application specific boinc-server packages. The boinc-server-maker package shall be a build dependency for that package.
- Get as far as you can in preparing one or multiple Debian packages for in silico screening of molecular compounds with autodock .
Aims: This GSoC project shall take all the tears and fears from preparing novel BOINC projects. This shall take half of the time and determines the interim report. Then be as good as you can for the application on molecular docking. This may literally safe lives.
Genetic Cloning with Debian
Summary: Improve the interplay of several tools for preclinical research and write respective tutorials
- good reading and writing skills
- strong interest in computational biology and genetics
Description: Several routine tasks in preclinical research are a continuous nuisance with Open Source tools on any OS. Debian has an edge since it offers a series of applications that address most of those routine issues. This availability the upstream developers had not anticipated by the developers of those contributing tools. Also, some tools need a bit of maintenance to update their URLs.
Update URLs e.g. for Ensembl for PerlPrimer
Write a tutorial for cloning with GENtle
- Find way to integrate newer technologies, especially for quantitative PCR
- again, better eye candy and usability
Aims: Strategically, this project reminds ourselves that Debian is more than the packaging of readily available software. It is also about gluing components together or to prepare for it. The most tangible result is the time saving for all the molecular biologists out there using GENtle, PerlPrimer and friends. The tutorial introducing to these tools will attract more to our distribution and be of high educational value.
Improve portals of Debian Pure Blends
Summary: Establish and evaluate the collaboration on packaging non-redistributable source-accessible software
- good reading and writing skills
- source code management with svn and git
- web programming
- Debian packaging
Background: As a community we share our interest in Debian as a core IT infrastructures. But computing is also about having all the tools at one's disposal to help solving your daily routine at work - with applications that may aim at a less general audience. The sub-communities of Debian (Blends [4,5]) all have their particular portal-like home page to give the distribution a particular flavour, i.e. for pre- and post-clinical research and practice management (Debian Med ), various sorts of molecular or astronomical sciences (Debian Science ) and others. Our users report that those pages are too much aiming at ourselves who we are packaging the software and not enough at those who would need to use it. They do not find us and if so, they do not feel motivated enough to understand it. Much of the pages are created by an abstract description of the packages we provide. Many other parts are on wiki.debian.org or www.debian.org. We now need someone with an unbiased mind to work through our site and come up with a way to present more clearly what a particular blend is all about. The developed infrastructure would then be offered to all blends to use. Description of work: The project shall start with an analysis of strengths and weaknesses of the current system. Missing features for our users shall be identified and an implementation plan developed. Main issues are
- simplification, i.e. a complete overhaul the auto-generated home pages of the blends (like that of Debian Med )
- user feedback and discussion
- problem-oriented education - by users for users
Linking Applications with Data
Summary: Further develop / integrate efforts to manage public data with Debian
- Perl + good general programming
Description: Many applications in scientific environments ship publicly available data with its source code. This may be
- directly related to its the application's core functionality (e.g. description of restriction enzymes' sequence specificity),
- part of the documentation (example)
- have installation should be performed only once
- know updates to be supported and triggerable e.g. by cron
Many larger databases have a considerable number of tools associated with it. The tool needs to be aware of those dependencies and perform respective post-processing with every such update. The Debian Med community has developed getData  for this purpose. Recently, the tool BioMaj was added to the distribution. The student shall investigate a series of scenarios in which the ?UniProt  database is used and perform respective downstream work with EMBOSS and NCBI BLAST by some automatism. Further thinking shall involve
- how to install several versions in parallel
- how to prepare Debian packages for individual database that may function as build/runtime dependencies
Measuring Team Performance
SummerOfCode2011/TeamFeatures: Measuring performance in teams inside Debian