再见 K-9 邮件客户端
简要说明:我辞去了在 MZLA 开发 Thunderbird for Android 和 K-9 Mail 的工作。
我使用 K-9 Mail 的个人历程始于 2009 年末,当时我刚买了第一台 Android 设备1。预装的电子邮件应用程序与我的电子邮件提供商配合得不是很好。在寻找替代方案时,我发现了 K-9 Mail。它也有很多同样的问题2。但它是一个活跃的开源项目,接受贡献。我开始修复我遇到的问题,并将这些更改贡献给 K-9 Mail。这是一次非常愉快的经历,于是我开始修复其他用户报告的错误。
2010 年 2 月,K-9 邮件项目的创始人杰西-文森特(Jesse Vincent)向我提供了 Subversion3 版本库的提交权限。根据我的邮件档案,我回复了以下内容:
谢谢!我非常喜欢为 K-9 编写补丁,并欣然接受你的邀请。但我可能在很长一段时间内无法像现在这样为这个项目投入大量时间。我希望这不是一个大问题。
我的预测并不准确。我在 K-9 Mail 上投入了大量时间,并很快成为最活跃的贡献者之一。
2012 年,杰西聘请我开发 K-9 Mail 的商业闭源分叉版 Kaiten Mail。这两款应用之间真正的区别仅在于用户界面的适度改动。因此,我们为 Kaiten Mail 创建的大部分功能和错误修复也都被应用到了 K-9 Mail 中。这对我很重要,也是我接受这份工作的原因之一。
2014 年初,杰西让我担任 K-9 邮件项目的负责人4。在 Kaiten Mail 项目中,终端用户支持耗费了大量时间,最终导致我们失去了开发应用的动力。因此,我们在同一时间停止了工作,该应用也慢慢消失了。
为了支付账单,我开始做一名自由 Android 开发人员5。也许并不奇怪,我更多的时候是承包电子邮件客户端的开发工作。每当我为 K-9 Mail 的封闭源代码分叉6 工作时,我都有一个折扣时薪,适用于为 K-9 Mail 做出贡献的工作。这主要是错误修复,但也会时不时地提供一些奇怪的功能。
2019 年合同结束后,我决定申请原型基金的资助,为 K-9 Mail7 添加 JMAP 支持。这让我基本上可以全职从事这个项目。当资助期于 2020 年结束时,COVID-19 大流行正如火如荼地进行着。当时,我并不想寻找新的合同。我把时间都花在了 K-9 邮件上,以减轻对世界的绝望感。我在博客文章《我成为全职开源开发者的第一年》中总结了我的 2020 年。
最终,我不得不想办法为这种全职开源开发者的生活方式筹措资金。最后,我请求 K-9 Mail 用户捐款,这样我就能获得报酬,将 80% 的时间投入到应用程序的开发中。这样做的效果很好,我在这里写过: 2021 年回顾。
我是在 2019 年末首次了解到创建安卓版 Thunderbird 的计划的。之所以与我接触,是因为当时考虑的方案之一是将安卓版 Thunderbird 基于 K-9 Mail。当时,我对开发安卓版 Thunderbird 并不感兴趣。但我非常乐意帮助将 K-9 Mail 代码库转化为 Thunderbird 可以用作自己应用程序基础的东西。然而,我们似乎从未有过合作的机会。因此,我们之间没有任何具体的进展。但我们一直保持着联系。
2021 年 12 月,许多 Thunderbird 用户要求推出安卓应用程序,为他们找到解决方案似乎成了当务之急。那时,我已经意识到,通过捐款为开源项目提供资金需要持续的筹款努力。Thunderbird 在这方面已经做了很长时间,而且做得相当不错。另一方面,我并不希望在筹款方面做得更好。
因此,当我再次被问及是否有兴趣让 K-9 Mail 和我本人加入雷鸟项目时,我答应了。我们又花了六个月的时间来确定细节并向公众宣布这一消息。
在加入 Thunderbird 项目后,我们致力于为 K-9 Mail 添加我们希望安卓版 Thunderbird 初始具备的功能。移动团队慢慢壮大,包括另一名 Android 开发人员,然后是一名经理。虽然设计团队在组织上是一个独立的小组,但总有至少一名设计师与移动团队合作开发 Android 应用程序。此外,还有其他一些团队负责做不需要安卓工程师做的事情:支持、沟通、捐赠等。
2024 年 10 月,我们终于发布了安卓版 Thunderbird 的第一个版本。发布前的几个月对我来说压力很大。为了不耽误目标发布日期,我们所有人都在同时处理很多事情。不过我们从未加班。发布之后,我们还获得了额外的带薪休假 ❤️
长假过后,我们以更舒适的节奏开始了 2025 年的工作。然而,我在开发应用程序时所感受到的喜悦并没有恢复。我终于在二月初意识到了这一点,当时我正卧病在床,除了思考人生,我没有别的事情可做。
我不认为自己已经接近职业倦怠–工作不再那么有趣,但也远没有到无法忍受的地步。我以前也有过这样的经历。过去,离开 K-9 邮件工作几个月从来都不是问题。但是,如果这是你的工作,情况就不一样了。但由于我非常幸运,有能力请几个月的假,所以我决定这么做。因此,问题在于是休假还是辞职。
从现实情况来看,永远离开 K-9 邮件公司在过去从来都不是一个选项。没有其他人可以接替我的维护工作。这很可能意味着项目的终结。K-9 Mail 对我来说一直都太重要了,我不能让这种事情发生。
但现在这已不再是问题。现在项目背后有一个完整的团队,我的退出不再是对应用程序存在的威胁。
我想探索一下做其他事情的感觉,而不是回到项目已成定局的状态。这就是我辞去 MZLA 工作的原因。
那是一份很棒的工作,我有很棒的同事。我完全推荐与这些人共事,并且会怀念这样的工作😢。
我不知道自己下一步会做什么。一位同事问我是坚持写软件还是完全做别的。这个问题让我很吃惊。因为事后看来,这是个显而易见的问题,而且我甚至从未考虑过做别的事情。我想这意味着我仍然是一个软件人,而且在可预见的将来也是。
在假期里,我非常喜欢做一个初学者,学习我以前作为开发人员没有接触过的技术(NFC 智能卡、USB HID、蓝牙 LE)。因此,我可能会启动很多个人项目,但完成的项目很少,甚至没有😃。
我想,经过适当的休息之后,我很有可能会作为 K-9 Mail/Thunderbird for Android 的志愿贡献者重返岗位。
但现在,我要说 再见 K-9 邮件 👋
在此,我要感谢多年来为 K-9 Mail 和安卓版雷鸟做出贡献的所有人。大家编写代码、翻译应用程序、报告错误、帮助其他用户、捐款、推广应用程序等等。谢谢大家 🙏
- 我最小的弟弟把他的 “旧 ”HTC Magic ❤️ 给了我
- 如果您知道 K-9 Mail 是 2008 年 10 月从 AOSP 电子邮件应用程序分叉而来,就不会感到惊讶了。
- K-9 Mail 项目最初托管在 Google Code 上,当时 Git 还不可用。
- 杰西转而开发键盘。
- 作为一名自由职业者,我每周的工作时间很少超过 30 小时。我确保总是有足够的时间来开发 K-9 Mail。
- 令人惊讶的是,周围有很多这样的分叉。然而,几乎没有任何一个从事这些工作的团队回馈 K-9 Mail 😞。
- 该应用程序目前不支持 JMAP。不过,您可以在软件仓库中找到支持基本 JMAP 的代码。
- 您可以在 Thunderbird 博客的移动版块中找到相关的月度进展报告。
本文文字及图片出自 Goodbye K-9 Mail
你也许感兴趣的:
- 代码、汗水和泪水: 为什么 “冒名顶替综合症 ”从未真正离开过开发人员?
- 为什么大写字母的二维码比小写字母的二维码小?
- 只给不常见的代码添加注释
- 简洁代码与软件设计哲学
- Torvalds:作为 C 语言维护者,你可以避免使用 Rust,但不能干涉它。
- 为什么 target=”_blank” 前面有下划线?
- 揭秘 Python 的 10 个隐藏技巧
- Meta 声称在没有做种证据的情况下下载盗版图书不违法
- Julia 的新天地
- 丑陋的代码和蠢事
读到标题和开头时,我感到一阵寒意,但很高兴看到最后他选择离开这个项目的原因正是因为他觉得这个项目现在有了一个稳定的未来,而不是完全依赖于他。我使用 K-9 Mail 已经很多年了,希望它还能继续使用下去。感谢您所做的一切。)
我停止了阅读,去查看了更新,有一个更新,改变了用户界面,这样我的一个小挫折就解决了:),哇!嗯,不需要改变电子邮件的计划了。然后读完了帖子。
还是有可能的。
我会密切关注他们的发展,因为在我看来,一旦 Android 上的 Thunderbird 完全稳定,他们很可能会将 K-9 Mail 甩在身后。这将是仅存的真正开源电子邮件应用程序之一的悲惨结局,而且随着他的离去,如果他们愿意,他们可以启动它。
我对开源最早的贡献可能是 k9mail。当时我还在读本科,想在开源领域站稳脚跟,并为谷歌的代码之夏做准备。K9 mail 是我的选择,因为它的社区(cketti)很友好,也很包容。
我开始实施长按事件来处理图片/附件菜单选项。我的 PR 并不完善,但 cketti 很好心地清理了它并进行了合并。他们甚至还把我的名字写进了提交日志。现在回想起来,我的 PR 可能浪费了他们的时间,但他们很和蔼,没有抱怨,还给了我荣誉。
我还清楚地记得,在创建 PR 的那些日日夜夜里,我刷新提交日志页面,看到我的句柄出现在上面。
我希望 cketti 无论接下来做什么,都能找到快乐。
我不知道 MZLA 到底是什么,维基百科上是这么说的:
“Mozilla 基金会支持并领导 Mozilla 项目,开发 Firefox、Thunderbird 和[……]有两个应税子公司: Mozilla Corporation 和 MZLA Technologies Corporation。
Mzla 是容纳 TB 项目的实体。TB 和 ff 在行政上是分开的,两个公司是这一事实的具体体现。
希望这种分离意味着 Thunderbird 将不会像 Firefox 现在要求的那样,要求用户电子邮件内容获得 AI 许可。
你有这方面的详细信息吗?如果属实,听起来很令人担忧。
最初在这里讨论过,https://news.ycombinator.com/item?id=43187423
可能是指链接到 https://news.ycombinator.com/item?id=43194536 的帖子中描述的更改。我不清楚它是否是这么说的,但也不清楚它是否允许这么做。
[需要引用]
参见兄弟姐妹的评论。Mozilla 今天发表了一条评论,没有更改新的 ToS(2 月 27 日),但人们可能会问,为什么在使用现有 ToS 提供了多年 “基本功能 ”之后还需要新的 ToS 呢?
> Mozilla 在其公告中增加了一个附录(在我发表本文 12 小时后),以澄清上述摘录中的措辞。它说它需要一个”……许可证来允许我们实现火狐浏览器的一些基本功能。例如,如果没有许可证,我们就无法使用输入到 Firefox 中的信息。它并不赋予我们对您的数据的所有权,也不赋予我们将其用于隐私声明所述之外的任何用途的权利”。
就 GDPR 而言,这是如何运作的。
问得好,https://news.ycombinator.com/item?id=43187423#43192516
K-9 应用程序的历史很有趣。就我个人而言,我一直是另一个自由和开放源码软件电子邮件应用程序(FairEmail)的用户,但我一直在密切关注安卓版 Thunderbird 的发展,在这个领域能有(至少)两个可靠的自由和开放源码软件选择真是太好了。感谢这位开发者,希望他所做的出色工作能得到团队的继续支持。
为什么需要为一个重新命名的开源项目的发布设定一个目标发布日期,以至于给团队造成压力?
* 现在需要支付的工资是否很少?
* 企业销售是否取决于交付日期?
* 他们是否购买了超级彩球广告?
* 是否突然有了经理,有了 OKR 和 KPI?
(顺便说一句,我是一名快乐的 K-9 用户,断断续续使用了 15 年。在回来之前,我曾因 iPhone 和其他实验而间断使用 K-9,目前我正在石墨烯操作系统上使用 K-9。感谢作者和其他 K-9 参与者的工作。)
我没有参与这个项目,但我以前在 Mozilla 工作过(虽然我已经离开三年多了)。也许我可以分享一些关于如何处理这些事情的高层见解。
一般来说,添加新平台时会有特定的功能预期,这可能是一项相当重大的工作。除了品牌重塑,用户界面的外观和感觉也可能会发生变化,所有平台都可能会缺少预期的特定功能。项目截止日期往往是软截止日期,而不是硬截止日期,但设立这些截止日期是为了提供一个工作起点,并确定工作范围。每一天不发布,用户就一天无法使用你的工作成果。
我非常怀疑 Mozilla 是否购买了超级彩球广告,或者是否有其他经济原因来设定这个截止日期。
谢谢,总体理论很有道理。
我不想贬低 k9 所做的大量工作,但 jmap 支持从未超出概念验证状态,这确实令人遗憾。我真的很希望 jmap 能得到主流客户端的支持。
我喜忧参半。他把用户界面设计带入了一个几乎无人问津的方向,然后又无视社区的所有负面反馈。
如果你去看看forum.k9mail.app的主题,你就会发现数以百计,甚至数以千计的帖子对他在2021年推出的我认为是6.0版本的改动提出了严厉的反馈意见。
我喜欢这个应用程序,但对图标恨之入骨。一切顺利。)
这是在引用《神秘博士》。
https://en.m.wikipedia.org/wiki/K9_(Doctor_Who)
感谢 cketti 为 K-9 和 Thunderbird for Android 付出的辛勤劳动。多年来,K-9 是唯一适合我使用的邮件客户端。当我最终过渡到某个基于 CH 的安全网络邮件提供商时,我不得不离开 K-9。但我仍然很欣赏让一个开放协议邮件客户端可靠运行的挑战。享受你的休假吧,无论时间有多长,对未来保持开放的心态:作为软件开发人员,你所磨练的技能是非常重要的,这让你在几乎任何领域都能占得先机。
感谢您为保持 K-9 的轻便和高效所做的工作。
K9 的忠实用户。感谢您的工作!
安卓 K-9 Mail 是否以任何方式转发给塞班 K-9 Mail?
哦,不!K-9 Mail 棒极了,你们做得太棒了。非常感谢。
祝您下一步工作顺利。
“发布前的几个月对我来说压力很大。我们所有人都在同时处理很多事情,以避免在目标发布日期前出现过多失误。不过,我们从未加班。发布之后,我们还获得了额外的带薪休假”
我有点好奇压力的来源是什么。显然不是因为工作过度。
我不知道他们的最后期限是什么性质,但当我为了在最后期限前完成任务而工作时,如果因为合理的原因而无法提前,不被批准加班就会使压力变得更大而不是更好。我制作和关心的东西因为我不能尽快解决问题而被弄坏了。周末我都在努力不去想我现在可以在项目上做的所有事情。
也许你只开发简单的东西。有很多时候,我还没工作到规定的 7.5 小时,就已经筋疲力尽了。
不加班(比如每天工作 8 小时以上),并不意味着你在工作的时间(8 小时)内不会被淹没。
从他们对项目的热情来看,我想仅仅是发布项目的想法就已经让他们感到压力山大了。
听起来好像有很多上下文切换?我明白这有多大压力。
不知道这对雷鸟有什么影响?
Mozilla 的新使用条款:
https://www.quippd.com/writing/2025/02/26/mozillas-new-terms…
无论是在桌面上,还是在安卓系统中。
多年来,尽管我对雷鸟爱恨交加,但我对 Mozilla 基金会一直心存疑虑。(它仍然有超过 10 年的 bugzilla 条目,存在 IMAP 文件夹的基本缺陷)。
也许当 cketti 走出低谷,考虑下一步该往哪里走时,答案会是回到 K-9,从 mozilla 之前的分叉。
该组织几乎完全由 goggle 资助,这确实削弱了它的独立性……
如果出现这样的分叉,我建议将新名称定为 J-8 或 L-10。