The main page is at SummerOfCode2017.

To add a new project proposal, please enter a WikiName in one of the boxes below (the contents will be used as a wiki page name, please avoid spaces) and hit the button! Then, fill in the template, and drop us a line on the debian-outreach mailing-list.

Coding Projects with confirmed mentors (GSoC and Outreachy)

Add a Text Editor for Plinth to edit configuration files

Description of the project: Plinth is a web interface to administer the functions of the FreedomBox, working very well so far and out of the box for newbies. However, for some advanced user we need configure some application or system directly, so that we want to edit configuration file (such us /etc/privoxy/config for Privoxy configuration), some times it is hard to edit config file via SSH, so a web-based editor is better. It is necessary for Plinth to adding a text editor, not only a textbox but a syntax highlighting enabled editor. The mission is make it easy to edit config files and make it alive as save it.

  • Confirmed Mentor: Tong Hui

  • How to contact the mentor:mail: tonghuix AT member.fsf.org, jabber/XMPP: tonghuix AT member.fsf.org

  • Confirmed co-mentors: Sunil Mohan Adapa (mail: sunil at medhas dot org, irc: sunilmohan on freenode/OFTC)

  • Deliverables of the project: Make Plinth more powerfull and adopt advanced user.

  • Desirable skills: Front-end knowledge and Python.

  • What the intern will learn: Applications configure and Debian system administration.

  • Application tasks:

    • Set up and run a FreedomBox. It can be in a virtual machine.

    • Get a Plinth development environment. This could be any Debian system, but it's easiest to use Vagrant.
    • Add a new multi-line text area at one of the module and a SAVE button, when click the save button, store the multi-line text content into a file.
  • Related projects:

Benchmarking scientific packages for general and architecture specific builds

Description of the project: For Debian packages we need to strip optimisation options from upstream build system like for instance -march=native to make sure that the code will run also on those computers who are different from the one the package was actually built. There are reports by Debian Science members that the effect of those optimisation options is quite low and extra compilation on local machines do not result in a sensible gain of speed. The task for the student will be to do sensible performance tests of packages to get some valuable data to decide whether it makes sense to create new means to support users in doing local builds with better optimisation. Bonus points for the student if it turns out that optimised local builds are sensible to implement an easy way for the user to do so.

  • Confirmed Mentor: Name of the mentor

  • How to contact the mentor: (mail, IRC, etc)

  • Confirmed co-mentors: Andreas Tille <tille@debian.org>, Lumin <cdluminate@gmail.com>

  • Deliverables of the project: Comparison of real life examples with general Debian package and optimised local build

  • Desirable skills: Scientific background, comfortable with linear algebra (atlas, blas), comfortable with gcc and optimisation

  • What the intern will learn: The student will get an introduction into the Debian Science team and the team maintained packages. Some basic packaging skills will be teached if needed. The project is also supported by members of Debian Astro, Debian Med, ?DebiChem teams basically everywhere where high performance computing in science is needed.

  • Application tasks: Contact Debian Science list <debian-science@lists.debian.org> to discuss appropriate example cases to test. Please do all conversation via this list and add the tag [GSoC] to mail subject.

  • Related projects: DebianScience, Debian Astro, Debian Med

Mail server support in FreedomBox

Description of the project: Add basic mail server support to FreedomBox. One topic is to fetch emails from a 3rd party service provider, and to store them on a FreedomBox. Main focus is to use existing Debian packages and integrate them into the FreedomBox system. The mail server should receive emails via SMTP and allow emails to be accessed via encrypted IMAP (aka imaps). It would be a bonus if it is able to send and receive emails via Tor (aka .onion addresses), to allow two FreedomBox users to exchange emails without leaking metadata. http://people.skolelinux.org/pere/blog/A_Debian_package_for_SMTP_via_Tor__aka_SMTorP__using_exim4.html describe the SMTP via Tor idea. It would be nice if the server include good ways to filter out spam. An idea is to only allow encrypted emails signed by approved keys.

  • Confirmed Mentor: James Valleroy

  • How to contact the mentor: jvalleroy at mailbox.org, jvalleroy on IRC

  • Confirmed co-mentors: Sunil Mohan Adapa (sunil at medhas.org, sunilmohan on IRC)

  • Deliverables of the project:

    • Plinth module to tie together mail features on FreedomBox

    • Feature to fetch mail and store it on FreedomBox

    • Feature to exchange mail over Tor between FreedomBoxes

  • Desirable skills: Python, Django, Shell scripting

  • What the intern will learn: Basic Debian email configuration and web development, which will allow non-technical users to easily setup an email server with limited features but also low-maintenance.

  • Application tasks:

    • Set up and run a FreedomBox. It can be in a virtual machine.

    • Get a Plinth development environment. This could be any Debian system, but it's easiest to use Vagrant.
  • Related projects:

Implement New User Interface for FreedomBox

Description of the project: (For Outreachy) An ambitious goal of the FreedomBox project is to enable end users to manage their own servers at home by building a user interface that is as easy to use as installing and managing applications on a mobile phone. Although we have made significant progress in building a clear, simple and relatively easy to use interface there is much more left to be desired from such an interface. FreedomBox community believes that the user interface could learn from advances in user interfaces over the past few years and from other similar projects to make the interface more effective. Robert Martinez, the designer of the FreedomBox identity and the freedombox.org website has proposed a new card-based user interface. This project will involve implementing this design in Plinth which is the FreedomBox user interface written in Python and Django. Apart from work on HTML, CSS, Javascript and Django templates, it is expected that some backend views will need to implemented as part of the project.

  • Confirmed Mentor: Sunil Mohan Adapa

  • How to contact the mentor: mail: sunil at medhas dot org, irc: sunilmohan on freenode/OFTC

  • Confirmed co-mentors:Tong Hui (mail: tonghuix AT member.fsf.org, jabber/XMPP: tonghuix AT member.fsf.org)

  • Deliverables of the project: Implementation of new card based interface for FreedomBox as designed in #739

  • Desirable skills: HTML, CSS, Javascript

  • What the intern will learn: Building a web interface for a Django application, a javascript user interface toolkit

  • Related projects: Refactor FreedomBox Foundation Website

Quality assurance for biological applications inside Debian

Description of the project: The Debian Med project has packaged a lot of applications for bioinformatics. In GSoC 2016 a big step for Continuous Integration of the most important applications regarding to the usage statistics provided by popularity contest was done. While it would be important to continue this effort to cover even more applications with sensible testing in this work some other tasks to enhance the quality of the Debian Med packages were uncovered. Besides testing single packages it needs to be verified that related sets of packages are playing well together and are packaged in a way that the user can expect the maximum performance out of the packages (for instance by ensuring that MPI features are used if available and the hardware features are used as best as possible).

  • Confirmed Mentor: Andreas Tille

  • How to contact the mentor: tille@debian.org

  • Confirmed co-mentors:

  • Deliverables of the project: Enhanced packages for bioinformatics covering whole workflows of users as best as possible

  • Desirable skills: The student should have a background in bioinformatics. Debian packaging skills are an extra plus but can be taught in the project run.

  • What the intern will learn: Detailed insight into the bioinformatic tools inside Debian, Comparing and benchmarking biotools, Debian packaging skills, Optimising bioinformatics and other scientific tools

  • Application tasks: Pick a bug out of the list 848326, 848329, 848332, 848333, 848334 and try fixing it. This is on one hand proof that the students is able to understand Debian packaging and understands bioinformatics at a sufficient level

  • Related projects: SummerOfCode2016/Projects/BioToolsTesting, SummerOfCode2017/Projects/Benchmarking

Reproducible builds for Debian and free software

Description of the project: We want to provide Debian users with a verifiable path between the binaries we ship and their source code. With “reproducible builds” independent parties should be able to create byte-for-byte identical packages from the same source. ReproducibleBuilds are about trust, quality assurance, and having free software up to its promises. Good progress has been made over the course of the past year, but a good amount of work remain on individual packages, toolchain issues, infrastructure, debugging tools, and documentation.

  • Confirmed Mentor: Mattia Rizzolo

  • How to contact the mentor:: mattia@debian.org, mapreri on IRC.

  • Confirmed co-mentors (depending on which subproject you're going to work on): Holger Levsen (h01ger), Reiner Herrmann (deki), Chris Lamb (lamby), Ximin Luo (infinity0)

  • There is room for more than one intern, probably we can mentor up to three people, as there are small and bigger tasks to work on:

    • (!) Improve test and debugging tools:

    • (!) Improving reproducibility of Debian packages:

      • Analyzing why packages are not reproducible.

      • Fixes for identified issues: both their root cause and easy to use work-arounds; we recently identified a new source of randomness (build-path variations) and that will require quite some work on several toolchain packages

      • Patches for individual Debian packages.
    • (!) Improving Debian infrastructure:

    • (!) Help collaboration across distributions

  • Desirable skills: We are a diverse team, ready to help with knowledge in many different areas. The following list of skills is both incomplete and too long, but anyway, useful skills are:

    • To improve Debian packages: basic understanding of how Debian packages are made, a thrill for investigations, a taste for fun hacks.
    • Python for diffoscope.
    • Perl for strip-nondeterminism.
    • Shell, Python and SQL for tests.reproducible-builds.org.
    • Web design to enhance tests.reproducible-builds.org.
    • Basic web editing (Markdown, HTML) for documentation.
  • What the intern will learn:

    • A lot about the many different ways software can be built.
    • How to make build systems reproducible.
    • Many details (that you might regret learning) about how our plumbing tools work.
    • How to interact with other Debian developers and research suitable solutions with them.
    • How to design easy-to-use development tools.
  • Related urls:

Non-Coding Projects with confirmed mentors (Outreachy)

LTSP Manager

Description of the project: Adapt sch-scripts into a new project "ltsp-manager", primarily through internationalization and localization as well as documentation.

Sch-scripts is a graphical tool that assists with management of a classroom computer lab, managing users and network booted computers with LTSP, and is used in more than 1000 schools in Greece along with the epoptes user monitoring software.

Traditionally, maintaining an LTSP environment requires comfort with a commandline interface, but sch-scripts provides a graphical tool that simplifies the installation, configuration and management of an LTSP classroom.

Epoptes allows the teacher to monitor or assist users in the computer lab, as well as send messages, boot and shut down computers.

Both LTSP and Epoptes are present in Debian, and internationalizing sch-scripts is an important step towards making the same interface used successfully in Greek schools available to all Debian and Ubuntu users.

  • Confirmed Mentor: Vagrant Cascadian

  • How to contact the mentor: vagrant@debian.org, vagrantc on IRC

  • Confirmed co-mentors: Alkis Georgopoulos (alkisg@gmail.com, alkisg on IRC)

  • Deliverables of the project:

    • An English version of ltsp-manager, translated into Greek.
    • Wiki documentation of ltsp-manager.
  • Desirable skills:

    • Fluent in English and Greek languages.
    • Able to translate from Greek to English and back again.
    • Familiar with sch-scripts and the software it interacts with (epoptes, ltsp), and the way they're used in schools.
    • Able to use a wiki for documentation.
  • What the intern will learn:

    • Internationalization and localization processes in free software projects.
    • Coordinating translations and peer review processes.
  • Application tasks: Update the translatable strings in a .ui file to English from https://bazaar.launchpad.net/~ts.sch.gr/sch-scripts/trunk/files/head:/share/sch-scripts/ Submit a screenshot of the output produced by "glade".

  • Related projects:

Projects ideas without confirmed mentors