Open source alternatives to Google Calendar

4 open source alternatives for Google Calendar

Subscribe now

Get the highlights in your inbox every week.

For many of us, our calendar is our lifeblood. Without it, we would be lost, perhaps both literally and figuratively.

While some people can get away with a wall calendar or a paper day planner to organize their schedule, a whole lot of us have turned over the process of managing time allotments to a digital calendar. In truth, most of us are juggling quite a few calendars from both our work and personal lives, and often a few other organizations that we're involved with, including anything from non-profits to tech meetups to social clubs.

Most of the major vendor ecosystems provide some sort of calendaring solution which can sync across devices. Among them, Google Calendar is perhaps the most prevalent. For many people, it just works, making it easy to keep track of their schedule across multiple computer and mobile devices, and to share appropriate information with others with whom they need to coordinate.

As with countless other tools, though, you don't have to use a proprietary hosted solution for your calendar needs. There might just be an open source project that works for you. But before we dive in, let's take a look at what a calendar actually is.

If you are using a tool like Google Calendar, you may have never thought about it before, but you're actually using two separate tools. First, you're using some sort of a user interface, whether that takes the form of a web page or a mobile app. But that user interface isn't much of anything without the data that powers it. You're also using a calendaring server behind the scenes to actually store and deliver the data to each device which connects to it.

Calendaring, fortunately, is one area where open standards have made it easier to build software tools which can more easily talk to one another. To understand how digital calendars share information, there are two standards you should be familiar with: iCalendar and CalDav.

iCalendar provides a file format for delivering meeting invites and other calendar requests. If your email client doesn't manage this format automatically for you, you may have seen it as an attachment to an email in .ics format, which is then handled by the default calendaring application on your computer if you try to download and open it.

CalDAV is a standard for sharing calendar information in iCalendar format. Essentially, it allows people to share and collaboratively author a calendar. CalDAV is an extension of WebDAV, a protocol for making edits of remote files across HTTP.

So now that we know what we're looking for, let's take a look at a few of the tools in each space.

Desktop

We'll start with the desktop calendaring tools, because you're probably already familiar with these if you've ever tried using desktop email client in any modern Linux distribution. Gnome users have Evolution, and KDE users have KOrganizer which are likely already installed in your distribution, and if they aren't, you can find them in your default repositories. And Thunderbird/Seamonkey provide calendar support through the Lightning addition, which many Linux users prefer but also provide support for Windows and Mac.

Mobile

On a mobile device, you've got a few options, assuming you're running Android or a derivative. The stock Android calendar itself is actually open source; if your device didn't ship with it, you can pick it up in the F-Droid repository or check out the source on GitHub. Another tool to look at is DAVdroid, which provides CalDAV syncing from any server of your choice, including a self-hosted one, and will also pull contacts and tasks in addition to events.

Web

In the modern world, many of us depend on being able to access our calendar from anywhere, regardless of what device we happen to have in hand, and there's little substitute for a solid web calendar. While there are many web tools that can pull in data from CalDAV, my favorite is AgenDAV, which has a similar look and feel to Google Calendar. But there are others worth checking out too: CalDavZAP, for example, has an online demo that looks compelling. Either should be able to access any standard calendar back-end. You might also look at an open source groupware solution, but that's a bigger commitment for someone just looking to move their own personal calendar.

Server

While self-hosting your own calendar server is not for the uncommitted, it's perhaps the best way to ensure that your personal calendar is easily synced across all of your devices using only open source tools that you trust. Two popular options in this space include Baïkal and DAViCal. If you are already using ownCloud, you might take a look at its integrated CalDAV app, although it appears to now be unmaintained. There are many others as well that are probably worth evaluating before you jump in.

These are far from the only tools you might consider for keeping a calendar using open source. There are plenty of others offering their own selection of features. Which open source tools do you use for keeping a calendar, and why? Let us know in the comment below.

11 Comments

I use org-mode in Emacs. Its diary function is great, but admittedly I don't really calendar that much and my calendar doesn't often need to stay in sync with anyone else's.

Zimbra is what we used at my old job, and it worked exactly as you would expect; email, calendaring, integration throughout. Highly recommended (and open source, although Zimbra has an 'open core' model as well).

I was interested in including something about options for the terminal, but I wasn't familiar enough with them and I didn't want to send people towards something I don't know much about. My experience using calendars at the terminal is pretty much summed up by `cal`. Can Emacs org-mode sync with remote calendars, or perhaps, sync with another local calendar that you could then use a headless CalDAV tool to sync with in cron?

I have difficulty with calendars because of the different systems I use them in.

While I am at home I run my calendar through the desktop (Lightning/Evolution/kOrganizer on Linux, built-in/default apps on Windows 10 and Android).

When I am at work, however, I use the web to access everything (email, calendar, files, etc.).

So I use Google as my primary, and share with the desktop apps and even Outlook.com because it is available on all of the environments and integrates well with email/etc. online. The downside is having to configure my multiple calendars and set them up for read-write (which doesn't always work).

It is very tempting the idea of putting ownCloud / Nextcloud somewhere publicly accessible and try to eliminate my reliance on Google. I'm just too nervous about putting that much of my life into the "wilds".

seriously! Owncloud is super easy if you are used to install things from the command-line. I think the only major issue you have to contend with is to check out any issues after major upgrades cause sometimes you might find some problems. But that happens with any open source.

Then alongside, LetsEncrypt (free SSL) you essentially have yourself the most solid and best system. One that doesn't willinglingly share your data to whomever or sell it to advertisers.

I use NextCloud on the server and the calendar is treated as first class (never was under ownCloud). I paired it with Thunderbird/Lightning on the Desktops and Etar (from f-droid) on android. Fantastic combo!

Back in the day, I used ownCloud as a self-hosted calendar provider.
Later, I used radicale: http://radicale.org
For calendar clients, on PC I used Thunderbird with the Lightning calendar add-on (now built-in). On Android, which doesn't natively support CalDAV, I used a for-pay (unfortunately) CalDAV Sync adapter, but it worked well and integrated with any calendar app. It looks like there is a free sync adapter in F-Droid now.
I was never able to get a solution with "push" synchronization, although I tried, and there were various options available, like z-push. They all either required a hefty amount of setup, or a setup process I simply wasn't able to sort out myself. That means the clients had to poll the calendar at regular intervals (e.g. every 15 minutes) to stay in sync with each other.
This was 3+ years ago. The situation may have changed.

What i have used for many years is something of a retro calendar, Remind. On Fedora, get remind and remind-gui to get the visual interactive way to enter things I need to remember. I don't want anything that puts things in my calendar for me, and I don't want spontaneous notifications when I least expect and want them.
I always used it from the command line.
Type in tkremind in a terminal and a calendar pops up ready to enter items. You can enter one-time or recurrent events. For things like a dentist appointment, I would create it once, then just edit date and time for the next appointment.
On the commandline, typing 'remind -c+4 -w85,0,0 /home/me/.reminders' prints out the next 4 weeks with a width of 85 columns. I made an alias for it to make it easy, and can then send to a file which I can print.
.reminders is the default calendar, but you can create others, like .work and use those separately.
When I need what's in remind I have it. When I don't it's not bothering me.

I'm a big fan of ownCloud for my personal stuff. For more of a Corporate functionality, Tine2.0 does Calendar, Tasks, Contacts (Private and Shared) via *DAV, and ActiveSync (though that connector is not entirely *legal* in the US). Project Management/Human Resources/Asset&Inventory/Sales CRM arecontributed modules and naturally it does WebMail (POP/IMAP, whatever). The web front-end looks like OutLook Web Services and it plays nice with iStuff, Droid (using article's DAV connectors), and OutLook has No Clue it's not talking to Exchange.

There's an Appliance if you need such a thing (though seeing that, I got it running on a Raspberry Pi in about ten minutes).

There are a Few web interface tweeks that are very clearly of Eastern European workflow.

I deploy it as an Exchange/GStuff killer.

Mostly it just runs and doesn't bother me, which translates to: "It just work and my useers don't bother me."

There is eGroupware, but I cannot abide by an ugly UI (and the users gripe).

The best Outlook plug-in for Outlook Calendar to synchronize with almost everything (like Owncloud) is Outlook CalDav Synchronizer maintained on the Sourceforge. I have used this at client sites on Owncloud since the first week the project was posted.

Footer

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat.

Opensource.com aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. Red Hat and the Red Hat logo are trademarks of Red Hat, Inc., registered in the United States and other countries.