6 个 Google 日历的开源替代品

938 位读者喜欢这篇文章。
Poll: Upcoming open source conferences

Dafne Cholet。CC BY-SA 2.0。

 

对于我们许多人来说,日历就是我们的命脉。虽然有些人可以使用挂历或纸质日程本来安排他们的日程,但我们很多人已经将管理时间分配的过程交给了数字日历。

大多数主要供应商生态系统都提供某种日历解决方案,可以在设备之间同步。其中,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 (桌面端)

 

Thunderbird and Lightning

Firefox 的创建者还维护 Thunderbird 电子邮件客户端,这是一款适用于 Linux、Windows 和 Mac 的桌面应用程序,用于在 Web 浏览器之外阅读电子邮件。与 Firefox 一样,您可以使用插件自定义 Thunderbird,其中最流行的插件之一是 Lightning,一个日历组件。如果您正在使用 CalDAV 服务(例如 Nextcloud),Lightning 允许您创建事件,甚至将它们发布到 CalDAV 服务。它还支持对您的不同日历订阅源进行颜色编码,具有多种视图,甚至还有一个侧面板,以便您在浏览电子邮件时快速参考。

Thunderbird 的优势在于它的跨平台性,除了它的插件架构之外。如果您在一整天中使用不同的操作系统,您可以通过在所有操作系统中使用 Thunderbird 来为自己提供一点 UI 稳定性。您无法让 Windows 或 macOS 改变它们的操作方式,但至少您可以确保无论您使用哪台计算机,至少您的电子邮件和日历都将完全相同。

Evolution 和 Kontact (桌面端)

 

Evolution

opensource.com

如果您在任何现代 Linux 发行版上使用过桌面电子邮件客户端,那么您可能已经遇到过 GNOME 的 Evolution。除了巧妙地处理大量电子邮件外,Evolution 还具有日历组件。该日历符合 iCalendar 标准,因此您可以导入和导出 iCalendar 事件,并且还可以订阅 CalDAV 订阅源。因为它使用的是 iCalendar 规范,所以它具有熟悉的选项,例如重复事件、描述、位置等等。

Evolution 日历提供了多种查看您安排的事件的方式。常用的周视图和月视图都可用,但您也可以查看“工作周”(省略周末,这诚然只适用于一部分工作者)、日视图以及仅包含任务列表而没有空白空间的视图。它还在其电子邮件窗格中提供了当天的任务列表,因此您不必单击到日历即可查看稍后会发生什么。

对于 KDE 用户,Kontact 包含 Korganizer,这是一个类似于 Evolution 中的日历组件。

Etar (移动端)

 

Etar

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

AgenDAV (Web 端)

 

AgenDAV

在现代世界中,我们许多人都依赖于能够从任何地方访问我们的日历,而不管我们碰巧手头有什么设备,而且很少有可以替代一个可靠的 Web 日历的东西。虽然有许多 Web 工具可以从 CalDAV 中提取数据,但我最喜欢的是 AgenDAV,它具有类似于 Google 日历的外观和感觉。与 Nextcloud 不同,没有任何您可以加入的 AgenDAV 主机。如果您想运行 AgenDAV 服务器,您必须自己托管和安装它。然而,与 Nextcloud 不同,AgenDAV 只是 一个日历,因此您不会有大量您可能不打算使用的 Web 应用程序带来的额外复杂性或臃肿。

AgenDAV 使用 CalDAV,并且非常流畅。它具有您需要与其他 CalDAV 日历接口的所有 CalDAV 功能,以及我们大多数人期望从日历 Web 应用程序获得的其他功能(例如颜色编码)。


这些远非您可能考虑用于使用开源方式维护日历的唯一工具。还有很多其他工具提供它们自己的功能选择。您使用哪些开源工具来维护日历?您是否通过 使用 org-mode 和 Git 拼凑了一个解决方案?或者您是否做了更具创造性的事情?请在下面的评论中告诉我们!


编者注:本文最初发表于 2016 年,并已更新了新信息。

Jason Baker
前红帽员工。现在是一名顾问和有抱负的企业家。地图爱好者、创客,以及开源桌面和自托管软件的热情安装者。
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,通常同时在两个行业工作。

11 条评论

我在 Emacs 中使用 org-mode。它的日记功能很棒,但说实话,我并没有真正使用日历那么多,而且我的日历通常不需要与任何其他人的日历保持同步。

Zimbra 是我在之前的公司使用的,它的工作方式正如您所期望的那样;电子邮件、日历、贯穿始终的集成。强烈推荐(并且是开源的,尽管 Zimbra 也有“开放核心”模式)。

我有兴趣加入一些关于终端选项的内容,但我对它们不太熟悉,而且我不想把人们引向我不甚了解的东西。我对在终端使用日历的体验几乎可以用 `cal` 来概括。Emacs org-mode 可以与远程日历同步吗?或者,也许可以与另一个本地日历同步,然后您可以使用无头的 CalDAV 工具在 cron 中与之同步?

回复 ,作者:sethkenlon

有一些技巧可以利用 CalDAV;我还没有研究过它,因为我还没有需要该功能。我一直想尝试一下。

回复 ,作者:Jason B

自托管的一个选项是 ownCloud/Nextcloud。

由于我在不同的系统中使用日历,因此我在日历方面遇到困难。

当我在家时,我通过桌面端运行我的日历(Linux 上的 Lightning/Evolution/kOrganizer,Windows 10 和 Android 上的内置/默认应用程序)。

但是,当我在工作时,我使用 Web 端访问所有内容(电子邮件、日历、文件等)。

因此,我使用 Google 作为我的主要日历,并与桌面应用程序甚至 Outlook.com 共享,因为它在所有环境中都可用,并且与在线的电子邮件/等等集成良好。缺点是必须配置我的多个日历并将它们设置为读写(这并不总是有效)。

将 ownCloud / Nextcloud 放在公共可访问的地方并尝试消除我对 Google 的依赖的想法非常诱人。我只是太紧张,不敢把我的大部分生活都放在“野外”。

真的!如果您习惯于从命令行安装东西,Owncloud 非常容易。我认为您必须处理的唯一主要问题是检查主要升级后的任何问题,因为有时您可能会发现一些问题。但这在任何开源软件中都会发生。

然后,再加上 LetsEncrypt(免费 SSL),您基本上就拥有了最可靠和最好的系统。一个不会随意与任何人分享您的数据或将其出售给广告商的系统。

回复 ,作者:dragonbite

我在服务器上使用 NextCloud,日历被视为一流的(在 ownCloud 下从来都不是)。我将它与桌面端的 Thunderbird/Lightning 和安卓端的 Etar(来自 f-droid)配对使用。非常棒的组合!

在过去,我使用 ownCloud 作为自托管日历提供商。
后来,我使用了 radicale: http://radicale.org
对于日历客户端,在 PC 上我使用了带有 Lightning 日历插件的 Thunderbird(现在是内置的)。在 Android 上,它本身不支持 CalDAV,我使用了一个付费(不幸的是)CalDAV 同步适配器,但它运行良好并与任何日历应用程序集成。现在看来 F-Droid 中有一个免费的同步适配器。
我从未能够获得“推送”同步的解决方案,尽管我尝试过,并且有各种可用的选项,例如 z-push。它们要么需要大量的设置,要么是我根本无法理清的设置过程。这意味着客户端必须定期(例如,每 15 分钟)轮询日历,以与其他日历保持同步。
那是 3 年多前的事了。情况可能已经改变。

我多年来一直使用的是一种复古日历 Remind。在 Fedora 上,获取 remind 和 remind-gui 以获得可视化交互方式来输入我需要记住的事情。我不想要任何为我把事情放进日历的东西,我也不想要在我最不期望和想要它们的时候出现的自发通知。
我总是从命令行使用它。
在终端中键入 tkremind,就会弹出一个日历,可以输入项目。您可以输入一次性或重复性事件。对于像牙医预约这样的事情,我会创建一次,然后只需编辑下一次预约的日期和时间。
在命令行中,键入 'remind -c+4 -w85,0,0 /home/me/.reminders' 会打印出未来 4 周的日历,宽度为 85 列。我为它创建了一个别名以方便使用,然后可以发送到一个文件,我可以打印该文件。
.reminders 是默认日历,但您可以创建其他日历,例如 .work 并分别使用它们。
当我需要 remind 中的内容时,我就拥有它。当我不需要时,它不会打扰我。

呵呵,我一直在使用 date 和 cronie

我是 ownCloud 的忠实粉丝,用于我的个人事务。对于更像企业的功能,Tine2.0 通过 *DAV 和 ActiveSync 提供日历、任务、联系人(私人和共享)(尽管该连接器在美国并非完全*合法*)。项目管理/人力资源/资产和库存/销售 CRM 是贡献的模块,当然它也提供 WebMail(POP/IMAP,随便什么)。Web 前端看起来像 OutLook Web Services,并且与 iStuff、Droid(使用文章的 DAV 连接器)配合良好,而 OutLook 根本不知道它不是在与 Exchange 通信。

如果您需要这样的东西,还有一个设备(尽管看到这一点,我在大约十分钟内在 Raspberry Pi 上运行了它)。

有一些 Web 界面调整非常明显地带有东欧工作流程的痕迹。

我将其部署为 Exchange/GStuff 杀手。

大多数情况下,它只是运行,不会打扰我,这可以转化为:“它只是工作,我的用户不会打扰我。”

还有 eGroupware,但我无法忍受丑陋的 UI(用户也会抱怨)。

Outlook 日历与几乎所有东西(如 Owncloud)同步的最佳 Outlook 插件是在 Sourceforge 上维护的 Outlook CalDav Synchronizer。自从该项目发布的第一周起,我就在客户站点上使用它在 Owncloud 上。

https://sourceforge.net/projects/outlookcaldavsynchronizer/

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.