Subject: [.plan] Synchronisation: Protokolle vs. Dateien
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Sat, 16 Mar 2013 20:57:20 +0100

Nach einem sehr guten Gespraech mit meillo heute Nachmittag
kann ich endlich eine Frage beantworten, die mich bei der
ganzen IMAP/Atom/XMPP/WebDAV/CardDAV/CalDAV-Debatte immer
noch gestoert hat: Brauchen wir diese Protokolle?

Nicht falsch verstehen, ich finde es gut, dass es diese
Standards gibt, doch betrachtet man die dazu existierende
Software ist klar, dass wir hier Arbeit doppelt machen:
Wir spezifizieren nicht nur das Format, wie auszutauschende
Daten aussehen sollen, sondern wir legen auch fest, wie
dieser Datenaustausch ablaufen soll. Klingt vernuenftig,
aber warum muss letzteres fuer jedes Datenformat nochmals
definiert werden? Kann man das Problem nicht einmal Loesen
und -- bis zum Aufkommen einer besseren Methode -- eben
diese Loesungen nutzen?

  Anmerkung: Zu einem gewissen Grad scheint sich jetzt
             langsam abzuzeichnen, dass HTTP/WebDAV dieses
             Universal-Protokoll wird. Die jeweiligen Er-
             weiterungen machen teilweise Sinn, z.B. bei
             Terminabfragen, koennten aber auch anders
             geloest werden. Zudem wuerde ich gern mal
             mit einem DAV-Experten reden, wie effizient
             das ganze ist...

Die gaengigen Synchronisationsloesungen -- egal ob rsync,
svn, git, ... -- arbeiten jedoch auf Dateiebene, was von
daher problematisch ist, dass der Standard zwar die Datei-
formate festlegt, aber nicht festlegt, ob auf Client-
oder Serverseite auch die Datenhaltung in diesen Formaten
erfolgt. Meist existiert nur eine Im- und Export funktion,
ggf. ueber die dazugehoeren Protokollstandards.

Fuer die naechste Zeit will ich jedenfalls versuchen, meine
Mails, Kalender und Kontakt per git zu Sychronisieren. Das
funktioniert auch mit etwas Bauchgrummeln ueber HTTP und ist
daher ebenfalls hinter Zwangsproxies schnell zu erledigen.

Uebrigens tut das auch fuer ausgehende Mails. Bei mir gibt
es ein Maildir "Outbox", also ein Postausgang. Der MUA ruft
also nicht beim Versenden explizit ein Programm wie sendmail
auf, sondern legt sie lediglich in outbox/new ab. In einem
davon komplett unabhaengigen Vorgang wird per cron diese
Outbox geleert. Die Mails werden versendet und anstatt in
einem Sent-Ordner der Inbox, in outbox/cur abgelegt.

Noch eine kleine Randnotiz: Es gibt Dinge, die IMAPs vir-
tuelle Ordner koennen, die mit "echten" Ordnern schwer nach-
baubar sind. Anstatt aber diese Limitierung hinzunehmen
und eine weitere Abstraktionsschicht einzufuehren, die dann
-- database-powered -- das alles kann ist der falsche Weg.
Wenn Soft- und Hardlinks nicht reichen, man also deutlich
dynamischere Ordner braucht, dann ist das ein Fall fuer das
Dateisystem. Dort muessen diese Probleme geloest werden, 
nicht zig Ebenen drueber.