This page is to brainstorm FreedomBox project ideas for upcoming GSoC. The projects can then be submitted to the Debian projects list for GSoC 2017, when it's available.

See last year's projects page for examples.

Project Template

Title of the project

Description of the project: At least 8-10 lines describing what the project is about; it is really important to have a good description if you want to attract interns who are interested by the idea. This does not need to be a very technical description, but something that stirs interest and is complete enough to allow an intern to judge whether they want to work on the particular project or not. It does not need to be a complete road map either and does not need to explain all the tiny details and whatnot -- the mentor can tell that to interested applicants, or they can work out the exact details together.

GSoC 2017 Project Ideas

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. 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.

Port FreedomBox to MIPS machines

Description of the project: (For Outreachy) This idea mainly focus on extend FreedomBox's nominated hardware. FreedomBox now works on most of the popular ARM machines, but some of the routers built with MIPS CPU. To free them we could port FreedomBox toolchain to MIPS CPU. Some of the MIPS boards working with Debian very well so it is easy to port FreedomBox (Plinth mostly) on it, but not only port Plinth but also build images for MIPS boards, make them out of the box and passing freedom to MIPS boards user. Student who chose need a suitable MIPS board first.

Add a Text Editor for Plinth to edit configuration files

Description of the project: (For Outreachy) Plinth is 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.

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 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.