Comparison of CalDAV and CardDAV implementations: Difference between revisions

Content deleted Content added
Rescuing 3 sources and tagging 0 as dead. #IABot (v2.0beta15)
Bender the Bot (talk | contribs)
 
(47 intermediate revisions by 28 users not shown)
Line 1:
{{short description|Comparison of computer protocols}}
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==
{{sort-under}}
{| class="wikitable sortable" style="font-size: 85%; text-align: center; width: 100%;"
{| class="wikitable sortable sort-under" style="font-size: 85%; text-align: center; width: 100%;"
|-
! Client name
Line 23 ⟶ 25:
! handles home-sets
|-
! {{rh}} | AgenDAV<ref>[httphttps://agendavgithub.orgcom/agendav/agendav AgenDAV project home]</ref>
| [[Cross-platform]] [[JavaScript]] [[Web browser]]
| {{GPL-lic}}
Line 34 ⟶ 36:
| {{no}} Does not arrange meetings with participants
| {{n/a}}
| out{{D-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’sAgenDAV's configuration file
| {{yes}}
|-
! {{rh}} | Cadaver<ref>{{Cite web |url=http://www.webdav.org/cadaver/ |title=Cadaver home |access-date=2015-03-11 |archive-url=https://web.archive.org/web/20150312225036/http://www.webdav.org/cadaver/ |archive-date=2015-03-12 |dead-url-status=yesdead }}</ref>
| [[Command-line interface|Command-line]]
| {{GPL-lic}}
Line 61 ⟶ 63:
| {{unk}}
|-
! {{rh}} | aCal<ref>{{cite web |url=http://wiki.acal.me/wiki/Main_Page |title=Main Page - ACal Wiki |publisher=Wiki.acal.me |date=2013-04-01 |accessdate=2015-12-23 |archive-url=https://web.archive.org/web/20151224104635/http://wiki.acal.me/wiki/Main_Page |archive-date=2015-12-24 |url-status=dead }}</ref>
| [[Android (operating system)|Android]]
| {{GPL-lic}}
Line 91 ⟶ 93:
| {{unk}}
| {{n/a}}
| out{{D-Out}} of scope
| Android
| {{yes|[[Google Play]]}}
| {{unk}}
| {{noD-Out}} Out of scope
| {{unk}}
| {{unk}}
Line 110 ⟶ 112:
| {{no}} Does not arrange meetings with participants
| {{n/a}}
| out{{D-Out}} of scope
| CalDavZAP
| {{no}}
Line 123 ⟶ 125:
| {{no}}
| {{no}}
| out{{D-Out}} of scope
| out{{D-Out}} of scope
| out{{D-Out}} of scope
| out{{D-Out}} of scope
| out{{D-Out}} of scope
| {{yes}} vCard 3.0 only
| {{no}}
Line 133 ⟶ 135:
| {{no}}
| {{no}} The used server is fixed in the configuration file
| {{noD-Out}} Out of scope
| {{no}} The used server is fixed in the configuration file
| {{yes}}
Line 182 ⟶ 184:
| {{yes}}
| {{yes}}
| {{yes}}
| out of scope
| out{{D-Out}} of scope
| {{No}} (except attendees/invitations)
| {{yes}}
| {{no}} ([https://wwwmanual.davx5.com/manual/technical_information.html#synchronization server always wins])
| Android, OpenTasks
| {{yes|[[Google Play]], OpenTasks}}
| {{yes}}
| out{{D-Out}} of scope
| {{yes}}
| {{yes}}
|-
! {{rh}} | Tasks.org<ref>[https://tasks.org/ Tasks.org website]</ref>
| [[Android (operating system)|Android]]
| {{GPL-lic}}
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| Android
| {{yes|[[Google Play]]}}
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
|-
Line 239 ⟶ 260:
| {{yes}}
| {{yes}}
| {{unkyes}}
| {{unk}}
| {{unk}}
| {{yes}}
| {{unk}}
| KOrganizer KAddressbook
| {{yes|KOrganizer KAddressbook}}
| {{unk}}
| {{unk}}
Line 262 ⟶ 283:
| {{unk}}
| {{n/a}}
| {{D-Out}} of scope
| Lightning
| {{yes|Lightning}}
Line 275 ⟶ 296:
| {{no}}
| {{no}}
| {{D-Out}} of scope
| {{D-Out}} of scope
| {{D-Out}} of scope
| {{D-Out}} of scope
| {{D-Out}} of scope
| {{yes}} [[VCard#vCard_3vCard 3.0|vCard 3.0]] and [[VCard#vCard_4vCard 4.0|vCard 4.0]]
| {{yes}}
| CardBook
| [https://addons.thunderbird.net/thunderbird/addon/cardbook/ Mozilla Add-ons (ATN)]
| {{yes}}
| {{D-Out}} of scope
| {{no}}
| {{partial}}
|-
! {{rh}} | MineTime<ref>[https://minetime.ai MineTime features]</ref>
Line 444 ⟶ 465:
There are more clients, mentioned for completeness:
* For the command line: [https://github.com/pimutils/vdirsyncer Vdirsyncer] (for WebDAV) + [https://github.com/pimutils/khal Khal] (for calendaring) or + [https://github.com/scheibler/khard Khard] (for contacts)
* Apple’sApple's [https://support.apple.com/downloads/ical iCal] and [https://support.apple.com/guide/calendar/welcome/mac Calendar]
* For Windows and Mac [https://www.emclient.com/ emeM Client]
* Windows built in-support ([https://www.ctrl.blog/entry/how-to-win10-webdav-syncengine kind of])
* For the Web: [https://www.horde.org/apps/kronolith Kronolith]
Line 451 ⟶ 472:
 
==Server implementations==
{{sort-under}}
{| class="wikitable sortable" style="font-size: 85%; text-align: center; width: 100%;"
{| class="wikitable sortable sort-under" style="font-size: 85%; text-align: center; width: 100%;"
|-
|- style="vertical-align:top"
! Server name
! [[Software license|License]]
! [[Programming language]]
! Storage backends
! RFC 2616 HTTP/1.1
! {{IETF RFC|2616}} HTTP/1.1
! RFC 2617 HTTP {{abbr|auth.|authentication}}
! {{IETF RFC|2617}} HTTP {{abbr|auth.|authentication}}
! RFC 2518 Web&shy;DAV
! {{IETF RFC 3253|2518}} Web&shy;DAV {{abbr|vers.|versioning}}
! RFC{{IETF 3744RFC|3253}} Web&shy;DAV ACL{{abbr|vers.|versioning}}
! {{IETF RFC|3744}} Web&shy;DAV ACL
! RFC 4324 iCal {{abbr|CAP|Calendar Access Protocol}}
! {{IETF RFC|4324}} iCal {{abbr|CAP|Calendar Access Protocol}}
! RFC 4331 Web&shy;DAV quota
! RFC{{IETF 4709RFC|4331}} Web&shy;DAV mountquota
! {{IETF RFC|4709}} 4791 CalWeb&shy;DAV mount
! {{IETF RFC|4791}} 4918 WebCal&shy;DAV {{abbr|ext.|extensions}}
! {{IETF RFC 5397|4918}} Web&shy;DAV current principal{{abbr|ext.|extensions}}
! {{IETF RFC|5397}} Web&shy;DAV current principal
! RFC 5545 {{abbr|rev.|revised}} iCal
! {{IETF RFC|5545}} {{abbr|rev.|revised}} iCal
(Availability Check)
! RFC{{IETF RFC|5546}} iCal {{abbr|iTIP|transport-independent interoperability protocol}}(Group Scheduling)
! RFC{{IETF RFC|5689}} Web&shy;DAV {{abbr|ext.|extended}} MKCOL
! RFC{{IETF RFC|5995}} Web&shy;DAV POST add member
! RFC{{IETF RFC|6352}} Card&shy;DAV vCard
! RFC{{IETF RFC|6578}} Web&shy;DAV {{abbr|sync|synchronise}}
! RFC{{IETF RFC|6638}} Cal&shy;DAV {{abbr|sched.|scheduling}}(Auto-Schedule)
! RFC{{IETF RFC|7529}} iCal <!-- abbreviation? -->{{abbr|RSCALE|non-Gregorian calendar}}
! RFC{{IETF RFC|7540}} HTTP/2
! RFC{{IETF RFC|7809}} Cal&shy;DAV time zones by {{abbr|ref.|reference}}
! RFC{{IETF RFC|7953}} iCal <!-- abbreviation? -->{{abbr|VAVAIL&shy;ABILITY|personal availability}}
! [http://www.calconnect.org/pubdocs/CD0903%20Freebusy%20Read%20URL.pdf <span title="FBURL">Free-busy URL</span>]
|-
! {{rh}} | Baïkal<ref>{{cite web |url=httphttps://baikal-serversabre.comio/baikal/ |title=CalDAV + CardDAV lightweight server: Baïkal |accessdate=20152021-1103-20 |archive-url=https://web.archive.org/web/20151114054905/http://baikal-server.com/ |archive-date=2015-11-14 |dead-url=yes10 }}</ref><ref>[http://tech.tiq.cc/2013/10/how-to-set-up-the-baikal-carddav-and-caldav-server-with-nginx-on-debian/ Baïkal iCal export]</ref>
| {{GPL-lic}}
| [[PHP]]
| MySQL, PostgreSQL, SQLite
| {{yes}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{yes}}
| {{yes}}
Line 490 ⟶ 514:
| {{Some}}
| {{no}}
| {{unkno}}
| {{no}}
| {{yes}}
Line 496 ⟶ 520:
| {{yes}}
| {{yes}}
| {{unk}}
| {{yes}}
| {{unkyes}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
| {{unkyes}}
| {{unk}}
| {{unk}}
| {{unk}}
|-
! {{rh}} | Bedework<ref>[https://www.apereo.org/projects/bedework Bedework overview]</ref>
| {{free|[[Apache License|Apache]]}}
| [[Java (programming language)|Java]]
| {{unk}}
| {{unk}}
| {{unk}}
Line 535 ⟶ 560:
| {{unk}}
|-
! {{rh}} | [[Calendar and Contacts Server]]<ref>{{Cite web |url=http://trac.calendarserver.org/wiki/docs-trunk |title=Calendar and Contacts Server guiding standards |access-date=2012-03-11 |archive-url=https://web.archive.org/web/20120101122938/http://trac.calendarserver.org/wiki/docs-trunk |archive-date=2012-01-01 |dead-url-status=yesdead }}</ref>
| {{free|[[Apache License|Apache]]}}
| [[Python (programming language)|Python]]
| {{unk}}
| {{yes}}
| {{yes}}
Line 565 ⟶ 591:
| {{GPL-lic}}
| [[Python (programming language)|Python]]
| {{unk}}
| {{yes}}
| {{yes}}
Line 580 ⟶ 607:
| {{unk}}
| {{unk}}
| {{unkyes}}
| {{unk}}
| {{unk}}
Line 589 ⟶ 616:
| {{unk}}
|-
! {{rh}} | [[Cyrus IMAP]]<ref>[httphttps://www.cyrusimap.org/imap/concepts/features.html Cyrus IMAP project homeFeatures]</ref>
| {{free|[[BSD licenses|BSD]]}}
| [[C (programming language)|C]]
| {{unk}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{Some}}
| {{yes}}
| {{no}}
Line 616 ⟶ 644:
| {{yes}}
|-
! {{rh}} | [[DAViCal]]<ref>[http://wiki.davical.org/w/RFC_Compliance DAViCal RFC Compliance]</ref><ref>[https://gitlab.com/davical-project/davical/-/blob/master/ChangeLog DAViCal ChangeLog]</ref>
| {{GPL-lic}}
| [[PHP]]
| PostgreSQL
| {{yes}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{yes}}
| {{yes}}
Line 638 ⟶ 667:
| {{yes}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{yes}}
| {{yes}}
|-
! {{rh}} | DavMail<ref>[httphttps://davmail.sourceforge.net/ DavMail project home]</ref>
| {{GPL-lic}}
| [[Java (programming language)|Java]]
| {{unk}}
| {{unk}}
| {{unk}}
Line 673 ⟶ 703:
| {{free|[[GNU GPLv3]]}}
| [[JavaScript]]
| SQLite
| {{unk}}
| {{unk}}
Line 698 ⟶ 729:
|-
! {{rh}} | [[Group-Office]]<ref>[https://www.group-office.com Group-Office website]</ref>
| {{some|[[GNU Affero General Public License|AGPL]], [[proprietary software|proprietary]]}}
| [[PHP]]
| {{yesunk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{yes}}
| {{yes}}
Line 719 ⟶ 751:
| {{unk}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{unk}}
|-
! {{rh}} | [[Horde Groupware]]
| {{free|[[GNU LGPL]]}}
!OSS
!| [[PHP]]
| {{yesunk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{yes}}
| {{yes}}
Line 746 ⟶ 779:
| {{no}}
| {{no}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{no}}
| {{no}}
| {{no}}
Line 752 ⟶ 785:
|-
! {{rh}} | [[Nextcloud]]<ref>[https://nextcloud.com/ Nextcloud home]</ref>
| {{free|[[GNU Affero General Public License|AGPL]] v3}}
| [[PHP]]
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
Line 773 ⟶ 807:
| {{unk}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{unk}}
|-
 
! {{rh}} | [[Open Xchange]]
| {{GPL-lic}}, [[Creative Commons|CC]]
| [[Java (programming language)|Java]], [[JavaScript]]
| {{unk}}
| {{unk}}
| {{unk}}
Line 807 ⟶ 841:
|-
! {{rh}} | [[ownCloud]]<ref>[http://owncloud.org/ ownCloud home]</ref>
| {{free|[[GNU Affero General Public License|AGPL]] v3}}
| [[PHP]]
| {{unk}}MySQL
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
Line 828 ⟶ 863:
| {{unk}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
| {{unk}}
Line 836 ⟶ 871:
| {{GPL-lic}}
| [[Python (programming language)|Python]]
| Filesystem
| {{yes}}
| {{yes}}
Line 842 ⟶ 878:
| {{Some}}
| {{no}}
| {{unkNo}}
| {{no}}
| {{Some}}
Line 850 ⟶ 886:
| {{Some}}
| {{no}}
| {{unkNo}}
| {{Some}}
| {{unkYes}}
| {{no}}
| {{unkNo}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unkNo}}
| {{unkNo}}
| {{unkNo}}
|-
! {{rh}} | [[SabreDAV]]<ref>[http://sabre.io/dav/standards-support/ SabreDAV Supported RFC's]</ref>
| {{free|[[BSD licenses|BSD]]}}
| [[PHP]]
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{yes}}
| {{yes}}
Line 869 ⟶ 907:
| {{yes}}
| {{yes}}
| {{unk}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{yes}}
| {{unk}}
|-
! {{rh}} | [[SOGo]]<ref>[https://sogo.nu/about.html SOGo Overview]</ref>
| {{GPL-lic}}
| [[Objective-C]]
| MySQL, PostgreSQL, Oracle
| {{yes}}
| {{yes}}
| {{unk}}
| {{unk}}
| {{some}}<ref>[https://sogo.nu/bugs/view.php?id=3283 0003283: (read-only) Addressbook reports DAV:all privilege]</ref><ref>[https://sogo.nu/bugs/view.php?id=4822 0004822: Calender advertises wrong ACL for shared address books]</ref>
| {{unk}}
| {{unk}}
| {{unk}}
| {{some}}<ref>[https://sogo.nu/bugs/view.php?id=1310 0001310: CaldDAV calendar-query returns events out of specified range]</ref><ref>[https://sogo.nu/bugs/view.php?id=3161 0003161: Blackbery 10 can't edit event that was posted by KOrganizer (CalDAV)]</ref>
| {{unk}}
| {{unk}}
| {{some}}<ref>[https://sogo.nu/bugs/view.php?id=1204 0001204: update the icalendar handling to rfc 5545]</ref><ref>[https://sogo.nu/bugs/view.php?id=4747 0004747: SOGo creates invalid GEO value on import]</ref><ref>[https://sogo.nu/bugs/view.php?id=3608 0003608: Cannot save/display multiple calendar alerts for one calendar event.]</ref><ref>[https://sogo.nu/bugs/view.php?id=2574 0002574: No colors selectable if ressource ID contains space character]</ref>
| {{unk}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{some}}<ref>[https://sogo.nu/bugs/view.php?id=5163 0005163: no carddav RFC 6578 compliance]</ref>
| {{unk}}
| {{unk}}
| {{unk}}
Line 887 ⟶ 952:
| {{unk}}
|-
! {{rh}} | [https://www.xandikos.org/ Xandikos]<ref>[https{{cite web |url=http://jelmerxandikos.ukorg/code |title=Git-Backed CalDAV/CardDAV server |accessdate=2022-06-06}}[https://www.xandikos.org/ Xandikos]</ref>
| {{GPL-lic}}
| [[Python (programming language)|Python]]
| Filesystem
| {{yes}}
| {{yes}}
Line 915 ⟶ 981:
|-
! {{rh}} | [[Zarafa (software)|Zarafa]]
| {{some|[[GNU Affero General Public License|AGPL]], [[proprietary software|proprietary]]}}
| [[PHP]]
| {{unk}}MySQL
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
Line 936 ⟶ 1,003:
| {{unk}}
| {{unk}}
| {{yes}} {{r|group=Note|PHP_HTTP}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{unk}}
|-
! {{rh}} | [[Zentyal]]<ref>[{{Cite web |url=http://www.zentyal.org/ |title=Zentyal Community Edition official Site] |access-date=2014-11-28 |archive-url=https://web.archive.org/web/20120918122408/http://www.zentyal.org/ |archive-date=2012-09-18 |url-status=dead }}</ref>
| {{GPL-lic}}
| [[Perl]]
| {{unk}}
| {{unk}}
| {{unk}}
Line 966 ⟶ 1,034:
| {{unk}}
| {{unk}}
| {{unk}}
|-
! {{rh}} | Meishi<ref>{{Cite web |url=https://github.com/inferiorhumanorgans/meishi |title=Meishi, A lightweight CardDAV server built on Rails 3; GitHub repository |website=[[GitHub]] |access-date=2020-10-14 |archive-url=https://web.archive.org/web/20180611032700/https://github.com/inferiorhumanorgans/meishi |archive-date=2018-06-11 |url-status=live }}</ref>
| {{BSD-lic}}
| [[Ruby (programming language)|Ruby]]
| {{unk}}
| {{yes}}
| {{yes}}<sub>'basic'</sub>
| {{some}}<sub>yes</sub>
| {{some}}<sub>no</sub>
| {{yes}}<sub>much of</sub>
| {{no}}
| {{unk}}
| {{no}}
| {{no}}
| {{unk}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{unk}}
| {{some}}
| {{unk}}
| {{no}}
| {{no}}
| {{unk}}
| {{no}}
| {{no}}
| {{unk}}
|-
Line 971 ⟶ 1,067:
| {{GPL-lic}}
| [[Java (programming language)|Java]]
| {{unk}}
| {{yes}}
| {{yes}}
Line 995 ⟶ 1,092:
| {{unk}}
|}
{{reflist|group=Note|refs=
<ref name=PHP_HTTP>PHP-based servers rely on the underlying [[web server]] [[computing platform|platform]] for the implementation of [[Hypertext Transfer Protocol|HTTP]].</ref>
}}
 
The table is missing [[Kopano_Kopano (software)|Kopano]], [http://www.kerio.com/products/kerio-connect Kerio Connect] and [[Scalix]], which are mentioned here for completeness.
 
==See also==
Line 1,008 ⟶ 1,108:
[[Category:Hypertext Transfer Protocol]]
[[Category:Servers (computing)]]
[[Category:Network software comparisons]]