Comparison of CalDAV and CardDAV implementations

Last updated

A comparison of CalDAV and CardDAV implementations offers two overviews of client and server computer software implementations of the CalDAV and CardDAV protocols.

Contents

Client implementations

Client name Platform License WebDAV ACL editor Discovery of other user’s collections ICalendar events ICalendar tasks ICalendar journals ICalendar VAVAILABILITY (RFC 7953) CalDAV Scheduling CardDAV vCard Synchronization User interface Online store .well-known URLs FBURL DNS SRV handles home-sets
AgenDAV [1] Cross-platform JavaScript Web browser GNU GPL Yes limitedNoYesUn­knownNoNo Does not arrange meetings with participantsout of scopeAgenDAV's fullcalendar.ioNoNo The used server is fixed in the configuration fileNo Does not arrange meetings with participantsNo the caldav-server settings need to be fixed in AgenDAV's configuration fileYes
Cadaver [2] Command-line GNU GPL Un­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
aCal [3] Android GNU GPL Un­knownUn­knownYesYesUn­knownUn­knownUn­knownUn­knownaCalaCalUn­knownUn­knownUn­knownUn­known
AndroidCaldavSyncAdapater [4] Android GNU GPL Un­knownUn­knownYesUn­knownUn­knownUn­knownout of scopeAndroid Google Play Un­knownNo Out of scopeUn­knownUn­known
CalDavZAP [5] Cross-platform JavaScript Web browser AGPL NoNoYesYesUn­knownNoNo Does not arrange meetings with participantsout of scopeCalDavZAPNoNo The used server is fixed in the configuration fileNo Does not arrange meetings with participantsNo The used server is fixed in the configuration fileYes
CardDavMATE [6] Cross-platform JavaScript Web browser AGPL NoNoout of scopeout of scopeout of scopeout of scopeout of scopeYes vCard 3.0 onlyNoCardDavMATENoNo The used server is fixed in the configuration fileNo Out of scopeNo The used server is fixed in the configuration fileYes
InfCloud (CalDavZAP+CardDavMATE) [7] Cross-platform JavaScript Web browser AGPL NoNoYesYesUn­knownNoNo Does not arrange meetings with participantsYes vCard 3.0 onlyNoInfCloudNoNo The used server is fixed in the configuration fileNo Does not arrange meetings with participantsNo The used server is fixed in the configuration fileYes
Chandler Desktop [8] Cross-platform Python Apache Un­knownUn­knownYesYesUn­knownUn­knownUn­knownNoUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
DAVx⁵ [9] Android GNU GPL NoNoYesYesYesout of scopeNo (except attendees/invitations)YesNo (server always wins)Android, OpenTasks Google Play, OpenTasksYesout of scopeYesYes
Tasks.org [10] Android GNU GPL NoNoNoYesNoNoNoNoNoAndroid Google Play YesNoNoYes
jqCalDAV [11] Cross-platform JavaScript Web browser MIT Un­knownUn­knownYesYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
KCardDAV [12] (discontinued) Cross-platform Kontact add-on GNU GPL Un­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
KOrganizer, KAddressBook, Kontact Unix-KDE GNU GPL Un­knownUn­knownYesYesYesUn­knownUn­knownYesUn­knownKOrganizer KAddressbookKOrganizer KAddressbookUn­knownUn­knownUn­knownUn­known
Lightning [13] Cross-platform Thunderbird Add-on MPL, GPL, LGPL Un­knownUn­knownYesYesUn­knownUn­knownUn­knownOut of scopeLightningLightningUn­knownUn­knownUn­knownUn­known probably not
CardBook [14] Cross-platform Thunderbird Add-on MPL NoNoOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeYes vCard 3.0 and vCard 4.0 YesCardBook Mozilla Add-ons (ATN) YesOut of scopeNopartial
MineTime [15] Cross-platform Proprietary NoNoYesNoNoNoNoNoNoNoMineTimeminetime.aiNoNoNo
Mulberry [16] Cross-platform Apache Un­knownUn­knownYesYesUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
Outlook CalDav Synchronizer [17] Windows AGPL Un­knownUn­knownYesYesUn­knownUn­knownUn­knownYesUn­knownOutlookUn­knownYesUn­knownYesYes
pyCardDAV [18] Cross-platform Python MIT Un­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
The Bat! [19] Windows Proprietary Un­knownUn­knownNoNoNoUn­knownUn­knownYesUn­known The Bat! The Bat!'s address bookUn­knownUn­knownUn­knownUn­known
Inverse SOGo Connector-Integrator [20] Cross-platform Thunderbird Add-on MPL, GPL, LGPL Un­knownUn­knownYesYesUn­knownUn­knownUn­knownYesUn­knownMozilla Mozilla Add-ons Un­knownUn­knownUn­knownUn­known
Evolution Cross-platform GNU GPL NoNoYesYesYesNoNoYes vCard 3.0 onlyUn­knownEvolutionEvolutionYesYes if the URL does not require authenticationYesYes
ReminderFox [21] Cross-platform Firefox MPL 1.1Un­knownUn­knownYesYesUn­knownUn­knownNoUn­knownReminderFoxYesUn­knownUn­knownUn­knownUn­known

There are more clients, mentioned for completeness:

Server implementations

Server name License Programming language RFC 2616 HTTP/1.1RFC 2617 HTTP auth.RFC 2518 Web­DAVRFC 3253 Web­DAV vers.RFC 3744 Web­DAV ACLRFC 4324 iCal CAPRFC 4331 Web­DAV quotaRFC 4709 Web­DAV mountRFC 4791 Cal­DAVRFC 4918 Web­DAV ext.RFC 5397 Web­DAV current principalRFC 5545 rev. iCal

(Availability Check)

RFC 5546 iCal iTIP(Group Scheduling)RFC 5689 Web­DAV ext. MKCOLRFC 5995 Web­DAV POST add memberRFC 6352 Card­DAV vCardRFC 6578 Web­DAV syncRFC 6638 Cal­DAV sched.(Auto-Schedule)RFC 7529 iCal RSCALERFC 7540 HTTP/2RFC 7809 Cal­DAV time zones by ref.RFC 7953 iCal VAVAIL­ABILITY Free-busy URL
Baïkal [22] [23] GNU GPL PHP Yes [Note 1] YesYesNoSomeNoNoNoYesYesYesYesYesYesNoYesNoYesUn­knownYes [Note 1] Un­knownUn­knownYes
Bedework [24] Apache Java Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownYesYesUn­knownUn­knownYesYesYesUn­knownUn­knownUn­knownUn­knownUn­known
Calendar and Contacts Server [25] Apache Python YesYesYesYesYesNoUn­knownNoYesYesYesYesYesYesUn­knownYesYesYesUn­knownUn­knownUn­knownUn­knownUn­known
Calypso [26] GNU GPL Python YesYesYesNoUn­knownNoUn­knownNoYesYesNoYesYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
Cyrus IMAP [27] BSD C YesYesYesYesYesNoYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
DAViCal [28] [29] GNU GPL PHP Yes [Note 1] YesYesYesYesYesUn­knownYesYesYesYesYesYesYesYesYesYesYesUn­knownYes [Note 1] Un­knownYesYes
DavMail [30] GNU GPL Java Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
Fennel [31] GNU GPLv3 JavaScript Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
Group-Office [32] AGPL, proprietary PHP Yes [Note 1] YesYesUn­knownSomeUn­knownUn­knownYesYesYesYesYesUn­knownYesUn­knownYesUn­knownUn­knownUn­knownYes [Note 1] Un­knownUn­knownUn­known
Horde Groupware GNU LGPL PHP Yes [Note 1] YesYesNoSomeNoNoUn­knownYesYesYesYesYesNoNoYesNoNoNoYes [Note 1] NoNoNo
Nextcloud [33] AGPL v3 PHP Yes [Note 1] Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownYes [Note 1] Un­knownUn­knownUn­known
Open Xchange GNU GPL, CC Java, JavaScript Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
ownCloud [34] AGPL v3 PHP Yes [Note 1] Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownYesUn­knownUn­knownUn­knownYes [Note 1] Un­knownUn­knownUn­known
Radicale [35] GNU GPL Python YesYesSomeNoSomeNoUn­knownNoSomeSomeSomeNoSomeNoUn­knownSomeUn­knownNoUn­knownUn­knownUn­knownUn­knownUn­known
SabreDAV [36] BSD PHP Yes [Note 1] YesYesYesYesYesYesYesYesYesYesYesYesYesNoYesYesYesUn­knownYes [Note 1] Un­knownYesUn­known
SOGo [37] GNU GPL Objective-C YesYesUn­knownUn­knownSome [38] [39] Un­knownUn­knownUn­knownSome [40] [41] Un­knownUn­knownSome [42] [43] [44] [45] Un­knownUn­knownUn­knownUn­knownSome [46] Un­knownUn­knownUn­knownUn­knownUn­knownUn­known
Xandikos [47] GNU GPL Python YesYesYesSomeSomeNoNoNoYesYesYesYesNoYesYesYesYesNoUn­knownYesNoNoUn­known
Zarafa AGPL, proprietary PHP Yes [Note 1] Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownRead onlyUn­knownUn­knownUn­knownYes [Note 1] Un­knownUn­knownUn­known
Zentyal [48] GNU GPL Perl Un­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
Meishi [49] BSD Ruby YesYes'basic'SomeyesSomenoYesmuch ofNoUn­knownNoNoUn­knownYesNoNoNoUn­knownSomeUn­knownNoNoUn­knownNoNoUn­known
Zimbra GNU GPL Java YesYesYesYesYesNoUn­knownNoYesUn­knownYesYesYesYesUn­knownYesUn­knownYesUn­knownUn­knownUn­knownUn­knownUn­known
  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PHP-based servers rely on the underlying web server platform for the implementation of HTTP.

The table is missing Kopano, Kerio Connect and Scalix, which are mentioned here for completeness.


See also

Related Research Articles

<span class="mw-page-title-main">Mac OS X Server</span> Server software for macOS

Mac OS X Server is a series of discontinued Unix-like server operating systems developed by Apple Inc. based on macOS. It provided server functionality and system administration tools, and tools to manage both macOS-based computers and iOS-based devices, network services such as a mail transfer agent, AFP and SMB servers, an LDAP server, and a domain name server, as well as server applications including a Web server, database, and calendar server.

<span class="mw-page-title-main">GNOME Evolution</span> Personal information manager software and workgroup information management tool for GNOME

GNOME Evolution is the official personal information manager for GNOME. It has been an official part of GNOME since Evolution 2.0 was included with the GNOME 2.8 release in September 2004. It combines e-mail, address book, calendar, task list and note-taking features. Its user interface and functionality is similar to Microsoft Outlook. Evolution is free software licensed under the terms of the GNU Lesser General Public License (LGPL).

<span class="mw-page-title-main">Microsoft Outlook</span> Email and calendaring software

Microsoft Outlook is a personal information manager software system from Microsoft, available as a part of the Microsoft 365 software suites. Primarily popular as an email client for businesses, Outlook also includes functions such as calendaring, task managing, contact managing, note-taking, journal logging, web browsing, and RSS news aggregation.

WebDAV is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents directly in an HTTP web server by providing facilities for concurrency control and namespace operations, thus allowing Web to be viewed as a writeable, collaborative medium and not just a read-only medium. WebDAV is defined in RFC 4918 by a working group of the Internet Engineering Task Force (IETF).

<span class="mw-page-title-main">SOGo</span>

SOGo is an open source collaborative software (groupware) server with a focus on simplicity and scalability.

A Service record is a specification of data in the Domain Name System defining the location, i.e., the hostname and port number, of servers for specified services. It is defined in RFC 2782, and its type code is 33. Some Internet protocols such as the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP) often require SRV support by network elements.

Calendaring Extensions to WebDAV, or CalDAV, is an Internet standard allowing a client to access and manage calendar data along with the ability to schedule meetings with users on the same or on remote servers. It lets multiple users in different locations share, search and synchronize calendar data. It extends the WebDAV specification and uses the iCalendar format for the calendar data. The access protocol is defined by RFC 4791. Extensions to CalDAV for scheduling are standardized as RFC 6638. The protocol is used by many important open-source applications.

Kolab is a free and open source groupware suite. It consists of the Kolab server and a wide variety of Kolab clients, including KDE PIM-Suite Kontact, Roundcube web frontend, Mozilla Thunderbird and Mozilla Lightning with SyncKolab extension and Microsoft Outlook with proprietary Kolab-Connector PlugIns.

<span class="mw-page-title-main">EGroupware</span>

EGroupware is free open-source groupware software intended for businesses from small to enterprises. Its primary functions allow users to manage contacts, appointments, projects and to-do lists. The project releases its software under the terms of GNU General Public License (GPL).

Z-Push is a FOSS implementation of the Microsoft Exchange ActiveSync protocol which is used to synchronize email, personal contacts and other items between a central server and a mobile device.

vCard Extensions to WebDAV (CardDAV) is an address book client/server protocol designed to allow users to access and share contact data on a server.

DAViCal is a server for calendar sharing. It is an implementation of the CalDAV protocol which is designed for storing calendaring resources on a remote shared server. Although the events are stored in a SQL database the information between client and server is transferred in the iCalendar format.

Exchange ActiveSync is a proprietary protocol by Microsoft, designed for the synchronization of email, contacts, calendar, tasks, and notes from a messaging server to a smartphone or other mobile devices. The protocol also provides mobile device management and policy controls. The protocol is based on XML. The mobile device communicates over HTTP or HTTPS.

sabre/dav is an open-source WebDAV server, developed by fruux and built in PHP. It is an implementation of the WebDAV protocol, providing a native PHP server implementation which operates on Apache 2 and Nginx web servers.

ownCloud Free software for cloud computing

ownCloud, a Kiteworks Company, is a free and open-source software project for content collaboration and sharing and syncing of files in distributed and federated enterprise scenarios. It allows companies and remote end-users to organize their documents on servers, computers, and mobile devices and work with them collaboratively while keeping a centrally organized and synchronized state.

<span class="mw-page-title-main">Shadowsocks</span> Free and open-source encrypted proxy project

Shadowsocks is a free and open-source encryption protocol project, widely used in China to circumvent Internet censorship. It was created in 2012 by a Chinese programmer named "clowwindy", and multiple implementations of the protocol have been made available since. Shadowsocks is not a proxy on its own, but (typically) is the client software to help connect to a third-party SOCKS5 proxy. Once connected, internet traffic can then be directed through the proxy. Unlike an SSH tunnel, Shadowsocks can also proxy User Datagram Protocol (UDP) traffic.

<span class="mw-page-title-main">Mailfence</span> Encrypted email service

Mailfence is an encrypted email service with a focus on security and privacy that offers OpenPGP based end-to-end encryption and digital signatures for usage in emails. It was launched in November 2013 by Belgium-based company ContactOffice Group, which has been operating an online collaboration suite since 1999.

<span class="mw-page-title-main">Xabber</span> Open source instant messaging software

Xabber is a XMPP client for the Android Operating System. It is developed as an open source Project on GitHub and is licensed under the GNU GPL v.3 license. The original developers are from a software company called Redsolution, Inc. Xabber is available on the Android Play Store and on F-Droid.

The JSON Meta Application Protocol (JMAP) is a set of related open Internet Standard protocols for handling email. JMAP is implemented using JSON APIs over HTTP and has been developed as an alternative to IMAP/SMTP and proprietary email APIs such as Google's Gmail and Microsoft's MAPI . Additional protocols and data models being built on top of the core of JMAP for handling contacts and calendar synchronization are meant to be potential replacements for CardDAV and CalDAV, and other support is currently in the works.

References

  1. AgenDAV project home
  2. "Cadaver home". Archived from the original on 2015-03-12. Retrieved 2015-03-11.
  3. "Main Page - ACal Wiki". Wiki.acal.me. 2013-04-01. Archived from the original on 2015-12-24. Retrieved 2015-12-23.
  4. "gggard/AndroidCaldavSyncAdapater ¡ GitHub". Github.com. Retrieved 2015-12-23.
  5. CalDavZAP
  6. CardDavMATE
  7. InfCloud (integrated version of CalDavZAP and CardDavMATE)
  8. Chandler Project Archived August 30, 2007, at the Wayback Machine
  9. DAVx⁵ website
  10. Tasks.org website
  11. jqCalDAV project home
  12. KCardDAV project home
  13. Lightning - Project Home
  14. CardBook source
  15. MineTime features
  16. Mulberry client configuration
  17. Outlook CalDav Synchronizer website
  18. pyCardDAV project home
  19. The Bat! - Features
  20. SOGo Overview
  21. ReminderFox project home
  22. "Baïkal" . Retrieved 2021-03-10.
  23. Baïkal iCal export
  24. Bedework overview
  25. "Calendar and Contacts Server guiding standards". Archived from the original on 2012-01-01. Retrieved 2012-03-11.
  26. Calypso
  27. Cyrus IMAP Features
  28. DAViCal RFC Compliance
  29. DAViCal ChangeLog
  30. DavMail project home
  31. Fennel on GitHub
  32. Group-Office website
  33. Nextcloud home
  34. ownCloud home
  35. "A Simple Calendar and Contact Server" . Retrieved 2015-11-20.
  36. SabreDAV Supported RFC's
  37. SOGo Overview
  38. 0003283: (read-only) Addressbook reports DAV:all privilege
  39. 0004822: Calender advertises wrong ACL for shared address books
  40. 0001310: CaldDAV calendar-query returns events out of specified range
  41. 0003161: Blackbery 10 can't edit event that was posted by KOrganizer (CalDAV)
  42. 0001204: update the icalendar handling to rfc 5545
  43. 0004747: SOGo creates invalid GEO value on import
  44. 0003608: Cannot save/display multiple calendar alerts for one calendar event.
  45. 0002574: No colors selectable if ressource ID contains space character
  46. 0005163: no carddav RFC 6578 compliance
  47. "Git-Backed CalDAV/CardDAV server" . Retrieved 2022-06-06. Xandikos
  48. "Zentyal Community Edition official Site". Archived from the original on 2012-09-18. Retrieved 2014-11-28.
  49. "Meishi, A lightweight CardDAV server built on Rails 3; GitHub repository". GitHub . Archived from the original on 2018-06-11. Retrieved 2020-10-14.