对于我们中的许多人来说,日历就是我们的命脉。虽然有些人可以通过挂历或纸质日程安排器来组织他们的日程,但我们很多人已经将时间分配的管理过程交给了数字日历。
大多数主要供应商生态系统都提供某种日历解决方案,可以在设备之间同步。 其中,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,一个日历组件。 Lightning 允许您创建事件,甚至可以将它们发布到 CalDAV 服务(如果您正在使用一个,例如 Nextcloud)。 它还支持对不同的日历提要进行颜色编码,具有多种视图,甚至还有一个侧面板,供您在浏览电子邮件时快速参考。
Thunderbird 的优势在于其插件架构以及它是跨平台的。 如果您在一天中使用不同的操作系统,您可以使用 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 条评论