unsubbed.co

SabreDAV

For calendar & contacts, SabreDAV is a self-hosted solution that provides CARDDAV, CALDAV, and WEBDAV framework and server.

Open-source CalDAV/CardDAV/WebDAV infrastructure, honestly reviewed. This one is for developers — not for non-technical founders setting up calendar sync over a weekend.

TL;DR

  • What it is: A BSD-licensed PHP framework for building CalDAV, CardDAV, and WebDAV servers — not a ready-to-run product, but the plumbing that other products are built on [README][1].
  • Who it’s for: PHP developers who need to add standards-compliant calendar/contact sync to an existing application. Not for non-technical founders expecting to docker compose up their way to working calendar sync.
  • Cost savings: The library itself is $0 (BSD-3-Clause). The cost is engineering time — measured in days or weeks, not hours [README].
  • Key strength: It is the most widely deployed open-source CalDAV/CardDAV implementation in the PHP world. Nextcloud, ownCloud, and Baïkal all run on it. If it works for Box and atmail, the protocol handling is solid [website].
  • Key weakness: It’s a framework, not a product. There is no admin panel, no user management, no Docker image on the homepage. The official website’s newest news post is from 2018 [website]. If you need a working CalDAV server this week, build on top of something built on top of this — like Baïkal.

What is SabreDAV

SabreDAV (formally sabre/dav) is a PHP library that implements three internet protocols: WebDAV (file access over HTTP), CalDAV (calendar sync), and CardDAV (contact sync). You include it in a PHP project, wire it to a database, and it turns your application into a standards-compliant sync server that any CalDAV or CardDAV client — iOS Calendar, Thunderbird, Evolution, DAVx5 on Android — can talk to [README].

The project was created by Evert Pot and is maintained under the fruux company umbrella. fruux’s own consumer product (a calendar and contacts sync service) runs on sabre/dav, which explains why the protocol implementation is unusually complete — the authors were using it in production with real users [website].

On GitHub the project sits at 1,700 stars, which is modest by open-source standards but misleading about its actual deployment footprint. SabreDAV’s reach is measured in the products built on it, not in its own star count. Nextcloud — one of the largest self-hosted ecosystems with millions of deployments — uses sabre/dav as its CalDAV and CardDAV backend [2]. Baïkal, the go-to minimal CalDAV/CardDAV server in the self-hosted community, is entirely a sabre/dav wrapper with an admin UI bolted on top [2]. Davis, a more modern alternative to Baïkal, is also “based on sabre/dav, built with Symfony and Bootstrap” [2]. The library is infrastructure that most self-hosters run without knowing it.

The BSD-3-Clause license is genuinely permissive — you can embed sabre/dav in a commercial product, redistribute it, or build a SaaS on it without signing anything [README].


Why people choose it

The sources for SabreDAV reviews are sparse — there are no Trustpilot pages, no G2 listings, and no “switched from SabreDAV to X” Reddit threads. That’s because it’s not a product people choose in the consumer sense. Engineers reach for it when they need CalDAV/CardDAV in a PHP application and want something that won’t require them to reverse-engineer the RFC themselves.

The protocol implementation is the reason. CalDAV and CardDAV are notoriously tricky to implement correctly. The specs are long, client behavior varies across iOS/Android/macOS/Thunderbird, and edge cases around recurrence rules and timezone handling have broken countless homegrown implementations. sabre/dav’s main value proposition is that it has already hit those edge cases in production, at scale, across real clients. One windows10download.com listing notes it provides “PHP server integration” and “implement WebDAV support” as its core use case — which is accurate but undersells the depth of the implementation [1].

The ecosystem reuse argument. If you’re evaluating a CalDAV server and looking at Baïkal, you’re already running sabre/dav — you just don’t have to set it up yourself. Baïkal ships a pre-configured sabre/dav instance with a web interface [2]. This is actually the right answer for most non-developers: use Baïkal or Nextcloud (which wrap sabre/dav) rather than sabre/dav directly.

The license argument for developers. BSD-3-Clause is about as permissive as it gets. For a developer building a SaaS that needs calendar sync, this matters: you can ship sabre/dav inside a commercial product with no legal complications [README].


Features

SabreDAV is a framework, so “features” means what it makes possible, not what it ships with out of the box.

Protocol support:

  • WebDAV (RFC 4918) — file access, properties, locking [README]
  • CalDAV (RFC 4791) — calendar sync, including recurring events, timezone handling, and iCalendar format [README][website]
  • CardDAV (RFC 6352) — contact sync, vCard format [README][website]

CalDAV-specific capabilities (from the website):

  • Scheduling and free/busy queries [website]
  • Calendar sharing and delegation [website]
  • Proxy support for delegated access [website]

Framework architecture:

  • Plugin-based design — you enable only what you need [README]
  • ACL (Access Control List) system for per-resource permissions [website]
  • Multiple authentication backends (HTTP Basic, HTTP Digest, OAuth bearer) [website]
  • PDO backend for MySQL/SQLite/PostgreSQL [README]
  • Namespace support for multi-tenant deployments [README]

Client compatibility:

  • The website claims support “on all major platforms” — this means the protocol is compliant enough that standard clients work [website]
  • Verified deployments with iOS Calendar, macOS Calendar, Android (via DAVx5), Thunderbird, Evolution, Outlook (via plugins)

What it does NOT include:

  • No admin interface
  • No user management UI
  • No Docker image
  • No web-based calendar viewer
  • No invitation handling for external users
  • No email delivery

If you need any of those, you’re looking for Baïkal (minimal admin UI), Davis (modern admin UI, also on sabre/dav [2]), SOGo (full groupware), or Nextcloud (everything-and-a-kitchen-sink).


Pricing: SaaS vs self-hosted math

SabreDAV itself: $0. BSD-3-Clause, no commercial license needed, no usage limits in the code [README].

What you’re actually comparing against:

If the use case is calendar and contact sync for a small team, the realistic alternatives are:

  • Google Workspace: $6–$12/user/month. Includes Gmail, Drive, Calendar, Contacts. No setup. No maintenance. Your data lives on Google’s servers.
  • iCloud: Free to $2.99/month for storage. Apple ecosystem only.
  • Fastmail: ~$5/user/month. CalDAV/CardDAV included. EU-based, better privacy posture than Google.
  • Proton Calendar: Free to $9.99/month. End-to-end encrypted. CalDAV export available on paid plans.

Self-hosted path using sabre/dav directly:

  • Server costs: $5–15/month VPS (Hetzner, Contabo, DigitalOcean)
  • Engineering time to set up and maintain: not quantifiable from public data, but budget several days of PHP development for a custom integration
  • Ongoing maintenance: PHP version updates, security patches, client compatibility testing

Self-hosted path using Baïkal (built on sabre/dav):

  • Server costs: same $5–15/month VPS
  • Setup time: 1–3 hours for someone comfortable with PHP/web server configuration
  • This is the realistic path for non-developers

Concrete savings math: A 5-person team on Google Workspace Starter ($6/user/month) pays $360/year. A Baïkal instance on a $6 Hetzner VPS costs $72/year, saving ~$288/year. That’s meaningful but not dramatic unless you’re running larger teams or have data sovereignty requirements. The math gets more interesting at 20+ users: $1,440/year on Google vs. $72/year self-hosted on the same VPS.

The caveat is maintenance cost. Google Workspace doesn’t go down at 2am because PHP got updated. Factor that honestly.


Deployment reality check

If you want to run sabre/dav directly — writing PHP against the library:

  • You need a web server (Apache or Nginx) with PHP 7.4+ or PHP 8.x [README]
  • You need a database (MySQL, PostgreSQL, or SQLite)
  • You need to write a bootstrap PHP file that initializes the server, configures plugins, and wires in your auth backend
  • The documentation at https://sabre.io/dav/ covers the basics, but it assumes you’re a PHP developer

For non-developers, the realistic path is Baïkal:

  • PHP web server + MySQL/SQLite
  • Download Baïkal, unzip, point your web server at it
  • Admin UI for creating users and calendars
  • CalDAV/CardDAV endpoints ready immediately
  • Setup time: 1–3 hours with a basic web server background [2]

What the website signals about project health: The official site at https://sabre.io still references the library correctly, but the newest news post dates to October 2018 [website]. This is a yellow flag worth noting. The GitHub repository shows active CI running against PHP 7.4 and PHP 8.0+, so the code is maintained and tested [README]. But there is a gap between “maintained” and “actively developed.” The master branch and 4.* are listed as maintained; everything before 3.2 is explicitly unmaintained [README]. fruux offers enterprise support and custom development, but their commercial presence is unclear from public signals.

Real risk: sabre/dav depends on fruux for long-term maintenance direction. The company website at https://fruux.com is still live, but the sabre.io news blackout since 2018 is a signal that active development has slowed. If you’re building critical infrastructure on sabre/dav, check the commit frequency on GitHub before committing.


Pros and Cons

Pros

  • BSD-3-Clause license. Genuinely permissive — embed in commercial products, redistribute, build SaaS on it without legal complexity [README].
  • Battle-tested protocol implementation. Used by Nextcloud (millions of deployments), ownCloud, Box, atmail, and fruux’s own consumer product [website]. The CalDAV/CardDAV handling has been through more real-world client edge cases than any new implementation will see for years.
  • Comprehensive protocol coverage. WebDAV, CalDAV, CardDAV, scheduling, free/busy, delegation, sharing, proxy access — the RFC coverage is unusually complete [website][README].
  • Plugin architecture. You enable only what you need; unused protocol features don’t add overhead or attack surface [README].
  • Supported PHP versions. PHP 7.4+ and PHP 8.0+ support in the maintained branch — not stranded on an old runtime [README].
  • Powers a real ecosystem. If Baïkal, Davis, or Nextcloud’s CalDAV stack fits your use case, you get the sabre/dav reliability without touching the library directly [2].

Cons

  • Not a product. There is no “install SabreDAV and be done.” It is a PHP library. Non-developers will be confused and frustrated [README][1].
  • Website appears unmaintained. Last news post: October 2018 [website]. This is not a signal you want from a project you’re building infrastructure on top of.
  • Low star count relative to deployment footprint. 1,700 stars doesn’t reflect actual adoption, but it also means a smaller visible community for Stack Overflow answers and GitHub issues.
  • No Docker-first deployment story. The sabre.io site doesn’t advertise a container image. You’re deploying a PHP application, which requires web server knowledge [README][website].
  • Developer-only audience. If you need calendar sync and you’re not a PHP developer, SabreDAV is the wrong answer. The right answer is something built on top of it [2].
  • Documentation age. The docs at sabre.io haven’t been visibly refreshed in years. They’re still mostly accurate for the stable API, but integration examples may reference older PHP patterns.
  • Enterprise support opacity. fruux offers commercial support and customization, but pricing and availability aren’t publicly listed [website]. For an enterprise dependency, that’s friction.

Who should use this / who shouldn’t

Use SabreDAV directly if:

  • You’re a PHP developer adding CalDAV or CardDAV sync to an existing application.
  • You need a permissive (BSD-3-Clause) license for embedding in a commercial PHP product.
  • You want complete control over authentication, storage backend, and ACL logic — and you have the PHP skills to implement it.
  • You’re already running a PHP stack and want to avoid adding a new language runtime dependency.

Use Baïkal or Davis (built on sabre/dav) instead if:

  • You want a working CalDAV/CardDAV server without writing PHP code [2].
  • You need a web admin UI for managing users and calendars.
  • Your DevOps comfort zone is “configure a web server and deploy a PHP app.”

Use Nextcloud instead if:

  • You want CalDAV/CardDAV as part of a broader self-hosted productivity stack (files, tasks, notes, video calls).
  • You want a Docker-first deployment with an active development community.
  • You’re a non-technical founder who wants something maintained and documented.

Stay on a hosted service (Fastmail, Proton, Google Workspace) if:

  • You don’t have PHP development skills and don’t want to hire someone.
  • Your team is fewer than 10 people and the SaaS bill is not painful yet.
  • Uptime and maintenance overhead matter more than data sovereignty.

Alternatives worth considering

  • Baïkal — sabre/dav with an admin UI. The right “product” wrapper if you want sabre/dav’s protocol handling without writing PHP [2].
  • Davis — a more modern Baïkal-style server, also on sabre/dav, built with Symfony. MIT-licensed [2].
  • Nextcloud — full self-hosted productivity suite. CalDAV/CardDAV backend is sabre/dav under the hood. Docker-first, actively maintained, huge community.
  • Radicale — minimal CalDAV/CardDAV server written in Python. Simpler codebase, easier to audit, fewer features. GPL-3.0 [2].
  • SOGo — groupware server (CalDAV, CardDAV, webmail). Heavier than Baïkal but closer to a Zimbra replacement. GPL-2.0. Scales better for larger teams [2].
  • EteSync — end-to-end encrypted contacts and calendar sync. Different threat model: data is encrypted before it leaves your device [2].
  • Fastmail — commercial SaaS with excellent CalDAV/CardDAV support and a strong privacy reputation. ~$5/user/month. The right answer if self-hosting is not a hard requirement.

For a non-technical founder specifically: the realistic self-hosted shortlist is Baïkal (minimal, just calendar/contacts) vs. Nextcloud (full suite). SabreDAV direct is not on that shortlist.


Bottom line

SabreDAV is infrastructure, not a product. It’s the CalDAV/CardDAV implementation that Nextcloud, Baïkal, ownCloud, and Box trust to handle protocol correctness — and that’s a real endorsement. The BSD-3-Clause license and comprehensive protocol coverage make it the right choice when you’re a PHP developer building calendar sync into an application. But the 2018-era website, the absence of a Docker-first deployment story, and the “framework, not product” nature mean it has no business being the first result a non-technical founder clicks when they search for “self-hosted Google Calendar.” If that’s you, start with Nextcloud or Baïkal, both of which quietly depend on sabre/dav anyway. You get the protocol reliability without the integration work.


Sources

  1. Windows 10 Download — SabreDAV listing — Software catalog entry describing SabreDAV as a WebDAV framework for PHP server integration. https://www.windows10download.com/w10-webdav.html
  2. AlternativeTo — Baïkal Alternatives — Community alternatives page listing Davis (“based on sabre/dav, built with Symfony and Bootstrap”), Radicale, SOGo, EteSync, and Nextcloud Calendar as Baïkal alternatives. https://alternativeto.net/software/baikal/
  3. Shaynly — Catalog of Self-Hosted Free Software — Broad self-hosted software catalog covering analytics, archiving, and related categories. https://shaynly.com/self-hosted-free-software/
  4. CalConnect — Current Events — CalDAV standards body event announcements, CalDAV Virtual Session Q&A. https://www.calconnect.org/news/current-events/
  5. CalConnect — Announcements — CalDAV standards body membership and standards announcements. https://www.calconnect.org/news/announcements/

Primary sources: