News

EC publishes study on Next Generation Internet 2025 2018/10/05

Bob Goudriaan successor of Marc Gauw 2017/10/12

NLnet Labs' Jaap Akkerhuis inducted in Internet Hall of Fame 2017/09/19

NLnet and Gartner to write vision for EC's Next Generation Internet initiative 2017/04/12

Dutch Ministry of Economic Affairs donates 0.5 million to "Internet Hardening Fund" 2016/12/16

Vietsch Foundation and NLnet cooperate in internet R&D for research and education 2016/09/28

 

Mail::Box projectplan

Mark A.C.J. Overmeer,
MARKOV Solutions

De Mail::Box module is een software pakket dat is (en wordt) ontwikkeld om de afhandeling van e-mail via Perl erg makkelijk en fool-proof te maken.

De programmeertaal Perl wordt veel gebruikt door netwerk- en systeembeheerders die hun taken willen automatiseren. De Mail::Box voor Perl is te gebruiken voor allerlei e-mail gerelateerde handelingen:

Mail::Box is ook te gebruiken voor procmail-achtige toepassingen van gewone gebruikers en mail-applicatie ontwikkelaars. De eerste Mail User Agent (MUA, e-mail lees en maak toepassing) gebaseerd op Mail::Box is ook in ontwikkeling.

De meeste e-mail gerelateerde modules voor Perl zijn niet geschikt voor de huidige vorm van e-mail berichten; zij kunnen nauwelijks tot niet overweg met attachments, verschillende mime-types en coderingen. Vaak zijn deze modules al erg oud en in ouderwets Perl geschreven. Vandaar dat Mail::Box een nuttige aanvulling is.

Huidige toestand van Mail::Box

Mail::Box is momenteel al een krachtig pakket, dat de applicatie programmeur veel mogelijkheden biedt, waaronder

Mail::Box is gebouwd op de kennis die ligt opgeslagen in de verouderde Perl modules en eigen gebruikerservaring. Ontwikkelingen vinden plaats naar gelang de beschikbare vrije tijd en bevliegingen van de auteur. De code is volledig object-georiënteerd opgezet, en goed uitbreidbaar. Versie 2.011 definieert 95 objecten en ruim 2400 regressie-tests.

Wensen

Hoewel Mail::Box al een van de grotere Perl modules is, is deze nog verre van af. De verbeteringen dienen op twee fronten plaats te vinden:

  1. kwaliteitsverbetering, en
  2. uitbreiding van functionaliteit.

Kwaliteitsverbetering

Met betrekking tot de kwaliteitsverbetering staan de volgende punten op de wensenlijst:

de modules moeten worden gecheckt tegen de RFCs,
De code is nu gebaseerd op kennis uit de oude modules, gebruikerservaring van de auteur en klachten van gebruikers. Dat is een redelijke, maar zeker niet ideale basis voor goede software;
de documentatie dient uitgebreid en gecorrigeerd te worden,
Er is al veel documentatie geschreven tijdens de ontwikkeling van de module tot diens huidige staat. Echter, ondertussen zijn ook flink veel verbetering doorgevoerd die niet op alle plekken in de documentatie zijn doorgedrongen. Alle tekst moet nog eens door de molen;
betere ondersteuning op meerdere platformen,
module werkt onder UNIX/Linux, Mac OS X en Windows. Bij de laatste twee zijn er nog wel enkele beperkingen. Onder andere het versturen van e-mail vanuit eigen applicaties is bij Windows niet makkelijk te realiseren. Belangrijk is dat de applicatie-schrijvers hier zo min mogelijk rekening mee hoeven te houden. Daarom moet de module meer platform-afhankelijke kennis in zich verzamelen;
een mailing-list voor gebruikersgemeenschap, en
pogingen tot uitfaseren oude Perl modules.

Uitbreidingen

Er zijn veel wensen tot uitbreiding van de module. Een selectie hieruit:

De TODO wensenlijst is nog langer, maar bovenstaande punten staan bovenaan in de wachtlijst. Een aantal uitbreidingen kunnen worden gerealiseerd met gebruikmaking van bestaan (Perl) modules.

Ontwikkelingsvoorstel

De bijdrage die gevraagd wordt van NLnet zal gebruikt worden voor kwaliteitsverbetering, de promotie van de module, en het aantrekken van bijdragen van derden voor deze module.

Geplande kwaliteitsverbeteringen

Alle wensen wat betreft kwaliteitsverbeteringen zullen worden nagestreeft:

Geplande promotie

Naast de implementatie zal ook aandacht worden besteed aan promotie van de software. De software wordt verspreid via

Daarnaast via

Uitbreidingen

De aktiviteiten ondernomen binnen dit Mail::Box-project voor NLnet zullen zo veel mogelijk worden gericht op het verleiden van andere personen tot het leveren van bijdragen aan de module, zodat meer mensen kennis krijgen van de software. Daarmee wordt de module volwassener, en wordt de continuïteit van de module verbeterd. Er moeten dus meerdere ontwikkelaars komen.

Momenteel komen er structurele bijdragen van een Amerikaan (voornamelijk met betrekking tot documentatie en software ontwerp) en een Duitse student (voorbeeldscripts en testen onder Windows). Daarnaast ontwikkelt en andere Duitser een grafische e-mail lezer (MUA) op basis van de module. Deze hulpvaardige ontwikkelaars hebben zich niet vastgelegd aan het project.

Geplande tijdsduur

Voor de volgende werkzaamheden is momenteel tijd gereserveerd:

RFC vergelijking en correcties 12 MD
Documentatie verbetering 5 MD
Opzetten en promotie mailinglist 2 MD
Platform onafhankelijkheid 10 MD
Afhandelen problemen en patches 7 MD
C Parser 5 MD
IMAP implementatie 10 MD
Presentatie en paper SANE2002 7 MD
Presentatie en paper YAPC::Europe 7 MD
65 MD
(MD = Mensdagen)

Tijdsplanning

De onderstaande grafiek geeft het geplande verloop van het project weer.

Verklaring van de cijfers:
  1. indienen proposals voor YAPC::Europe.
  2. contacten leggen met auteurs van IMAP gerelateerde modules en/of applicaties om te kijken in hoeverre ze hun software willen baseren op Mail::Box. Eventueel actief iemand opsporen die een toegesneden IMAP implementatie wil gaan maken.
  3. IMAP implementatie RFC die de kennis van bestaande modules combineert en het interface naar Mail::Box vastlegt.
  4. Ijkpunt IMAP voortgang. Als er ondertussen een implementatie is dan zal deze voor verschillende IMAP servers moeten worden getest. Er moeten vrijwilligers worden gevonden om dit te doen.
  5. Release van de IMAP implementatie.

Calls

Send in your ideas.
Deadline Feb 1st, 2018.

 

Project Mail::Box

NLnet Projects