Comparison of CalDAV and CardDAV implementations
Appearance
A comparison of CalDAV and CardDAV implementations offers two overviews of client and server computer software implementations of the CalDAV and CardDAV protocols.
Client implementations
[edit]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 limited | No | Yes | — | Unknown | No | No Does not arrange meetings with participants | — | out of scope | AgenDAV's fullcalendar.io | No | No The used server is fixed in the configuration file | No Does not arrange meetings with participants | No the caldav-server settings need to be fixed in AgenDAV's configuration file | Yes |
Cadaver[2] | Command-line | GNU GPL | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
aCal[3] | Android | GNU GPL | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | — | Unknown | aCal | aCal | Unknown | Unknown | Unknown | Unknown |
AndroidCaldavSyncAdapater[4] | Android | GNU GPL | Unknown | Unknown | Yes | — | Unknown | Unknown | Unknown | — | out of scope | Android | Google Play | Unknown | No Out of scope | Unknown | Unknown |
CalDavZAP[5] | Cross-platform JavaScript Web browser | AGPL | No | No | Yes | Yes | Unknown | No | No Does not arrange meetings with participants | — | out of scope | CalDavZAP | No | No The used server is fixed in the configuration file | No Does not arrange meetings with participants | No The used server is fixed in the configuration file | Yes |
CardDavMATE[6] | Cross-platform JavaScript Web browser | AGPL | No | No | out of scope | out of scope | out of scope | out of scope | out of scope | Yes vCard 3.0 only | No | CardDavMATE | No | No The used server is fixed in the configuration file | No Out of scope | No The used server is fixed in the configuration file | Yes |
InfCloud (CalDavZAP+CardDavMATE)[7] | Cross-platform JavaScript Web browser | AGPL | No | No | Yes | Yes | Unknown | No | No Does not arrange meetings with participants | Yes vCard 3.0 only | No | InfCloud | No | No The used server is fixed in the configuration file | No Does not arrange meetings with participants | No The used server is fixed in the configuration file | Yes |
Chandler Desktop[8] | Cross-platform Python | Apache | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | No | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
DAVx⁵[9] | Android | GNU GPL | No | No | Yes | Yes | Yes | out of scope | No (except attendees/invitations) | Yes | No (server always wins) | Android, OpenTasks | Google Play, OpenTasks | Yes | out of scope | Yes | Yes |
Tasks.org[10] | Android | GNU GPL | No | No | No | Yes | No | No | No | No | No | Android | Google Play | Yes | No | No | Yes |
jqCalDAV[11] | Cross-platform JavaScript Web browser | MIT | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | — | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
KCardDAV[12] (discontinued) | Cross-platform Kontact add-on | GNU GPL | Unknown | Unknown | — | — | — | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
KOrganizer, KAddressBook, Kontact | Unix-KDE | GNU GPL | Unknown | Unknown | Yes | Yes | Yes | Unknown | Unknown | Yes | Unknown | KOrganizer KAddressbook | KOrganizer KAddressbook | Unknown | Unknown | Unknown | Unknown |
Lightning[13] | Cross-platform Thunderbird Add-on | MPL, GPL, LGPL | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | — | Out of scope | Lightning | Lightning | Unknown | Unknown | Unknown | Unknown probably not |
CardBook[14] | Cross-platform Thunderbird Add-on | MPL | No | No | Out of scope | Out of scope | Out of scope | Out of scope | Out of scope | Yes vCard 3.0 and vCard 4.0 | Yes | CardBook | Mozilla Add-ons (ATN) | Yes | Out of scope | No | partial |
MineTime[15] | Cross-platform | Proprietary | No | No | Yes | No | No | No | No | No | No | No | MineTime | minetime.ai | No | No | No |
Mulberry[16] | Cross-platform | Apache | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Outlook CalDav Synchronizer[17] | Windows | AGPL | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | Yes | Unknown | Outlook | Unknown | Yes | Unknown | Yes | Yes |
pyCardDAV[18] | Cross-platform Python | MIT | Unknown | Unknown | — | — | — | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
The Bat![19] | Windows | Proprietary | Unknown | Unknown | No | No | No | Unknown | Unknown | Yes | Unknown | The Bat! | The Bat!'s address book | Unknown | Unknown | Unknown | Unknown |
Inverse SOGo Connector-Integrator[20] | Cross-platform Thunderbird Add-on | MPL, GPL, LGPL | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Unknown | Yes | Unknown | Mozilla | Mozilla Add-ons | Unknown | Unknown | Unknown | Unknown |
Evolution | Cross-platform | GNU GPL | No | No | Yes | Yes | Yes | No | No | Yes vCard 3.0 only | Unknown | Evolution | Evolution | Yes | Yes if the URL does not require authentication | Yes | Yes |
ReminderFox[21] | Cross-platform Firefox | MPL 1.1 | Unknown | Unknown | Yes | Yes | Unknown | Unknown | No | — | Unknown | ReminderFox | Yes | Unknown | Unknown | Unknown | Unknown |
There are more clients, mentioned for completeness:
- For the command line: Vdirsyncer (for WebDAV) + Khal (for calendaring) or + Khard (for contacts)
- Apple's iCal and Calendar
- For Windows and Mac eM Client
- Windows built in-support (kind of)
- For the Web: Kronolith
- For Android: CalDAV Sync, CardDAV Sync, iCal Import/Export CalDAV
Server implementations
[edit]Server name | License | Programming language | RFC 2616 HTTP/1.1 | RFC 2617 HTTP auth. | RFC 2518 WebDAV | RFC 3253 WebDAV vers. | RFC 3744 WebDAV ACL | RFC 4324 iCal CAP | RFC 4331 WebDAV quota | RFC 4709 WebDAV mount | RFC 4791 CalDAV | RFC 4918 WebDAV ext. | RFC 5397 WebDAV current principal | RFC 5545 rev. iCal
(Availability Check) |
RFC 5546 iCal iTIP(Group Scheduling) | RFC 5689 WebDAV ext. MKCOL | RFC 5995 WebDAV POST add member | RFC 6352 CardDAV vCard | RFC 6578 WebDAV sync | RFC 6638 CalDAV sched.(Auto-Schedule) | RFC 7529 iCal RSCALE | RFC 7540 HTTP/2 | RFC 7809 CalDAV time zones by ref. | RFC 7953 iCal VAVAILABILITY | Free-busy URL |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Baïkal[22][23] | GNU GPL | PHP | Yes [Note 1] | Yes | Yes | No | Some | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Unknown | Yes [Note 1] | Unknown | Unknown | Yes |
Bedework[24] | Apache | Java | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | Unknown | Unknown | Unknown | Unknown | Unknown |
Calendar and Contacts Server[25] | Apache | Python | Yes | Yes | Yes | Yes | Yes | No | Unknown | No | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Unknown | Unknown | Unknown | Unknown | Unknown |
Calypso[26] | GNU GPL | Python | Yes | Yes | Yes | No | Unknown | No | Unknown | No | Yes | Yes | No | Yes | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Cyrus IMAP[27] | BSD | C | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
DAViCal[28][29] | GNU GPL | PHP | Yes [Note 1] | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes [Note 1] | Unknown | Yes | Yes |
DavMail[30] | GNU GPL | Java | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Fennel[31] | GNU GPLv3 | JavaScript | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Group-Office[32] | AGPL, proprietary | PHP | Yes [Note 1] | Yes | Yes | Unknown | Some | Unknown | Unknown | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Unknown | Yes [Note 1] | Unknown | Unknown | Unknown |
Horde Groupware | GNU LGPL | PHP | Yes [Note 1] | Yes | Yes | No | Some | No | No | Unknown | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | Yes [Note 1] | No | No | No |
Nextcloud[33] | AGPL v3 | PHP | Yes [Note 1] | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Yes [Note 1] | Unknown | Unknown | Unknown |
Open Xchange | GNU GPL, CC | Java, JavaScript | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
ownCloud[34] | AGPL v3 | PHP | Yes [Note 1] | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Unknown | Unknown | Unknown | Yes [Note 1] | Unknown | Unknown | Unknown |
Radicale[35] | GNU GPL | Python | Yes | Yes | Some | No | Some | No | Unknown | No | Some | Some | Some | No | Some | No | Unknown | Some | Unknown | No | Unknown | Unknown | Unknown | Unknown | Unknown |
SabreDAV[36] | BSD | PHP | Yes [Note 1] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Unknown | Yes [Note 1] | Unknown | Yes | Unknown |
SOGo[37] | GNU GPL | Objective-C | Yes | Yes | Unknown | Unknown | Some[38][39] | Unknown | Unknown | Unknown | Some[40][41] | Unknown | Unknown | Some[42][43][44][45] | Unknown | Unknown | Unknown | Unknown | Some[46] | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Xandikos[47] | GNU GPL | Python | Yes | Yes | Yes | Some | Some | No | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Unknown | Yes | No | No | Unknown |
Zarafa | AGPL, proprietary | PHP | Yes [Note 1] | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Read only | Unknown | Unknown | Unknown | Yes [Note 1] | Unknown | Unknown | Unknown |
Zentyal[48] | GNU GPL | Perl | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Meishi[49] | BSD | Ruby | Yes | Yes'basic' | Someyes | Someno | Yesmuch of | No | Unknown | No | No | Unknown | Yes | No | No | No | Unknown | Some | Unknown | No | No | Unknown | No | No | Unknown |
Zimbra | GNU GPL | Java | Yes | Yes | Yes | Yes | Yes | No | Unknown | No | Yes | Unknown | Yes | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Unknown | Unknown | Unknown |
The table is missing Kopano, Kerio Connect and Scalix, which are mentioned here for completeness.
See also
[edit]References
[edit]- ^ AgenDAV project home
- ^ "Cadaver home". Archived from the original on 2015-03-12. Retrieved 2015-03-11.
- ^ "Main Page - ACal Wiki". Wiki.acal.me. 2013-04-01. Archived from the original on 2015-12-24. Retrieved 2015-12-23.
- ^ "gggard/AndroidCaldavSyncAdapater ¡ GitHub". Github.com. Retrieved 2015-12-23.
- ^ CalDavZAP
- ^ CardDavMATE
- ^ InfCloud (integrated version of CalDavZAP and CardDavMATE)
- ^ Chandler Project Archived August 30, 2007, at the Wayback Machine
- ^ DAVx⁵ website
- ^ Tasks.org website
- ^ jqCalDAV project home
- ^ KCardDAV project home
- ^ Lightning - Project Home
- ^ CardBook source
- ^ MineTime features
- ^ Mulberry client configuration
- ^ Outlook CalDav Synchronizer website
- ^ pyCardDAV project home
- ^ The Bat! - Features
- ^ SOGo Overview
- ^ ReminderFox project home
- ^ "Baïkal". Retrieved 2021-03-10.
- ^ Baïkal iCal export
- ^ Bedework overview
- ^ "Calendar and Contacts Server guiding standards". Archived from the original on 2012-01-01. Retrieved 2012-03-11.
- ^ Calypso
- ^ Cyrus IMAP Features
- ^ DAViCal RFC Compliance
- ^ DAViCal ChangeLog
- ^ DavMail project home
- ^ Fennel on GitHub
- ^ Group-Office website
- ^ Nextcloud home
- ^ ownCloud home
- ^ "A Simple Calendar and Contact Server". Retrieved 2015-11-20.
- ^ SabreDAV Supported RFC's
- ^ SOGo Overview
- ^ 0003283: (read-only) Addressbook reports DAV:all privilege
- ^ 0004822: Calender advertises wrong ACL for shared address books
- ^ 0001310: CaldDAV calendar-query returns events out of specified range
- ^ 0003161: Blackbery 10 can't edit event that was posted by KOrganizer (CalDAV)
- ^ 0001204: update the icalendar handling to rfc 5545
- ^ 0004747: SOGo creates invalid GEO value on import
- ^ 0003608: Cannot save/display multiple calendar alerts for one calendar event.
- ^ 0002574: No colors selectable if ressource ID contains space character
- ^ 0005163: no carddav RFC 6578 compliance
- ^ "Git-Backed CalDAV/CardDAV server". Retrieved 2022-06-06.Xandikos
- ^ "Zentyal Community Edition official Site". Archived from the original on 2012-09-18. Retrieved 2014-11-28.
- ^ "Meishi, A lightweight CardDAV server built on Rails 3; GitHub repository". GitHub. Archived from the original on 2018-06-11. Retrieved 2020-10-14.