Zum Hauptinhalt Zur Navigation

DAVx5: Open-Source-Enthusiasten mit großen Plänen

Wir schauen hinter die Kulissen von Open-Source -Projekten. Heute: Bernhard Stockmann von DAVx⁵ spricht über die Mammutaufgabe, alle proprietären Sync-Lösungen zu ersetzen.
/ Marcus Toth
16 Kommentare News folgen (öffnet im neuen Fenster)
DAVx5 ist eine All-in-One-App zur Synchronisation. (Bild: Pixabay / Montage: Golem.de)
DAVx5 ist eine All-in-One-App zur Synchronisation. Bild: Pixabay / Montage: Golem.de

Nextcloud-Nutzern dürfte die Android-App DAVx⁵ sehr gut bekannt sein: Sie hat sich in den zum De-facto-Standard für die Cal- und CardDAV-Synchronisierung unter Android gemausert und die Macher haben noch viel vor. Bernhard Stockmann von Bitfire Web Engineering entwickelt die App seit mehreren Jahren gemeinsam mit der Senior-Entwicklerin Ricki Hirner und kümmert sich dabei seit Jahren um Support, Grafik, PR und Management der Firma. Zum Team gehören außerdem zwei angestellte Junior-Entwickler: Sunik Kupfer und Arnau Morau Gras.

Mit DAVx⁵(öffnet im neuen Fenster) (gesprochen: DAV-ix-fünf) können Kontakte, Kalender, Aufgaben sowie Notizen und Journale mit der App JTX Board zwischen einem eigens gewählten Server/Service und Android-Geräten synchronisiert werden. Einmal eingerichtet, läuft dies automatisch im Hintergrund ab und klinkt sich nahtlos ins System ein: Sobald am Server oder am Handy Änderungen - beispielsweise an einem Kontakt - vorgenommen werden, werden die Daten abgeglichen. Über WebDAV ist außerdem der Livezugriff auf die eigene Dateicloud möglich.

Im Interview erzählt Bernhard Stockmann von der "Mammutaufgabe" des Teams, dem Austausch mit der Community und Markenrechtsproblemen und gibt Tipps für andere Open-Source-Begeisterte.

Golem.de : Was ist das Ziel von DAVx⁵?

Bernhard Stockmann: Im Endeffekt wollen wir DIE Open-Source-Alternative zu allen proprietären Sync-Lösungen - inklusive dem auf Android vorinstalliertem Google-Sync - werden! Eine Mammutaufgabe, denn wir syncen ja mit einer Unmenge an unterschiedlichen Servern, die alle ihre eigenen Macken haben können.

Golem.de : Wie entstand die Idee zum Projekt?

Stockmann: Natürlich - wie so oft - aus Eigennutz. Wir waren 2013 auf der Suche nach einem Tool, mit dem wir unsere Kontakte und Kalender ohne Google Cloud aufs Handy synchronisieren konnten. Es gab nur eine proprietäre Lösung im Play Store und alle anderen funktionierten leider nicht. So entstand die Idee, eine All-in-One-App zur Synchronisation zu machen.

Wir wollten vom ersten Tag an quelloffen programmieren - aus ideologischen Gründen, und weil gerade bei sensiblen Daten die Privatsphäre besonders wichtig ist und jede Person nachschauen können soll, wie die Daten übermittelt werden.

Golem.de : Wie ist die Entscheidung für die GPL gefallen?

Stockmann: Kurz gesagt: Wir sind OSS-Enthusiasten (lacht). Für unsere Open-Source-Version - zum Beispiel die, die im f-droid.org(öffnet im neuen Fenster) auf Basis unseres Quellcodes erstellt wird - wollten wir sicherstellen, dass diese Version auch immer offen bleibt. Software, die der GPL unterliegt, muss wieder veröffentlicht werden. So wird sichergestellt, dass Änderungen immer wieder ins Projekt zurückfließen können.

Das ist auch ein sanfter Schutz davor, dass die App nicht unbemerkt kopiert wird und wieder in einem Store landet - man muss zumindest auf unser Projekt und die Originalversion verweisen und den Code offenlegen.

Die Version in den kommerziellen Stores dient zur Finanzierung. Sie ist quasi identisch mit der GPL-Version, hat aber keinen Spendendialog; man muss sie direkt kaufen. Wir haben da auch keinerlei DRM eingebaut. Und seit einigen Jahren bieten wir auch eine eigens lizenzierte Firmenversion (Managed DAVx⁵) an, die im EMM/MDM-Bereich gezielt durch einen Admin für ein Unternehmen vorkonfiguriert und speziell angepasst werden kann.

Golem.de : Wieviel Zeit fließt in das Projekt?

Stockmann: Ungefähr 90 Stunden pro Woche. Der Aufwand ist also relativ konstant. Wenn gerade keine Bugs bekannt sind, arbeiten wir am Refactoring oder an neuen Features. Das meiste passiert unter der Oberfläche, wenig davon ist für die Nutzer sichtbar - außer, dass es eben im besten Fall einfach funktioniert. Laufend geben wir natürlich auch Support via Ticketsystem oder Github-Forum.

Golem.de : Welche Probleme werden da gemeldet?

Stockmann: Die häufigsten Probleme sind hier entweder falsch konfigurierte Server, Netzwerkprobleme oder dass der Sync nicht gestartet wird, was quasi immer auf spezielle herstellerspezifische Stromsparmechaniken der Geräte zurückzuführen ist.

Golem.de : Wie weit trägt die Community zu dem Projekt bei? Gibt es Contributors, fixe Betatester, Autoren für die Dokumentation?

Stockmann: Wir bekommen regelmäßig Beiträge wie aktuelle Übersetzungen in viele Sprachen, Verbesserungsvorschläge und qualifizierte Fehlerberichte.

Was Code Contributions betrifft: Zu Beginn des Projekts hatten wir einige davon, die wir manchmal nicht annehmen konnten. Der Grund war, dass der beigesteuerte Code nicht allgemein genug geschrieben wurde, zum Beispiel Hacks für bestimmte Server. Wir hatten eine klare Vorstellung davon, wo wir hinwollten, nämlich eine App zu machen, die generalisiert mit möglichst allen Servern funktioniert.

Bis heute haben wir quasi keine serverspezifischen Workarounds einbauen müssen. Die Komplexität von CalDAV und CardDAV und der Synchronisation ist relativ hoch, was es natürlich auch schwierig macht, Code beizusteuern, wenn man sich nicht mit allem eingehend beschäftigt hat.

Jetzt fördern wir die Contributions wieder ein bisschen mehr, weil der Kern von DAVx⁵ mittlerweile in besserem Zustand und besser modularisiert ist. Vieles wird auch durch Tests abgedeckt, es soll aber noch mehr werden.

Wir haben derzeit außerdem 2.850 aktive Betatester im Play Store. Diesen Beta-Channel nutzen wir oft und gerne. Dokumentation und unser Handbuch werden in der Realität nur von uns gemacht, obwohl wir auch hier natürliche gerne Beiträge annehmen und das System dafür ausgelegt haben - das Manual kann einfach über Github Pull Requests geändert werden.

Die Community ist fantastisch!

Golem.de : Wie ist der Umgang mit der Community?

Stockmann: Der Umgang mit der Community ist eigentlich fantastisch! Wir bekommen richtig viel positives Feedback und nur äußerst selten Beschwerden. Es gibt quasi keinerlei Geraunze, wie man so schön sagt (lacht).

Wir nutzen als News-Kanal und für Umfragen derzeit Twitter(öffnet im neuen Fenster) (auch auf Mastodon ist DAVx⁵ (öffnet im neuen Fenster) vertreten, Anm. d. Red.) und die Github Issues als Announcement-Plattform für neue Releases sowie als Diskussionsmöglichkeit. Wir hatten für längere Zeit eigene Foren in Betrieb, die wir selbst auf unserem Server betrieben haben, da das Hosting davon sehr teuer gewesen wäre.

Maintainen und Erhalten hat aber leider viel Aufwand und Nerven in Anspruch genommen, vor allem, wenn ein Update mal nicht funktioniert hat. Deswegen sind wir zu den Github Discussions geswitcht. Moderation ist nicht notwendig. Andere Tools nutzen wir nicht. Zur internen Kommunikation nutzen wir im Team Nextcloud Talk.

Golem.de : Gab es schon mal Probleme mit Copyright oder Patenttrollen?

Stockmann: Ja, leider. DAVx⁵ ist schon öfter einfach kopiert und ohne weitere Änderung in den Play Store gestellt worden, was uns insgesamt geschadet hat. Wir bieten die App ja ohnehin gratis an, insofern verstehen wir die Leute da nicht - es gibt keinerlei Zwang zu kaufen, die Version im Play Store dient zur Unterstützung unserer Entwicklung.

Die meisten Kopien wurden durch Google aus dem Play Store wieder entfernt, als wir danach gefragt haben. Wir haben aus diesem Grund auch unseren Namen als Marke registriert. Dadurch ist es auch einfacher, Kopien, die den gleichen Namen haben, wieder entfernen zu lassen. Es ist unangenehm, mit sowas umzugehen, aber wir wollen nicht, dass Kopien mit möglicherweise Schadsoftware oder Ads im Play Store landen und die Leute es dann guten Gewissens herunterladen, weil der Name DAVx⁵ drübersteht.

Ganz ursprünglich hatten wir Probleme mit der Registrierung unseres Namens. Die Registrierung von DAVdroid war aus Markenrechtsgründen nicht möglich, weil App-Namen nicht auf -droid enden dürfen. Daraufhin mussten wir den Namen ändern. Unser Rechtsbeistand hat uns empfohlen, einen möglichst unverwechselbaren Namen zu wählen. Somit haben wir uns in DAVx⁵ umbenannt.

Leider begann das Spiel erneut, aber mit der zweiten Partei, die Einspruch eingelegt hat, konnten wir uns glücklicherweise einigen, weil wir niemals einen Videocodec aus DAVx⁵ machen werden.

Golem.de : Gibt es Forks des Projektes? Wenn ja, in welcher Form tragen die Forks zum Projekt bei?

Stockmann: Ja, es gibt sehr viele Forks von DAVx⁵. Man kann sie in drei Kategorien einteilen:

Erstens: Private Forks. Leute kompilieren DAVx⁵ selbst und nutzen es möglicherweise mit einigen privaten Änderungen. Das sind mit Abstand die meisten Forks - bevor wir 2022 von Gitlab auf Github umgezogen sind, standen wir dort bei wenigen Hundert Forks.

Zweitens: Firmen oder Institutionen, die die App auf ihre Domain eingrenzen und separat nutzen. Diese Apps werden meist nicht weiterentwickelt. Gelegentlich kommen hier aber auch kleinere Contributions.

Drittens: Projekte, die DAVx⁵ als Basis nehmen und darauf aufbauen, um eigene Apps (weiter-) zu entwickeln. Das sind eher wenige, aber von diesen bekommen wir auch immer wieder Contributions - die meisten sind daran interessiert, dass DAVx5 weiterentwickelt wird und mit den Entwickler*innen haben wir auch immer wieder Kontakt.

Golem.de : Ich habe eine SW geschrieben und möchte diese als Open Source freigeben. Was sind die drei besten Tipps dafür?

Stockmann: Das kommt natürlich stark auf die Art der Software an, aber wir denken, diese drei Punkte sind für alle Open-Source-Projekte wichtig:

1. Eine gute Lizenz wählen! Die GPLv3 ist immer eine gute Wahl. Keine Angst davor haben, dass alle den Code sehen und kopieren können.

2. Community und Partner miteinbeziehen und Leute ins Boot holen, damit man nicht alleine dasteht. Zusammenarbeit fördern, sich gut vernetzen. Uns hat zum Beispiel sehr geholfen, dass wir von Beginn an sehr guten Kontakt mit Nextcloud hatten - es hat maßgeblich zu unserem Bekanntheitsgrad beigetragen.

3. Sehr wichtig: Einen Zukunftsplan haben und die Art der Finanzierung immer mitbedenken - kein Projekt (ob FOSS oder nicht) kann ohne dies lange existieren. Unsere Finanzierung ist beispielsweise dreistufig: Verkauf im Play Store, freie Spenden - man muss den Personen möglichst viele Spendenmöglichkeiten geben - und Verkauf unserer speziellen Firmenversion für EMM/MDMs. Auch potenzielle Förderungen sollte man nicht unterschätzen, privat und öffentlich!

Der Quellcode von DAVx⁵ ist bei Github (öffnet im neuen Fenster) zu finden.


Relevante Themen