Libical — an implementation of iCalendar protocols and data formats
Most of the code in here was written by Eric Busboom at the end of the last millennium with help from dozens of contributors. It is currently maintained by Allen Winter and the libical team at https://github.com/libical/libical.
Libical is an Open Source implementation of the iCalendar protocols and protocol data units. The iCalendar specification describes how calendar clients can communicate with calendar servers so users can store their calendar data and arrange meetings with other users.
Libical implements RFC5545, RFC5546, RFC7529; the CalDav scheduling extensions in RFC6638; iCalendar extensions in RFC7986; plus the iCalendar iMIP protocol in RFC6047.
The libical-glib API is currently unstable and can change with any release. Until it is considered stable, there should be defined LIBICAL_GLIB_UNSTABLE_API=1 before including <libical-glib/libical-glib.h>, to indicate that the library user is aware of it and is prepared to change the calls anytime.
The code and datafiles in this distribution are licensed under the Mozilla Public License (MPL) v2.0. See https://www.mozilla.org/MPL for a copy of this license.
Alternately, you may use libical under the terms of the GNU Lesser General Public License (LGPL) v2.1. See https://www.gnu.org/licenses/lgpl-2.1.txt for a copy of this license.
This dual license ensures that the library can be incorporated into both proprietary code and GPL'd programs, and will benefit from improvements made by programmers in both realms. I will only accept changes into my version of the library if they are similarly dual-licensed.
See the top-level Install.txt file.
There is rudimentary, unfinished documentation in the doc/
directory,
see UsingLibical.md
and annotated examples in examples/
and the test code in src/test/
.
Additionally, progress is underway to add API documentation, which is available here
Portions of this distribution are (C) Copyright 1996 Apple Computer, Inc., AT&T Corp., International Business Machines Corporation and Siemens Rolm Communications Inc. See src/libicalvcal/README.TXT for details.
In no particular order:
-
GNOME's EDS (evolution-data-server) which serves data to:
- Evolution
- GNOME Calendar
- GNOME Notes
- GNOME Todo
- and more GNOME apps...
-
KDE's Kontact Suite
- Akonadi framework
- KOrganizer calendar and scheduling component
- and more KDE apps...
Subscribe to our mailing lists:
For developer discussions https://lists.infradead.org/mailman/listinfo/libical-devel
For general discussions about libical and related projects https://lists.infradead.org/mailman/listinfo/libical-interest
Report bugs to our issue tracker at https://github.com/libical/libical/issues