Contents
The main page is at SummerOfCode2011. This page contains ideas and proposals and information for applying.
Proposals
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.
Debian installer
Hardware porting
Infrastructure
APT/dpkg
declarative diversions
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
Required skills:
- 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.
Bug tracking
linux-2.6 Packaging
packages.debian.org
Packaging and upgrades
SummerOfCode2011/Jigsaw: Packaging of Jigsaw (modular JVM/JDK for Java 8)
Science
Streamline the preparation of BOINC projects
Mentor: SteffenMoeller
Summary: Further develop the boinc-server-maker package, complete the turorial and apply it all for virtual drug screening
Required skills:
- 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.
Challenges:
- 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 [4].
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.
References:
Applications:
Genetic Cloning with Debian
Mentor: SteffenMoeller
Summary: Improve the interplay of several tools for preclinical research and write respective tutorials
Required skills:
- good reading and writing skills
- strong interest in computational biology and genetics
- Perl
- wxWindows
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.
Challenges:
Update URLs e.g. for Ensembl for PerlPrimer
Write a tutorial for cloning with GENtle
Improve GENtle
do not only rely on ClustalW but alternatively also on other alignment tools of Debian
- prepare for some eye candy, e.g.use of svg icons, the use of standard icon collections and their extension by own work
allow GENtle to run PerlPrimer
extend usability as suggested here.
Improve PerlPrimer
- 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.
Applications:
DebianPureBlends
Not-even-source distributions - collaborations between package maintainers
Mentor: SteffenMoeller
Summary: Establish and evaluate the collaboration on packaging non-redistributable source-accessible software
Required skills:
- good reading and writing skills
- source code management with svn and git
- web programming
- Debian packaging
Description: Quite few software developers offer the download of source code and accept patches to it - but they do not allow the redistribution of the source and/or the binaries. The community of such projects is often large, like e.g. for Rosetta [1], NAMD [2], VMD [3]. Especially for Rosetta, the compilation of software associated to the core of Rosetta is common scientific practice. This may also involve complete recompilations. And without the right preparation of libraries, all in the right version, the compilation will fail or the scientific results not be accurate. It shall strengthen the Debian community to provide a platform to exchange insights concerning the way that those complex software suites shall be built. This project shall extend the current infrastructure [4] of Debian Blends [5] to better support the open exchange on those Debian-tailored build instructions. This project involves
- add a novel task type to blends and present it in a suitable manner
- overhaul the auto-generated home pages of the blends (like that of Debian Med [6]) to become
- of stronger appeal to the scientists building and using the software
- prepare for the integration of tutorials and integrate the one prepared for this project
Measuring Team Performance
SummerOfCode2011/TeamFeatures: Measuring performance in teams inside Debian