RC3 大会上的 F-Droid 会议

Chaos Computer Club 大会 通常线下举行,但疫情迫使它变成了一个名为 RC3 的虚拟活动。很多开源爱好者都来这里参观,所以不必惊讶普遍有喜欢 F-Droid 和 FOSS Android 应用的人。2019 年,我们在大会上已经举行了 F-Droid 会议。今年,我们在 2021 年 12 月 30 日安排了一次虚拟会议,并已在 F-Droid 论坛上,以及 Mastodon 和 Twitter 上宣布了这一活动。

大约 10 人 – 主要是各种开源应用的维护者 – 加入并讨论了近 3 个小时。当然有来自 F-Droid 本身的开发者(客户端应用打包服务器),也有来自 K-9 Mail, AntennaPod, Etar, Event FahrplanTiny Weather Forecast 等应用的开发者。

在其他较小的主题中,我们讨论了以下内容:

  • 大多数开源应用都是由志愿者在空闲时间开发的。为了将时间花在开源应用开发上作为实际的兼职工作,开发者需要收入来源。只有一小部分开发者可以真正靠他们收到的捐款过活。我们讨论了每个人接受捐款的经历。一个重要的方面是,定期(小额)捐赠比不经常(大额)捐赠更有帮助,因为它更容易计划。我们讨论了如何在不扰人的情况下要求用户捐款。F-Droid 已经将捐赠链接存储在应用元数据中,并显示在客户端的应用详情页面上。这样做的问题是,下载后,用户不再主动使用应用详情页面。我们一致认为,在 F-Droid 客户端的“更新”选项卡上请求捐赠会很棒:当一个应用安装了很长时间时,客户端可以询问你是否要捐赠以保持应用开发的可持续性。“更新”选项卡已经为此类消息准备好了,但它仍然需要开发者来实现最后的部分。
  • 许多 F-Droid 用户在使用相当旧的 Android 设备。一个可能的原因是他们关心环境并且不想扔掉工作设备。为了继续支持旧的 Android 版本,应用开发者必须投入大量工作。一个例子是在旧的 Android 版本上支持 HTTPS 连接很困难。HTTPS 连接不仅会影响浏览器应用,还会影响天气预报应用或播客播放器等应用。尽管每个应用都有可以携带必要的代码来连接到现代 HTTPS 服务器,但这会使每个应用的大小增加约 4 MB。已经有关于如何仅让一个应用携带 HTTPS 代码并将其从那里加载到其他应用的想法。主要的问题是哪个应用足够值得信赖以携带这样的安全关键代码。我们讨论过将其包含在 F-Droid 客户端中并不是一个好主意,因为该应用已经相当复杂。鉴于运行 Google 服务的设备和运行 microG 的设备都已经有该代码的提供程序,我们决定我们应该只编写一个与该系统组件对话的开源库。因此,该库基本上是 Google 的 ProviderInstaller 的开源重新实现,调用相同的系统 API
  • F-Droid 上的应用偶尔会有下架请求,例如因为版权主张。通常很难联系应用作者。某些应用使用没有问题跟踪器的 git 存储库,并且在将新应用添加到 F-Droid 存储库时我们不会主动要求联系电子邮件地址。我们讨论了在应用的元数据中设置一个可以存储联系人电子邮件地址的自定义字段。
  • 一些应用充分利用了不同的构建风格。构建风格是同一应用的不同版本,共享大部分源代码。F-Droid 支持在发布应用时指定要使用的构建风格,但它在截图和应用描述等元数据方面存在问题。我们讨论了如何处理该问题的方法。
  • 一个经常影响应用开发者的问题是在 F-Droid 上更新应用需要花费大量时间。构建服务器首先必须编译应用的源代码。然后,这些应用在未连接到 Internet 的计算机上手动签名。应用开发者可以用来处理的一种方法是使用可重复构建。通过可重复构建,F-Droid 分发带有原始开发者签名的应用。这样,用户可以在 F-Droid 的应用版本和开发者的应用版本之间切换,而不需要重新安装。然后,应用开发者可以在他们的网站、应用内部或他们自己的 F-Droid 存储库中发布关键更新,用户仍然可以直接更新应用 - 即使他们最初是从 F-Droid 安装的。

我们希望明年我们可以再次见面。