对于我们许多人来说,日历就是我们的命脉。虽然有些人可以使用挂历或纸质日程本来安排他们的日程,但我们很多人已经将管理时间分配的过程交给了数字日历。
大多数主要供应商生态系统都提供某种日历解决方案,可以在设备之间同步。其中,Google 日历可能是最流行的。对于很多人来说,它非常好用,可以轻松地在多台计算机和移动设备上跟踪他们的日程,并与需要协调的其他人员共享适当的信息。
然而,与无数其他工具一样,您不必为您的日历需求使用专有的托管解决方案。可能有一个开源项目适合您。但在我们深入探讨之前,让我们先看看日历实际上是什么。
互联网日历和日程安排
如果您正在使用像 Google 日历这样的工具,您实际上正在使用两个独立的工具:用户界面(网站或移动应用程序)和日历服务器。日历服务器生成事件、接受邀请,并在您安排的事件即将发生时向您发送提醒。
以 iCalendar 格式(与 Apple 的 iCal 应用程序无关)表示的事件是一个简单的文本文件。它是一种非常简单的格式。这是一个基本事件的示例
BEGIN:VCALENDAR
PRODID:Seth
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
CREATED:20200511T114136
DTSTAMP:20200511T114136
LAST-MODIFIED:20200511T114136
UID:VE3HK1CEFCK7O7HUSNUM8X
SUMMARY:Example event
CLASS:PUBLIC
STATUS:CONFIRMED
DESCRIPTION:This is an example ICS file.
DTSTART:20200520T200000Z
DTEND:20200520T203000Z
END:VEVENT
END:VCALENDAR
如果您将该文本复制并粘贴到一个以 .ics 结尾的文件中,您可以将其导入到您的日历中,它将出现在您的日程中。一个好的日历应用程序会自动执行该过程,因此您很少意识到它正在发生,但这实际上就是共享日历的表面魔力。
收到电子邮件,其中包含 .ics 文件,邀请您参加活动或会议是很常见的。如果您的电子邮件客户端没有为您自动管理此格式,那么您可以下载并将其导入到您选择的日历应用程序中。您甚至可以通过运行 CalDAV 服务器来让其他人查看和编辑您的约会,CalDAV 服务器是 WebDAV 的扩展,WebDAV 是一种通过 HTTP 对远程文件进行编辑的协议。
了解任务是如何划分的之后,您必须决定哪些功能对您至关重要。如果您只是在寻找一种快速简便的方法来与他人共享日历事件,那么您真正需要的只是一个符合 iCalendar 标准的日历应用程序。如果您希望允许其他人查看和编辑您的日历,那么您还需要 CalDAV 服务。
Nextcloud (桌面端, Web 端)

Nextcloud 是您在外地的家,或者至少是您在办公桌外的工作空间。它是您自己的个人云存储、文本编辑器、照片库、文件共享、日历应用程序等等。由于 Nextcloud 包括 CalDAV 组件,您可以创建、导出、导入和订阅 iCalendar 事件和订阅源。Nextcloud 的日历提供了您期望从数字日历获得的所有常用选项:颜色编码、私人和公共事件、导入和导出 .ics 文件、重复事件、位置标签、描述等等。
您不必使用 Google 日历来接收和接受来自朋友和同事的邀请,也不必与他人共享自己的日历。更好的是,您甚至不必在所有设备上都使用 Nextcloud。您可以在桌面上使用 Nextcloud,在手机上使用内置日历,在笔记本电脑上使用完全不同的东西。得益于开放规范,它们都是兼容的。
您可以将 Nextcloud 安装在您自己的服务器或托管帐户上,或者您可以加入现有 Nextcloud 提供商的服务器,或者付费购买您自己的私有实例。
Thunderbird (桌面端)

Firefox 的创建者还维护 Thunderbird 电子邮件客户端,这是一款适用于 Linux、Windows 和 Mac 的桌面应用程序,用于在 Web 浏览器之外阅读电子邮件。与 Firefox 一样,您可以使用插件自定义 Thunderbird,其中最流行的插件之一是 Lightning,一个日历组件。如果您正在使用 CalDAV 服务(例如 Nextcloud),Lightning 允许您创建事件,甚至将它们发布到 CalDAV 服务。它还支持对您的不同日历订阅源进行颜色编码,具有多种视图,甚至还有一个侧面板,以便您在浏览电子邮件时快速参考。
Thunderbird 的优势在于它的跨平台性,除了它的插件架构之外。如果您在一整天中使用不同的操作系统,您可以通过在所有操作系统中使用 Thunderbird 来为自己提供一点 UI 稳定性。您无法让 Windows 或 macOS 改变它们的操作方式,但至少您可以确保无论您使用哪台计算机,至少您的电子邮件和日历都将完全相同。
Evolution 和 Kontact (桌面端)

opensource.com
如果您在任何现代 Linux 发行版上使用过桌面电子邮件客户端,那么您可能已经遇到过 GNOME 的 Evolution。除了巧妙地处理大量电子邮件外,Evolution 还具有日历组件。该日历符合 iCalendar 标准,因此您可以导入和导出 iCalendar 事件,并且还可以订阅 CalDAV 订阅源。因为它使用的是 iCalendar 规范,所以它具有熟悉的选项,例如重复事件、描述、位置等等。
Evolution 日历提供了多种查看您安排的事件的方式。常用的周视图和月视图都可用,但您也可以查看“工作周”(省略周末,这诚然只适用于一部分工作者)、日视图以及仅包含任务列表而没有空白空间的视图。它还在其电子邮件窗格中提供了当天的任务列表,因此您不必单击到日历即可查看稍后会发生什么。
对于 KDE 用户,Kontact 包含 Korganizer,这是一个类似于 Evolution 中的日历组件。
Etar (移动端)

股票 Android 日历本身实际上是开源的,因此您可能已经在您的移动设备上使用开源客户端来管理您的日历。但是,并非所有设备都附带该日历,因此您可以从 F-Droid 存储库下载类似的日历,或者查看 GitHub 上的 源代码。它使用与 Android 本身相同的视觉风格,因此它看起来和感觉上与您的移动操作系统其余部分完全集成。它具有月、周、日和仅您的每日议程视图。它符合 iCalendar 标准,因此您可以共享日历、导入和导出 .ics 文件以及订阅 CalDAV 订阅源。
AgenDAV (Web 端)

在现代世界中,我们许多人都依赖于能够从任何地方访问我们的日历,而不管我们碰巧手头有什么设备,而且很少有可以替代一个可靠的 Web 日历的东西。虽然有许多 Web 工具可以从 CalDAV 中提取数据,但我最喜欢的是 AgenDAV,它具有类似于 Google 日历的外观和感觉。与 Nextcloud 不同,没有任何您可以加入的 AgenDAV 主机。如果您想运行 AgenDAV 服务器,您必须自己托管和安装它。然而,与 Nextcloud 不同,AgenDAV 只是 一个日历,因此您不会有大量您可能不打算使用的 Web 应用程序带来的额外复杂性或臃肿。
AgenDAV 使用 CalDAV,并且非常流畅。它具有您需要与其他 CalDAV 日历接口的所有 CalDAV 功能,以及我们大多数人期望从日历 Web 应用程序获得的其他功能(例如颜色编码)。
这些远非您可能考虑用于使用开源方式维护日历的唯一工具。还有很多其他工具提供它们自己的功能选择。您使用哪些开源工具来维护日历?您是否通过 使用 org-mode 和 Git 拼凑了一个解决方案?或者您是否做了更具创造性的事情?请在下面的评论中告诉我们!
编者注:本文最初发表于 2016 年,并已更新了新信息。
11 条评论