[Freedombox-discuss] [GSoC21] Interest in FreedomBox email project

Steven Chamberlain steven at pyro.eu.org
Sat Apr 10 14:38:56 BST 2021


Hello, FreedomBox developers!

I, Steven, would like to apply for this GSoC project, as a student, for
a couple of reasons. For one, I am looking for such a project as part of
my bachelor computer science studies this summer. But most of all, I'd
like to tackle the dominance of proprietary control panels for web and
email hosting, which are free software sold to people as a commercial
product.

I think, if we don't make email hosting simple for end-users, many
people will (either directly or indirectly) keep using those commercial
products and never get the full benefit of using free software.

My original project idea (because I thought in GSoC, the students were
supposed to come up with idea themselves, but apparently that's rarely
the case) was for a different subproblem but it can still be found at:
https://lists.debian.org/debian-outreach/2021/03/msg00001.html
But I'd also be happy to produce the email system that was asked for.

I administer my own email server since many years. As a freelancer, I've
set up email servers for others using Exim and Postfix with
SpamAssassin, Dovecot, etc. and I run the email server of my local
hackerspace too.

And I have practical experience of the proprietary cPanel/WHM and Plesk,
so I know how users' accounts, domains and mailboxes are modelled there.

Since I'm already a DD, I would not have many questions about Debian
infrastructure or packaging, but I would rather have questions about
plinth and how best to design the tests.

My draft proposal is the following:

1. Carry out an exhaustive study of use cases, such as using FreedomBox
on minimal hardware, or in a cloud, with IPv4/6 or connected only via
Tor, and as a sole user of the system or shared by a small community.
Deliverable could be case studies and the results of a survey of
FreedomBox users, potential users, and developers.

2a. Design a model of how email addresses should map to domains and
mailboxes, leaving enough flexibility as deemed necessary in phase 1.
This should include research on how other (including proprietary)
products or services do this, because easy migration is essential for
wider adoption. This shall be delivered in the form of an (amendable)
proposed specification on the Wiki.

2b. Design a user interface so that users can administer their email
configuration via plinth according to their needs as found in phase 1.

3a. Design and implement tests for the email setup according to the
specification in phase 2a, including the correct functioning of spam
and anti-virus filters and of DKIM and SPF for inbound and outgoing
mail.

3b. Design and implement tests for the user interface, to ensure that
changes to configuration via plinth have the intended effect on the
behaviour of the email system.

4a. Implement, in the form of a series of pull requests, that which was
designed in phase 2a, so that FreedomBox has a working email service and
that the tests from phase 3a now pass.

4b. Implement, in the form of a series of pull requests, that which was
designed in phase 2b, so that the FreedomBox user interface allows
making changes to configuration as foreseen in phase 1 so that tests
from phase 3b.

5. Obtain feedback and solicit testing by those who answered the survey
in phase 1. Create bug reports for anything too complicated to deal with
in the timeframe of the GSoC project.

Development shall be very much test-driven, as can be seen from the
ordering above. I also chose to tackle the problem starting from a very
broad perspective, to avoid implementing something and finding out later
that it doesn't adapt well to some other use case. This also gives
flexibility to leave out some optional features e.g. ClamAV if I run out
time, but it should be easy enough for someone else to implement that
with help of the specification.

Sorry, this was rather long! Thanks for your consideration and
maybe your feedback.

Regards,
-- 
Steven Chamberlain
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 648 bytes
Desc: Digital signature
URL: <http://alioth-lists.debian.net/pipermail/freedombox-discuss/attachments/20210410/9078d726/attachment.sig>


More information about the Freedombox-discuss mailing list