Scheduling and Calendars

This listing mostly covers scheduling programs for the server end. (Note: I deliberately eschew the revolting neologism "calendaring", that is often used for this application category.)

Standards Overview:

2008 update: Short version of the following exposition is that the world is converging onto CalDAV, having already converged onto iCAL.

There is not yet a fully agreed-upon standard for either scheduling-data transport or scheduling-data storage. One candidate for a dedicated scheduling transport has been IETF's CAP protocol, but that spec unfortunately has been stuck in draft since 1998, and is likely a lost cause. Existing specs are:

Note that the calendar "store" is not defined, and might be LDAP, an RDBMS, a flat ASCII file, or whatever. Ideally, any such daemon should be reached via BEEP transport/authentication protocols, but nobody has yet created a reference daemon, and other parts of the problem have been partially stalled since then. The RFC 2445 iCAL (aka iCal, aka iCalendar) data format is already a big success following Apple's adoption of that file format for the OS X user app "iCal", using WebDAV for access control; however, for lack of BEEP/CAP or something like it, the data have historically tended to exist as isolated islands.

Mitch Kapor's Open Source Application Foundation plans to eventually construct a CAP-compliant server to match its PIM, Chandler.

2008 addendum: That codebase is now available as Chandler Server aka Cosmo, which please see.

An XML-based "xCal" format has been proposed to replace iCAL.

BEEP never became popular for various reasons; one is that it's easier to send iCAL data over HTTP, sometimes using WebDAV (Apple iCal, Mozilla Calendar/Sunbird) or HTTP PUT. Another reason is BEEP/CAP's complexity. By 2002, the effort was moribund, and the IETF Calendaring and Scheduling (CalSch) group was disbanded in Sept. 2004.

CalDAV (RFC 4791)is a 2003 implementation of iCAL event transactions (including free/busy time reports and handling of recurring events) over HTTP, mediated by WebDAV access control -- extending WebDAV to provide calendar search / locating, free/busy availability search, workflow scheduling, etc. It appears to be the winner standard, in place of CAP, BEEP, etc.

The "Group Calendar Project", is a primary informational clearinghouse for information on this topic.

The "IETF-Calendar" mailing list and related Web documents are also useful:

Proposed "Group Calendaring Transport Protocol" (GCTP) would coordinate multiple iCAL calendars in real time, accessing them via iTIP, and was to be implemented in a reference implementation ("OpenFlock"). Pre-alpha OpenFlock code is alleged to be retrievable via CVS or ftp, but login for both is broken. Project has been seemingly defunct since early 2002.

CGTP would have addressed holes in the protocol family such as protocols to secure/reject or reschedule appointments, or negotiate an open time slot meeting specified criteria, and supports activity registered by "proxy" parties on behalf of a schedule event's principal party, e.g., by an executive officer's administrative assistant. Events could be triggered according to ACLs (e.g., by one's supervisor). Any user who receives "queued" new events would be notified, with an opportunity to accept or reject them.

DAVCal would extend WebDAV with calendar-oriented functions, but it's unclear whether it's usable -- or even yet coded (grad. school project):

2008 follow-up: So close! The ideas in DAVCal were implemented in the 2003 commodity standard for scheduling event transactions, CalDAV.

Server entries detailed below:



Other Linux Scheduling-Software Surveys:

Server Project Details:

by Guilhem BONNEFILLE - Tuesday, July 24th 2001 07:03 PST

About: OpenSched is used to automatically schedule resources for a project. For instance, if 5 programmers cooperate on a software development project, and 100 tasks must be done, opensched can capture information about who can do what, what tasks depend on which, etc.

Author: Idan Shoham <sched at m dash>


PHP iCalendar
Web site has this description:

PHP iCalendar is a php-based iCAL file parser. It's based on v2.0 of the IETF spec. It displays iCAL files in a nice logical, clean manner with day, week, month, and year navigation, printer view, RSS-enabled, and searchable. It supports 12 languages, is fully theme-able, and has complete timezone support.

"Editable shared iCAL server.... you can get a shared calendar that iCal can subscribe to and all users can add items to from a Web interface. This is not a full calendaring solution yet, since you won't be able to make changes from iCal itself — just view the calendar — but it's still pretty useful to have in your bag of tricks.

The actual calendar is kept in a MySQL database that dynamically creates the iCAL data files when queried by clients. This is a pretty slick way of retrofitting the flat data files into a database. However, anything involving a database gets a bit more complicated.

Requires installing PHP iCalendar first, and then phpMyCal as a modification to that. Packaged for Mac OS X (StuffIt), and instructions are fairly Mac-centric.

phpGroupWare (formerly webdistro)

Provides a Web-based calendar, todo-list, addressbook, email, news headlines, and a file manager. The calendar supports repeating events. The e-mail system supports inline graphics and file attachments.

The system as a whole supports user preferences, themes, user permissions, multi-language support, an advanced API, and user groups.

(It's a pluggable framework built around a central "phpgwapi" component.)

Forked version of WebCalendar.


PHProjekt is a modular application for the coordination of group activities and to share informations and document via intranet and internet.

Components of PHProjekt: Group calendar, project management, time card system, file management, contact manager, mail client and 9 other modules.

Active the active software activist news, events and projects on the web The active software creates a set of web pages which allow web surfers to contribute to a shared calendar, groups listing, and multimedia news with discussion. It's designed to be easy to use, and easy to read the results.

Active is behind most of the network and all of Active has helped identify the concept of open publishing.

It is free software, and copyleft. It can be run on an entirely free software server using PHP, perl and PostgreSQL.

Sun Java System Calendar Server is a proprietary Java daemon now (2004-03) available only on HP/UX, Solaris/SPARC, and MS-Windows 2000, but will soon be available for Linux. Supports iCAL (RFC 2445), iTIP (RFC 2446), and iMIP (RFC 2447), multiple calendars per user, optional XML-formatted data import/export, SMS and IM notification, LDAP integration, custom user interface modification using XSL/XML, Web access.

Optional MAPI plug-in for MS-Outlook provides access to e-mail, calendar, address book, tasks, contacts, free/busy info, calendar sharing and delegation, off-line access, and public/shared folders for e-mail and calendar data. Similar access for Ximian Evolution via Java System Connector for Evolution plug-in.

Product was formerly called Sun ONE (Open Network Environment) Calendar Server, and before that iPlanet Calendar Server, and before that Netscape Calendar Server. (AOL/Netscape formed an "iPlanet" division in May 1999 to further a "Sun-Netscape Alliance" and further develop products including Calendar Server. In March 2002, the alliance terminated with Sun's acquisition of Netscape's iPlanet division.)

Kolab Server

Erfrakon, Intevation and Klarälvdalens Datakonsut AB have won a bid to write a Free software groupware server and client for the German "Bundesamt für Sicherheit in der Informationstechnik" (Federal Agency for IT Security, BSI). It aims to work in a heterogenous environment and provide email, contacts, appointments and tasks lists.

Kroupware is the current project title for the project named above. After finishing the Kroupware project, it will be further integrated in the K Desktop Environment and in the KDE-PIM family.

(There's a client piece called Kontact, which is KMail, KOrganizer, KAddressBook, and KNotes in a unifying shell.)

Kronolith: Kronolith is the Horde calendar application. It provides a stable and featureful individual calendar system for every Horde user, and collaboration/scheduling features are starting to take shape. It makes extensive use of the Horde Framework to provide integration with other applications.

Right now, Kronolith implements a solid, stand-alone calendar system, allowing repeating events, all-day events, custom fields, keywords, and managing multiple users through Horde Authentication. The calendar API that Kronolith uses is abstracted such that it could work with any backend, but right now we provide SQL (abstracted to support most databases, including MySQL, PostgreSQL, Oracle, and MSSQL via PEAR DB) and MCAL backend libraries.

The latest (not yet released) version, available from CVS supports shared calendars, allowing others various levels of access to your calendar, better iCAL support, and generation of iCAL free/busy information.

Samsung Contact: is a fairly expensive enterprise "groupware" e-mail / scheduling server application for Linux equivalent in feature set to MS Exchange Server.)

"Samsung Contact provides the best email server for all of Outlook's great messaging and collaboration functions. This includes calendaring, scheduling, resources, public folders, delegation, and offline folders."

by envi.con KG

CyberScheduler is the ideal groupware solution for workgroups that will be deploying a calendaring solution. End users access their calendar through any familiar desktop browser. CyberScheduler runs on every Web server and operates in mixed application or mixed framework environments. CyberScheduler supports server platforms like Windows NT, LINUX and COBALT.

The Web based application does not require a proprietary messaging infrastructure and is easy to use with its browser interface.

Java iCal Group Scheduler: enables several users to get together for a meeting, by using JICAL to translate their iCAL files into their available free/busy time and post it automatically to your Web server. This project enables Ximian Evolution desktop users to book meetings with each other (and Outlook users) via a Web server storing their 'Free/Busy' information as specified in RFC 2445.

CS: The "CS" calendar project from the people who maintain the important libical project (iCAL core, iTIP, iMIP, iRIP, CAP) is "currently in limbo" but may be restarted.

Favorin Time: client / server group calendar for Linux and other UNIXes with KDE desktop. Free open source calendar client is available for stand-alone or networked use. Commercial server provides calendar management and scheduling for teams and organisations.

Stable 1.0 version of client and a 45-trial version of the server is available for download.

[Proprietary protocols and implementation, only.]

Internal Affairs: optimizes the internal communication within your enterprise within minutes. Our groupware system resembles ease of use while maintaining maximum flexibility. High security measures and the ability to use the system from anywhere in the world folds in nicely with the provided features. Internal Affairs is completely browser based and may as such be used across all platforms with a web-browser available (Windows, Apple Macintosh, UNIX, Linux).

The Internal Affairs modules:

[No support for iCAL, etc.]

MimerDesk: is a web-based groupware environment designed for a wide variety of uses such as personal management, computer-supported collaborative learning, carrying out projects, and setting up communities. Its main strengths include a very customizable group system which allows many groups to work simultaneously on a shared database with tools like Calendar, Tasks, Forums, Links, Chat, Reviews, Voting, Files, Instant Messages, Profiles, and many more.

[No support for iCAL, etc.]

Minkowsky: is tool to manage appointments, tasks and addresses within groups like companies. Minkowsky is a client server application. The data are managed on the server. The client display them to the users Minkowsky is mostly platform independent programmed. Hence it will be possible to run it on many different platforms. The server should run on all UNIX platforms with little modifications (this includes MacOS X). The client should run on all Unix/X11 Platforms. A port to MacOS X under work. Minkowsky is a Tcl/Tk (+Tix) Application with a C/C++ fundament.

[No support for iCAL, etc.]

Nemein.Net: is a Web-based Professional Services Automation suite including project management, time tracking, document management, sales force automation, direct marketing, help desk, and a group calendar. It runs on the Midgard application server.

[No support for iCAL, etc.]

NullLogic Groupware: is a multi-user web-based groupware package designed for contact management and event scheduling, which includes additional features such as private messaging, public discussion forums, shared hyperlinks, file bases, a web e-mail client, and a simple order processing system.

The main goal of NullLogic Groupware is to make your data accessible to you from anywhere at any time without the need for special software to be installed on the client computer.

[No support for iCAL, etc.]

Obliquid: is a PHP/XML application framework for building groupware Web portals. It is like Lego bricks for the Web. Each brick (called a slot) is a software component that may be composed with others to build an Internet application. It has a core allowing users to build pages using templates blocks, with full multilingual support and themes. It also has a users/groups/operation module and a calendar supporting availabilities, calls, meetings, and accountancy entries.

[No support for iCAL, etc.]

ScheduleWorld (proprietary): is calendar that is based on open standards and is compatible with Microsoft Outlook and Lotus Notes. It provides a client and a server, and supports encrypted calendar components. By default the NHL and NBA schedules are included, along with date and time support for over 50 languages. It features HTML customization and multiple simultaneous color-coded calendar views, and works on any system with Java 1.4.

No vendor lock-in: Your data is stored in RFC 2445 (iCAL) format and can be exported at any time. RFC 2446 iTIP calendar-data access protocol is supported. RFC 2447 iMIP calendar-data access over e-mail protocol is supported. SOAP interface to all data is complete and functional (used by ScheduleWorld client) but not yet (2/2004) fully documented. ScheduleWorld translates XMLTV data into iCAL to provide TV-listings schedules.

Interoperability: based on the same IETF iCAL standard used by Microsoft Outlook, Lotus Notes, Apple's iCal product, Mozilla Calendar, Evolution, KDE KOrganizer, and others. ScheduleWorld also includes its own server service and e-mail bridge to talk to MS-Outlook and Lotus Notes applications.

Encrypted storage and transport; client-server architecture. Data stored in RFC 2445 iCAL format. Proprietary, ASP-based.

SKYRiX Web Groupware: is a set of Web-based applications for contact, appointment, project, and content management. It is comparable to Exchange and SharePoint portal servers. SKYRiX servers run on almost any Linux system, can synchronize with Palm PDAs and are completly scriptable using XML-RPC.

[No support for iCAL, etc., though it does sync with PalmOS Datebook.
iCAL support is in separate product ZideStore.]

SKYRiX ZideStore: server is the "native client integration server" for the SKYRiX groupware. Using ZideStore you can access the SKYRiX contact, appointment and task database using Outlook, Evolution and almost any iCAL-compatible client (for example Apple iCal or Mozilla Calendar).

TUTOS (The Ultimate Team Organization Software): is a groupware or ERP/CRM suite that helps small to medium teams manage various things in one place. Its features include personal and group calendars, an address book, product and project management, bug tracking, installation management, a task list, notes, files, mailboxes, and useful links between all of the above.

[No support for iCAL, etc.]

VisualCalendar: is a fully-featured Web-based calendar application that integrates event scheduling, tasks, journals/diary, bookmarks and notes support in one unified platform. [blah, blah.]

[No support for iCAL, etc.]

Web Organizer: is a Web groupware suite. It features a configurable desktop page, a calendar, a personal and shared address book. These functions are organized in modules. [...]

Technologies: Main technologies, protocols and formats used in WEBO project: PHP, XML-RPC, LDAP, HTTP, CSS2, HTML4, Javascript, iCAL, vCard.

WebCalendar: is a PHP application used to maintain a calendar for one or more persons. WebCalendar requires a database: MySQL, Oracle, PostgreSQL or ODBC.

E-mail notifications/reminders, Export to PalmOS via pilot-link.

Chronos: is a Web agenda/calendar for Intranets (even if it can be used
from anywhere). It can send reminders by email. You can schedule multi-user events. It is fast and light on resources (the balance size/speed can be tweaked by tweaking mod_perl and Apache).

MRBS (Meeting Room Booking System): is a free, GPL Web application using PHP and MySQL/pgsql for booking meeting rooms. It's similar in concept to Netscape Calendar Server, but much cheaper.

Forked versions of WebCalendar.

Prospector: is a online calendaring program that is similar to those found at Netscape and Yahoo. It has been written to run under mod_perl and use an SQL database using DBD/DBI. It is currently being developed with postgreSQL. It only runs on Linux currently, although it should run on any UNIX.

MyPHPCalendar: (Yet another PHP-based calendar.)

mod_perl Calendar System:

The mod_perl Calendaring System (to be renamed "GTI Calendar") is undergoing a complete rewrite. For your convenience, we'll leave the last stable revision and documentation here. Please check back often for the release of the new site and package.

MeetingMaker (proprietary):


Ruffdogs has been working on a Groupware/CRM project for some time now,
based on phprojekt. We are getting close to the point of uploading to
sourceforge and looking for developers.

Languages used are PHP, Perl, Java, HTML, CSS.

ICAP server:

It has most of the functionality of Netscape Calendar Server -- it just needs the SASL wrapper written for it, and it provides a client.

Momentum Project: for an open-source iCAL, vCal, and vcard scheduling server, which will use libical. Will store iCAL, iMIP and iTIP data (RFCs 2445, 2446 and 2447) in a SQL RDBMS. Access protocols will include XML-RPC, SOAP and WebDAV.
(Unfortunately, as of 2003-10, this mailing list appears to have had only twelve substantive posts in 2002-01 and 2002-03, and then nothing but spam thereafter.), is an extensible, open-source server suite that initially will manage scheduling information only, but aims to also manage other organisational work documents (spreadsheets, word processor documents, presentation files, etc.) as it's developed. It will not aim to handle e-mail, instant messaging, or directory services.

Client access is from either iCAL apps (Mozilla Calendar, Glow, KOrganizer, MacOS X's or from MS-Outlook with the proprietary ZideLook MAPI storage provider plug-in (maps MAPI calls to WebDAV for real-time access), or from Ximian Evolution with the proprietary (update: open source as of 2004-05-10) Ximian Connector v. 1.2 plug-in (maps MAPI calls to WebDAV), or from any HTML 4.0-compliant Web browser, or via XML-RPC, or via PalmOS HotSync.

It's doubtful that the suite supports Outlook/Exchange style shared calendar & contact information, given dependence on iCAL.

The server software consists of parts of older, proprietary Skyrix Groupware Server, formerly Skyrix 3, formerly LSOffice (from Skyrix Software, formerly MDlink GmbH).

eGroupWare is a Web-based groupware suite. It is a fork of the phpGroupWare project. It contains many modules, including Calendar (personal calendar and group scheduling, notifications and alarms), e-mail (IMAP and POP3), FeLaMiMail (IMAP only), InfoLog -- to-dos, notes, and telephone calls linked to contacts (CRM), Contacts (an address book to store and share contact information), and SiteMgr or JiNN (content management/wiki).

Tine 2.0 is an open source project that combines groupware, CRM and ERP into one system. The server component acts as the master data source, is written in PHP, and uses a SQL database as the central data storage. The client component, acting as the GUI, is written in Javascript and runs in the user's Web browser. Tine 2.0 wraps a set of APIs around the software libraries ExtJS and Zend Framework, to model an open architecture Rapid Application Development.

Date: Sun, 09 Aug 2009 14:15:35 +0100
From: Andrew Clarke (
Subject: [ILUG] Re: webmail clients

Hi Pete,

I completely agree with you on webmail clients. The selection is a little light. RoundCube really could fill this gap, but insists on being ONLY a light webmail client. There is a spin-off, I think it's called MyRoundCube which adds a plugin functionality for calendars etc, but it seems to be a project only driven by a few users which would be worrying in terms of longevity / support.

Have you looked at Tine 2.0? This is an ancestor of eGroupware and aimed at the groupware sector. It's fairly new but based on a solid codebase, and looks very good. If sharing information between users is not one of your concerns, it may be a little over the top, but the e-mail, calendar and tasks functionality is excellent, and it has a very online-desktop feel. Applications can be enabled individually to lighten the interface a little. Also, under the hood, the code is structured extremely well and very modular. As a result, it's unlikely to suffer from modificationitis, where one plugin or mod breaks another. Development is very active, and user interface given just as much attention as functionality. All in all, one to watch, and, for me, definitely the forerunner in this space, at the moment.

Also, licensing is handled under AGPL. From Fully Featured Versions. Tine 2.0 is Tine 2.0 is Tine 2.0! There are vendors who distribute pared-down versions of their closed source software as bait fishes. In contrast to those offers, Tine 2.0 is not meant to sniggle customers for a fully featured version. Tine 2.0 itself is the main product.

Not sure what sniggle means, but AGPL licensing is excellent. In comparison to something like Zimbra, this is properly open source IMO.

Andrew Clarke

OpenCAP is a project whose aim is to create an Open Source Calendar Server, based on iCAL, CAP, iMIP, and corresponding RFCs. This project is in a very early stage.

UW Calendar is building an open-source calendaring system for higher education. UW Calendar will support personal, public and group events, use existing open standards, and support web-based and other forms of access, including uPortal integration.

UW Calendar (from University of Washington) has the following features:

  1. A database for storing general events, with a schema derived from the iCalendar standard (iCAL). For a detailed description of this standard, see RFC 2445.
  2. Code to convert UW Calendar events to iCAL (and vice versa).
  3. A Web-based personal calendaring application.
  4. A public events entry system.
  5. A public events display system.
  6. A service to generate a peephole view of a person's calendar, suitable for display in MyUW, the University of Washington's portal. (Note that MyUW is not based on uPortal).

UW Calendar is written in Java. The current code download contains items 1-5.


Bedework is a separate fork of the UW Calendar Java project, rearchitected and reimplemented to support many new features. Uses Hibernate to work with a variety of database back-ends. Implements CalDAV plus Web access to calendar data. Requires a Java 1.5 JVM. 3-clause BSD licence.

Hula Server
Hula is a calendar and mail server. We are focused on building a calendar and mail server that people love to use, instead of broadly trying to build a "groupware server" that managers want to deploy.

Hula is available under the LGPL and MPL.

System Overview

Hula is a standards-based messaging system that provides e-mail, calendaring, and schedule sharing across the Internet. Users can connect to the Hula messaging system over the Internet to access their e-mail messages, view their calendar, schedule appointments, and to send messages, tasks, or notes. To connect to the messaging system, users must have an Internet e-mail client. Hula provides three client interfaces -- Aurora, WebAccess, and Webmail -- that can be accessed through any Internet-standard browser. However, because Hula supports Internet-standard messaging and security protocols, users can also continue to use their current POP3 or IMAP4 e-mail client. In addition to the client-side services, Hula provides a flexible, easy-to-use administrative interface -- WebAdmin -- that can be accessed through any Internet-standard browser.

The Hula messaging system has a modular architecture; that is, messaging functions are strategically divided among several different components. This allows Hula to be very flexible and highly scalable. For example, you only need to install the components required for your system. Additionally, you can locate all of your messaging system components on a single server or distribute them across multiple servers based on usage, message traffic, fault tolerance requirements, and system resources. The base component in the Hula messaging system is the messaging server. A messaging server is any server on the network that hosts one or more Hula agents. Hula agents are a series of program files that perform specific product functions. All messaging functions, including support for the various e-mail clients, are divided between the various Hula agents. For example:

  • To support POP3 or IMAP4 e-mail clients, you run the POP or IMAP agents.
  • To send and receive messages over the Internet, you run the SMTP Agent.
  • To allow users to access WebAccess or Webmail, you run the Modular Web Agent.
  • To enable WebAdmin, you run the WebAdmin Agent.
  • To allow users to configure and implement rules, you run the Rules Agent.

    2008 update: Hula is now also a CalDAV server.

    Chandler Server (Cosmo):


    Cosmo is a Java-based content/calendar sharing server with a built-in rich Web application client. Cosmo is built on top of Tomcat, Hibernate, the Spring Framework, Acegi Security for Spring, iCal4J, Dojo, Abdera, Jackrabbit, Woodstox, and other best of breed technologies. Cosmo is available under the terms of the Apache Software License, Version 2.0.

    Chandler Server is a software bundle from OSAF (Open Source Application Foundation) of:

    • Tomcat v.5.5 HTTP Java servlet engine
    • Derby Java embedded database
    • MySQL Connector/J v. 5.0.4 for access to MySQL databases
    • Cosmo Web application (Java: requires Java 1.5 JVM)

    Supports CalDAV for multi-user schedule access and collaboration. Primarily designed to be used with the Chandler PIM.

    Darwin Calendar Server:

    Implements CalDAV for multi-user schedule access and collaboration; provides a shared location on the network to store schedules, and allows users to send each other and manage invitations. Requires: Python 2.4, Zope 3.10, Twisted, OpenSSL, pyOpenSSL, pyXML, python-dateutil, xttr, pysqlite, vObject, PyKerberos, PyOpenDirectory.


    DAViCal (formerly Really Simple CalDAV Store) is a lightweight CalDAV shared-schedule store, coded in PHP, intended to be run inside Apache httpd and back-ended in PostgreSQL. It does not provide a Web-based view of calendars, though it does furnish administrative Web pages. Supports basic delegation of read/write access among calendar users and multiple users or clients reading and writing the same calendar entries over time.

    Further Info:
    Freshmeat category Topic :: Office/Business :: Scheduling :
    Freshmeat category Topic :: Office/Business :: Groupware :
    Christopher Browne's pages (mostly about project management, not scheduling):
    kellan's list:
    Article on CalDAV:
    AJAX Web-based calendar software:
    Scalix and Zimbra are said to now support CalDAV.