Differences between revisions 13 and 119 (spanning 106 versions)
Revision 13 as of 2007-03-09 08:14:04
Size: 17678
Editor: ?baszoetekouw
Comment: link to mentoring howto
Revision 119 as of 2009-03-16 03:30:14
Size: 5641
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
This wiki page is created to make it easier to plan and coordinate
Debian's involvement in the [http://code.google.com/soc/ Google Summer
of Code 2007].
<<TableOfContents(2)>>
Line 7: Line 5:
== Current Status (2007/03/09) == This wiki page is created to make it easier to plan and coordinate Debian's involvement in the [[http://code.google.com/soc/|Google Summer of Code 2007]].
Line 9: Line 7:
We've applied with Google to take part in the Summer of Code 2007. Our
two current admins are SteveMcIntyre <93sam@debian.org> and
StefanoZacchiroli <zack@debian.org>; if last year is anything to go
by, we'll probably add more admins later once the programme is up and
running.
== Final summary ==
Line 15: Line 9:
At this point, we have not nominated any specific mentors as part of
our application; we expect to add more mentors shortly as people get
in touch. If you want to be a mentor, please contact Steve and Zack
above. If you have ideas for projects that you'd like to oversee,
please add them to the list below. As a starting list, we've copied in
the list of projects from this time last year already.
This year all students finished their projects. All information including what each of them did can be found at:
Line 22: Line 11:
See the timeline below; we'll hear if we have been accepted as an
organization within the next few days.
http://lists.debian.org/debian-devel-announce/2007/10/msg00001.html

See also next year's program : SummerOfCode2008

== Current Status (2007-04-12) ==

 * We've been accepted to take part in the Summer of Code 2007. Our admins are SteveMcIntyre, StefanoZacchiroli, AnthonyTowns, LukClaes and ErichSchubert.

 * We received over 100 student applications that were reviewed by the
 mentors. We asked google to aprove up to 20 projects for us, but we got only 9: http://code.google.com/soc/debian/about.html

 * The rest of the ideas and comments were stored and might be used in the future for improving Debian. (SummerOfCode2007IdeasList)
Line 26: Line 25:
see [[http://code.google.com/support/bin/answer.py?answer=60325|Timeline in Google's FAQ]]
Line 27: Line 27:
(see [http://code.google.com/support/bin/answer.py?answer=60325 Google's FAQ]) == Mailing list ==
Line 29: Line 29:
March 5: Mentoring organizations can begin submitting applications to Google Now that we're getting into the process, we're using a mailing list to
organise things. Details are at
http://lists.alioth.debian.org/mailman/listinfo/soc-coordination . All
mentors should already be signed up, and students will be added when
project decisions have been made (if they're not already subscribed by
then).
Line 31: Line 36:
March 12: Mentoring organization application deadline == This year's projects ==
Line 33: Line 38:
March 13: Google program administrators review organization applications More details coming soon on each one...
Line 35: Line 40:
March 14: List of accepted mentoring organizations published on code.google.com; student application period opens === Implementing Mole, infrastructure for managing information ===
Line 37: Line 42:
March 24: Student application deadline  * '''Student:''' [[Jeroen|Jeroen van Wolffelaar]]
 * '''Mentor:''' Martin Michlmayr
 * '''VCS:'''
 * '''Mailing list:'''
 * '''IRC:'''
 * '''Original idea:'''
 * '''Final mentor summary:'''
Line 39: Line 50:
Interim Period: Mentoring organizations review and rank student proposals; where necessary, mentoring organizations may request further proposal detail from the student applicant === Automated Upgrade Testing Using QEMU ===
~+(Virtual Live OS Upgrade Testing Suite)+~
Line 41: Line 53:
April 9: List of accepted student applications published on code.google.com  * '''Student:''' IanHaken
 * '''Mentor:''' LarsWirzenius
 * '''VCS:''' svn://svn.debian.org/vlosuts/
 * '''Mailing list:''' vlosuts-devel@lists.alioth.debian.org
 * '''IRC:''' #debian-vlosuts on irc.oftc.net
 * '''Original idea:''' [[http://code.google.com/soc/debian/appinfo.html?csaid=24C7766EC4271F15|GSoc Abstract]]
 * '''Final mentor summary:'''
Line 43: Line 61:
Interim Period: Students learn more about their project communities === Piuparts improvements ===
Line 45: Line 63:
May 28: Students begin coding for their GSoC projects; Google begins issuing initial student payments  * '''Student:''' [[Ana|Ana Beatriz Guerrero López]]
 * '''Mentor:''' LukClaes
 * '''VCS:''' svn://svn.debian.org/piuparts/
 * '''Mailing list:''' http://lists.alioth.debian.org/mailman/listinfo/piuparts-devel
 * '''IRC:''' #piuparts
 * '''Original idea:'''
 * '''Final mentor summary:'''
Line 47: Line 71:
Interim Period: Mentors give students a helping hand and guidance on their projects === Bug Triage and Forward Tool ===
Line 49: Line 73:
July 9: Students upload code to code.google.com/hosting; mentors begin mid-term evaluations  * '''Student:''' Gustavo Rezende Montesino
 * '''Mentor:''' Loïc Minier
 * '''VCS:''' git://git.debian.org/git/bug-triage/bugtaf.git/
 * '''Mailing list:''' bug-triage-devel@lists.debian.org
 * '''IRC:'''
 * '''Original idea:''' [[http://lists.debian.org/debian-project/2007/03/msg00169.html|Proposal draft]]
 * '''Final mentor summary:'''
Line 51: Line 81:
July 16: Mid-term evaluation deadline; Google begins issuing mid-term student payments === BitTorrent Proxy for Debian Archive ===
Line 53: Line 83:
August 20: Students upload code to code.google.com/hosting; mentors begin final evaluations; students begin final program evaluations  * '''Student:''' CameronDale
 * '''Mentor:''' AnthonyTowns
 * '''VCS:''' svn://svn.debian.org/debtorrent/debtorrent/trunk
 * '''Mailing list:''' debtorrent-devel@lists.alioth.debian.org
 * '''Website:''' http://debtorrent.alioth.debian.org
 * '''IRC:''' #debtorrent on irc.oftc.net
 * '''Original idea:'''
 * '''Final mentor summary:'''
Line 55: Line 92:
August 31: Final evaluation deadline; Google begins issuing student and mentoring organization payments === OVAL Agent for Debian ===
Line 57: Line 94:
== Contact info ==  * '''Student:''' PavelVinogradov
 * '''Mentor:''' JavierFernandezSanguino
 * '''VCS:''' svn://svn.debian.org/svn/oval/
 * '''Mailing list:''' oval-devel@lists.alioth.debian.org
 * '''Website:''' http://oval.alioth.debian.org/
 * '''Original idea:''' [[http://nixdev.net/projects/oval/debian_oval_proposal.html|Submitted proposal]]
 * '''Final mentor summary:'''
Line 59: Line 102:
For information on how to register to be a mentor, contact Steve or
Zack. Please note that you should not register as a mentor if you
intend to participate as a student.
=== Bug Submission and Manipulation Web-based User Interface for debbugs ===
Line 63: Line 104:
For students, if you have questions or want to discuss the project you
want to do you can mail the admins, discuss it in the debian-project
mailing list, or join the #debian-soc channel on irc.debian.org.
 * '''Student:''' [[Marga|Margarita Manterola Rivero]]
 * '''Mentor:''' StefanoZacchiroli
 * '''VCS:''' svn://svn.debian.org/bts-webui/
 * '''Mailing list:''' http://lists.debian.org/debian-debbugs/
 * '''IRC:'''
 * '''Original idea:'''
 * '''Final mentor summary:'''
Line 67: Line 112:
If you would like to work on one of the projects below, as a student
participating in Google's summer of code, watch this space for details
of how to register.
=== A modular lintian-like CD-image testing tool ===
Line 71: Line 114:
== Possible Projects (in () possible mentors) ==
(also see [http://www.debian.org/devel/todo/ the general TODO list] and the EtchTODOList)
 * '''Student:''' [[Tincho|Martín Hernán Ferrari]]
 * '''Mentor:''' SteveMcIntyre
 * '''Wiki page:''' [[DebianCDTester|DebianCD Tester]]
 * '''VCS:'''
 * '''Mailing list:'''
 * '''IRC:'''
 * '''Original idea:''' SummerOfCode2007/DebianCdTester
 * '''Final mentor summary:'''
Line 74: Line 123:
=== General ===
 * Improve the '''boot system''': ''speed up and make it dependency based. See discussions on [http://lists.alioth.debian.org/pipermail/initscripts-ng-devel/ the initscripts-ng list] and [http://wiki.debian.org/LSBInitScripts LSB init script page].'' Some [http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/2006-January/000542.html project ideas] are already written. (pere) -- multiple proposals there, don't propose this also
 * Finish the CollaborativeMaintenance project (RaphaelHertzog)
 * Make Debian more suitable for embedded systems, e.g. by removing Perl from the base system
 * Unload ftp.debian.org, with the RedirectProposal (aba/zobel)
 * FriendsOfDebian website, a debian community site that could also raise money for debian
=== GUI frontend for live-helper for building live Debian systems ===
Line 81: Line 125:
=== QA related ===
 * Improve/unify the '''QA websites''': ''packages.qa.d.o, qa.d.o/developer, dehs, etc''
 * Create a better environment for regression/unit tests (tbm)
 * Improve the '''system to handle WNPP''': ''including expiry of ITPs, checking that orphaned packages have correct maintainer fields, etc.'' (DavidMorenoGarza)
 * Create a collaborative repository of meta-informations about sources packages (including upstream URL, URL of upstream VCS, URL of upstream BTS, debian/watch file, etc.) (RaphaelHertzog)
 * Help [http://dehs.alioth.debian.org Dehs project] to accept watch submitting and maintaining in an external framework instead of the single deb packages. Improve the Dehs postgres Db structure to optimizing query speed. Create rss feed with useful information from Dehs data. Collaborate with devscript maintainer to specify in a standar way the upstream news/changelog file in watch file and write with devscript package maintainer an official policy about watch file. Optimize, clean and standardize source code. (Stefano Fabri)
 * Add improvements to the BTS LDAP gateway like last-change-dates, last-mail, full-content, etc. (DavidMorenoGarza)
 * A program to sanity-check Debian CD and DVD images, like lintian/linda do for packages. (SteveMcIntyre)
 * BTS interface in kmail: on display of a bts related mail (headers!), add buttons like 'view this bug', 'close/reopen this bug' (would ask for version first), 'edit bug tags', 'set severity', 'retitle', ... to the toolbar (cmot, just a funky idea...)
 * Web frontend for QA applications (linda, lintian, piuparts) and other packaging utilities (like pbuilder) Some work has been done in that topic, and it could be useful for CollaborativeMaintenance too

=== Release/Testing transition related ===
 * Improve '''Britney'''; britney is the name of the scripts used to update Debian's testing distribution: it automates some of the hard problems of Debian release management. See [http://azure.humbug.org.au/~aj/blog/debian/britney AJ's blog] and the [http://www.debian.org/releases/testing/ general info about Testing] (aba)
 * Create a "Migration Tracking System" which can be used to track the various migrations that are happening. It should have a web interface as well as a mail interface. It should transparently make use of debbug's usertags to keep track of the bugs related to a specific transition. (RaphaelHertzog)

=== Package management ===
 * Improve '''DebTags''': ''central database rewrite, review functionality, tag adoption and such'' (ErichSchubert?)
 * '''DebTags''': AI tagger (bayesian etc.) (ErichSchubert?)
 * add powerful tag-based search capabilites [http://debtags.alioth.debian.org/cgi-bin/search.cgi Debtags-Enhanced Search] to aptitude (check out the link!)
 * Unify '''apt, dpkg''', etc (aba) ''but note that wajig is already a rather nice Python-based wrapper around apt, dpkg, apitude, ...''
 * Introduce real '''perl shlibs''' (aba)
 * Improve '''shlibs''': ''to caclulate the used shlibs, rather than the theorically required ones'' (aba)
 * Build a [http://www.r-project.org R] / [http://cran.r-project.org CRAN] package generator system for [http://cran.r-project.org CRAN] to extend the current approx. 50 packages to the full 800 or so. All of these packages actually build automagically thanks to existing '''cdbs''' rules. We need a simple stateful system to keep track of what has been added to [http://cran.r-project.org CRAN], what has been updated etc pp. There is a somewhat dormant [http://alioth.debian.org/projects/pkg-bioc/ Alioth Project] with some info. R knowledge helpful, Perl/Python/Ruby/... to implement. (DirkEddelbuettel)
 * [[Anchor(dh_ocaml)]] Automate computation of [http://caml.inria.fr OCaml] library dependencies (re-)writing `dh_ocaml`. See: [http://lists.debian.org/debian-ocaml-maint/2005/04/msg00046.html idea description], [http://bugs.debian.org/328422 proof of concept implementation (#328422)]. (StefanoZacchiroli)
 * Make RubyGems work nicely together with the Debian packaging system and Debian Ruby modules. (DavidMorenoGarza)
 * Revive the apt-checkpoint project [http://sourceforge.net/projects/apt-checkpoint/ sourceforge] for safer/better end-user experience when upgrading to testing
 * Add support for multiarch. [http://lists.debian.org/debian-devel/2004/01/msg00762.html] [http://wiki.debian.org/IRC/debian-tech/Logs/20050927-multiarch?highlight=%28multiarch%29]

=== Individual packages ===
 * Rewrite [http://packages.qa.debian.org/debian-cd debian-cd], the scripts used to create CD images. The current debian-cd works but has many flaws/limitations. Check out old discussions on the subject:
   * http://lists.debian.org/debian-cd/2004/01/threads.html#00025
   * http://lists.debian.org/debian-cd/2004/01/msg00045.html
   * Many people used modified version of debian-cd (Ubuntu, Debian-Edu, ...) and the new design should suit them all.
 * Add '''IPv6 support to vserver''' (aba)
 * Improve support of '''pinning in apt''' ["real" dependency resolver, better docs, graphical interface (?), allow matching in Packages, etc] (aba)
 * Make '''reportbug''' enhancements: ''graphical and/or web-based, so it's easier for users to report bugs''
 * Improve '''wpasupplicant''': ''Split out the roaming functionality from wpasupplicant and associate based on what is known to the system from /etc/network/interfaces.'' (KyleMcMartin) ([wiki:madduck madduck]: also see [wiki:netconf netconf]).
 * Fix and enhance '''apt-listbugs''': ''There are quite a few seemingly simple bugs and wishes in the BTS, but it's seen no updates for 10 months. A few small changes would make it much more useful.'' (RaphaelHertzog: probably too limited in scope to be a good project).

=== New applications ===
 * Create a Python/GTK/QT '''app to manage Debian BTS''': ''would queue actions and then send an e-mail to the BTS to commit changes, make it easier to browse bugs, cross-reference, tag/update/close, etc'' -- proposed multiple times (meaning what?)
  * (StefanoZacchiroli: this overlaps with the ''make reportbug enhancements'' point above. What about splitting the above one in two: (1) provide a gui for `reportbug`, (2) provide a web ui for `reportbug`? If, besides interfaces, more features for `reportbug` are requested they should be described separately as well)
  * (PhilippKern: Managing bugs is likely to be separate from reporting bugs, it's rather a superset. It may be however implemented in the same application. But then it should only expose the bug management features to end-users if they want it to. I already volunteered to take this one, ''if it would be a valid project request'', in private to aba, as he's the creator of the bts2ldap gateway. Not reply yet, though.)
 * Create a user-friendly '''security-update notifier/installer'''
 * Package and integrate [http://www.networkmultimedia.org NMM - Network Multimedia-Middleware]. As NMM becomes (one of) the new KDE 4 multimedia backends (see this [http://www.linuxtag.org/2006/de/besucher/programm/freies-vortragsprogramm/samstag.html?talkid=319 presentation at the Linuxtag2006]) this would be initial work to support KDEs new multimedia framework Phonon.(nmm provides already sarge package)
 * Package and integrate of [http://www.nomachine.com NX] and [http://freenx.berlios.de FreeNX]. See also [http://lists.alioth.debian.org/pipermail/pkg-nx-group/2006-April/000135.html this mail].
 * Help implement ["CDDT"] -- Custom Debian Distributions Toolkit. The toolkit is partially functional, but there are a lot of things to do, for the current status look at the following [http://lists.debian.org/debian-custom/2006/02/msg00074.html message].
 * Develop a new, robust (i.e. not shell script based), security checking tool based on the experience derived from [http://packages.debian.org/checksecurity Checksecurity] and [http://packages.debian.org/tiger Tiger] implementing common host-level security checks, providing better alert mechanisms, and, optionally, integrating with OSS information management systems such as [http://www.prelude-ids.org/ Prelude] (through [http://packages.debian.org/libprelude2 libprelude] and [http://www.ossim.net/ Ossim] (JavierFernandezSanguino)
 * Layered Subversion, [http://laysvn.alioth.debian.org/], which can be very useful to maintain the configuration files of an inhomogenous set of servers, needs to be rewritten for efficiency increases (working on single files is very slow with subversion because of locking, so the rewrite needs to plan ahead and then work on whole layers). Maybe this could be intergrated into svk, too, or even some functionality into upstream subversion itself. (ErichSchubert)
 * Implement a GUI frontend for live-package/live-helper to build Debian Live systems (daniel)
 * TCOS: Thin Client Operating System [http://soleup.eup.uva.es/mediawiki/index.php/TCOS/en TCOS wiki] (need mentor)
 * Package and integrate of the German and French user administration tool [:DebianEdu/CipUX:CipUX] for Debian-Edu into Debian (need mentor)
 * Write a replacement for the webmin based user administration frontent [:DebianEdu/CAT:CAT] for Debian-Edu (need mentor)
 * Implement the idea of non-master language documentation and translation system: [http://wiki.skolelinux.de/ChunkCMS ChunkCMS] (need mentor)
 * Continue work on ["netconf"]: implement configuration parsers, a policy subsystem, an interface for GUIs, new methods, write integration files for other packages ([wiki:madduck Martin Krafft]).
 * Implement [http://wiki.logfilter.org/index.cgi/logfilter logfilter], the logcheck replacement ([wiki:madduck Martin Krafft]).

=== Security ===
 * Help integrate a coherent SELinux security policy into Etch, see ["SELinuxStatus"]
 * Create various variants of the reference policy for specific audiences (server, single user, desktop)
 * Create policy modules for specific packages, or contribute additions back to reference policy
 * SELinux: Automatically select policy modules for installed Debian packages (with dependency handling!), user UI for customizing this list (ErichSchubert)
 * Develop an [http://oval.mitre.org OVAL] agent for Debian. Define a mechanism to automaticaly generate OVAL queries from DSAs so that admins can set a central monitoring network (through an OVAL server and distribute OVAL agents) that can determine which systems need security updates. Optionally rate the urgency of the update using [http://www.first.org/cvss/ CVSS] (by CVE-linking with the [http://nvd.nist.gov/ National Vulnerability Database]) (JavierFernandezSanguino)
 * Develop a lintian-like system (i.e. both local tools and a lintian.debian.org service) to do automatic security review of packages source code and, through a metric, attempt to spot packages with possible security vulnerabilities that need to be reviewed before being released with the testing/stable release (JavierFernandezSanguino)
 * ''Integrate disk encryption in Debian-Installer. LUKS framework seems to be the way to go (several passwords, changing password allowed, ...)'' Already in d-i

=== Infrastructure ===
 * Develop a central translation coordination system (or enhance existing systems, such as [http://translate.sourceforge.net/ Pootle] or [http://sourceforge.net/projects/wordforge Wordforge] that would be used by translation teams to manage (coordinate), commit and review statistics for '''all''' the different l10n components in Debian, from program message translations to package description translations including the website, documentation, debconf notes, etc. For more information on the current state of affairs read [http://people.debian.org/~jfs/debconf6/html/ Internationalisation and localisation in Debian] (JavierFernandezSanguino)
 * Implement a highly reliable, BGP-based load-balancing DNS system for accessing Debian mirrors (cf [http://www.supersparrow.org/ Super Sparrow]). Requires ability to provide assurance that code is extremely robust (through careful testing and thorough testing), and ability to work with ISP and mirror admins (AnthonyTowns, JamesTroup, RyanMurray)
 * Expand the BitTorrent protocol/application to work effectively with large, constantly updating collections of files such as the Debian archive. Requires a good understanding of P2P protocol design, significant reimplementation of the BitTorrent code, and an ability to think through new protocols. (AnthonyTowns)
 * Create a DistributedAdminTool, as a webmin replacement, usable for whole networks and domains.

=== Porting ===
 * Port debian-installer to hurd-i386
 * Help out with the [http://debian-coldfire.alioth.debian.org/ Debian port to the Coldfire]. Good knowledge of either the kernel, glibc, or the toolchain would be required (WouterVerhelst).

=== Misc/unsorted ===

== Mentors for other projects ==

 * Martin Michlmayr (tbm) - projects related to QA
 *[wiki:madduck Martin Krafft] - projects related to [http://wiki.logcheck.org/index.cgi/logfilter logfilter] and ["netconf"].
 * ''more to follow''
 * '''Student:''' [[ChrisLamb|Chris Lamb]]
 * '''Mentor:''' [[daniel|Daniel Baumann]]
 * '''VCS:''' svn://svn.debian.org/debian-live/dists/trunk/live-magic/
 * '''Mailing list:''' debian-live-devel@lists.alioth.debian.org
 * '''IRC:''' #debian-live on irc.oftc.net
 * '''Original idea:''' [[http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-March/001029.html|Submitted proposal]]
 * '''Final mentor summary:'''
Line 173: Line 141:
services like bug tracking and mailing lists. The student is also
expected to maintain a webpage or a wiki page to keep everyone updates
ab
out his status.
services like bug tracking and mailing lists. The students are also expected to maintain a webpage or a wiki page to keep everyone up to date on their status.

Summer of Code 2007

This wiki page is created to make it easier to plan and coordinate Debian's involvement in the Google Summer of Code 2007.

Final summary

This year all students finished their projects. All information including what each of them did can be found at:

http://lists.debian.org/debian-devel-announce/2007/10/msg00001.html

See also next year's program : SummerOfCode2008

Current Status (2007-04-12)

Timeline

see Timeline in Google's FAQ

Mailing list

Now that we're getting into the process, we're using a mailing list to organise things. Details are at http://lists.alioth.debian.org/mailman/listinfo/soc-coordination . All mentors should already be signed up, and students will be added when project decisions have been made (if they're not already subscribed by then).

This year's projects

More details coming soon on each one...

Implementing Mole, infrastructure for managing information

  • Student: Jeroen van Wolffelaar

  • Mentor: Martin Michlmayr

  • VCS:

  • Mailing list:

  • IRC:

  • Original idea:

  • Final mentor summary:

Automated Upgrade Testing Using QEMU

(Virtual Live OS Upgrade Testing Suite)

Piuparts improvements

Bug Triage and Forward Tool

BitTorrent Proxy for Debian Archive

OVAL Agent for Debian

Bug Submission and Manipulation Web-based User Interface for debbugs

A modular lintian-like CD-image testing tool

GUI frontend for live-helper for building live Debian systems

Some information on what being a good mentor entails can be found here http://primates.ximian.com/~federico/docs/summer-of-code-mentoring-howto/index.html

Infrastructure Provided to Students

As development must happen in the open, students of Debian projects will either receive access to existing source control repositories or setup an Alioth project. Alioth is a ?SourceForge like resource provided by Debian with access to Subversion/Arch/CVS repositories and services like bug tracking and mailing lists. The students are also expected to maintain a webpage or a wiki page to keep everyone up to date on their status.