News

我们的构建和发布基础设施,以及即将到来的更新

F-Droid 的背后是一大堆自动化系统,用于管理从源代码构建数千个应用的过程。这意味着检查数以千计的源代码库,检查它们是否有更新、构建和新版本,并安全地对它们进行集体签名。所有构建都在称为 buildserver 的全新客户虚拟机实例中运行。所有 Gradle 二进制文件和 Android SDK 包都根据我们观察到的 SHA-256 校验和的公开记录进行了验证。透明度记录流程还会根据上游的公共校验和进行验证。

我们的设置几乎完全在 Debian 上运行。 Debian 是自由软件、坚如磐石的服务器和可重复构建的领导者。这使它成为 F-Droid 的天然家园。我们还努力确保我们维护我们使用的软件包,并在 Debian 软件包之上构建我们的流程。这意味着我们与任何使用 Debian 的人共享维护。回馈似乎需要付出更多的努力,但我们的经验是,从长远来看,它会带来回报。 F-Droid 社区可以通过一个小团队来维护很多东西。另一个例子是这个网站本身:它是使用 Debian 中的 Jekyll 包构建的。

如果你在 f-droid.org 上有一个应用,你可能已经注意到所有构建都发生在 5 年前的 Debian 版本上:stretch。我们正在努力升级到最新的 bullseye 版本。这不仅仅是一个简单的 apt-get upgrade,我们还借此机会彻底改革了构建过程,以便应用构建可以使用相对简单的 Debian 安装作为基本操作系统。我们必须提供一个平台来构建数以千计的应用,所以我们不能随心所欲地升级基础镜像。有些应用需要最新、最好的。其他应用需要古老、稳定的基础操作系统。此更改意味着元数据包含尽可能多的构建逻辑,以便应用维护者可以控制所有步骤。为了实现这一点,我们将尽可能多的部分从 buildserver 基础镜像中剥离出来。

...

从用户到贡献者并更进一步

这篇博文由 F-Droid 的贡献者之一 Licaon_Kter 撰写。为了帮助支持 Licaon_Kter 和其他贡献者的工作,请考虑向 F-Droid 捐赠。我们希望每周筹集 1,200 欧元,以便 Licaon_Kter 可以继续全职进行贡献。

一名用户

20 多年来,我一直在使用自由开源软件。我开始使用双引导来测试 GNU/Linux 发行版,并在几年前决定使用 Slackware。由于 WINE 总是越来越好,双启动的理由很少,我已经切换到 Debian 并完全删除了 Windows 分区。因为我总是离联网的电脑不到 15 分钟,所以我不关心智能手机。当然,我已经为家人设置了几台设备,但是在我拥有自己的旧设备之前,我很惬意地不知道为什么 Android 是自由的,或者为什么 iOS 是封闭的。

我的这台旧设备运行良好,但我听说了 XDA 论坛并开始探索自定义 Android ROM,钻研 Gapps、root 和 AFWall+,这让我非常清楚 Google 是如何在“免费”Android 许可证上赚钱的。

XDA 提到了“替代应用商店”,但那些商店通常不过是从 Google Play 商店复制应用收集它们。这么做我可以避免跟踪,但始终担心这些 apk...

没有用户账户,设计如此

从一开始,道德就一直是 F-Droid 社区的核心,其中重点是自由软件、隐私和用户控制权。F-Droid 设计的一个关键部分是缺少用户帐户。在向用户交付应用的过程中,从未使用过任何用户帐户。这是设计使然。F-Droid 从来没有在 Android 客户端应用中识别或跟踪用户的方法,并且从 f-droid.org 获取信息也从来不需要任何类型的身份信息。

拥有用户帐户使一些问题更容易解决:它使包含评级和评论以及管理文档编辑变得容易。但是,拥有用户帐户会使其他问题更难以解决。用户帐户不可避免地意味着个人身份信息 (PII) 将被收集和存储。用户帐户还需要密码,通常还需要电话号码或电子邮件地址。所有这些数据都需要得到保护。我们的核心目标之一是消除跟踪用户的可能性。拥有用户帐户将使该目标几乎不可能实现。

事实证明,用户帐户几乎不会是构建服务的必要条件,尽管许多服务都让它看上去是这样。用户帐户是收集数据并将所有链接起来创建非常详细的用户画像的好方法。这对于跟踪用户以将其商品化并将他们的注意力出售给最高出价者至关重要。

用户帐户还用于控制对信息和数据的访问。它们用于“区域锁定”视频以及选择性地阻止访问应用。当然,限制访问也有一些有价值的用例,例如确保小孩只能访问适合年龄的内容。但是还有其他方法可以做到这一点,例如通过策划存储库使成人内容通过单独的选择加入存储库交付。

用户帐户是跟踪人们的核心

用户帐户和 ID 是跟踪用户并建立长期画像的关键部分。如果一项服务需要一个帐户来访问它,那么该服务很可能会跟踪其用户。当用户登录时,他们清楚地告诉服务他们是谁。然后,该服务可以轻松地将操作关联到该帐户以建立画像。这并不是说没有正当理由来跟踪用户。如前所述,维基百科编辑器是基于用户帐户的基本服务的一个示例。我们所说的是,如果隐私对你很重要,那么登录要求应该让你停下来思考。

Google 为我们提供了一个丑陋的例子。它在让人们尽可能多地登录方面付出了很多努力,而且他们的大多数服务都要求用户使用帐户登录。以及那些不催促你登录的服务。Chrome 浏览器甚至有登录选项,这些都与 Google 帐户相关联。他们经常说它使服务更易于使用为这一要求辩护 。虽然跟踪用户确实可以在某些方面更好地为用户服务,但 Google 似乎一直将这些案例应用于意味着他们获得更多跟踪数据的情况。使用 Google Meet 时,他们仍然需要登录才能创建会议,即使他们支持在没有帐户的情况下通过 URL 加入会议。Jitsi Meet 的用户体验更加轻松,并且没有账户。或者考虑一下 Google 问题跟踪器:它现在需要 Javascript 和有效的 Google 帐户才能以任何方式使用该服务,即使你只是想阅读现有的帖子。它可以在没有 Javascript...

去中心化分发

Guardian Project 已获得 Filecoin Foundation for the Decentralized Web (FFDW) 的资助,用于去中心化真实性和分发 (DVD)。FFDW 的使命是“通过管理开源软件和分布式数据存储和检索网络的开放协议的开发,确保人类最重要的信息得到永久保存。” Filecoin 建立在 IPFS 之上,IPFS 是“用于存储和访问文件的分布式系统”。FFDW-DVD 项目的分发组件专注于改进 F-Droid 的自由、开放和去中心化的移动应用生态系统。除了本网站和 F-Droid 官方应用提供的旗舰级统一体验之外,F-Droid 还为任何人提供创建、构建、重新混合、发布、复制、重新分发和审查移动应用的所有组件。

这对 F-Droid 用户很重要,因为这意味着他们不会被锁定在 F-Droid 上使其成为垄断应用提供商。F-Droid 社区需要对其用户保持响应,因为 F-Droid 的所有部分都可以被分叉(好吧,除了签名密钥🚫Ψ📝🔑😉)。去中心化也很重要,因为每个用户都有特定的需求和愿望,可能与其他用户发生冲突。许多人只想要自由软件,但其他人愿意在关键地方妥协,还有一些人有强烈的隐私需求,与其他用户喜欢的功能相冲突。分散的应用存储库为用户提供了灵活性,而无需离开主要的 F-Droid 基础设施。

我们同样担心应用商店的围墙花园方式。虽然它们的设计可能是出于对安全性和简单性的考虑,但它们已成为不受约束的控制、审查和监视的来源。智能手机是大多数人的主要计算机,而应用是主要的移动工具。集中式、锁定的电话使现代计算的真正力量不必要地远离了世界上大多数人口。FFDW-DVD 项目将推动 F-Droid 朝着全面支持定制、管理、镜像、审查规避和点对点共享迈进。我们可以为所有人共享能力和知识提供更自由、鲁棒的解决方案。最重要的是,这个项目将让我们有时间专注于使我们的流程更高效、更可靠地运行。

IPFS 和 Filecoin 是这项任务的核心。IPFS 有可能为整个 F-Droid 生态系统提供管道。它是一个去中心化的文件系统,文件可以通过它们被编译成内容标识符 (CID)

新的语言:葡萄牙语

感谢少数志愿者贡献者的努力,F-Droid 网站现在也提供葡萄牙语版本(到目前为止,它仅提供巴西葡萄牙语版本)。翻译工作仍在进行中。鼓励有兴趣提供帮助以完成它们或改进现有翻译的人通过 Weblate F-Droid 门户 (https://hosted.weblate.org/languages/pt/f-droid/) 参与贡献。

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,

固定包:Android 依赖管理和 F-Droid 推送请求

GNU/Linux 发行版如此受欢迎的一个原因是依赖管理内置于操作系统中。在 Debian 中,所有安装的软件都打包为 .deb,并且全部从 Debian 存储库安装。Android 一直缺乏这种依赖管理,我们中的许多人非常想要这样的功能。Android 的模式是所有依赖都应该包含在应用的 APK 文件中,而操作系统只提供最基本的 API。许多应用依赖于其他安装的应用。Android 和 Google Play 都无法表示这种关系。

多年来关于如何为 Android 实现良好的依赖管理进行了各种实验。F-Droid 中最近进行的依赖管理实验是“推送请求”。核心思想是为每个存储库设置一个依赖列表。例如,由于所有 Guardian Project 应用都支持 Tor,因此使用 Guardian Project 存储库意味着 Tor 将被自动安装是有道理的。根据过去几年的经验,很明显,这可以通过其他方式得到更好的处理。应用可以检查是否安装了它所需的应用。该应用应询问用户是否需要 Tor,然后引导他们完成安装过程。当时实施推送请求时还没有内置 F-Droid 的 ROM 项目。现在,将 Tor 作为 ROM 的一部分而不是通过推送请求显然更好。CalyxOS 的设置向导为设置核心依赖项提供了出色的 Android 原生用户体验。

我们现在正在从官方 F-Droid 客户端中移除对推送请求的支持。很明显,其他方法更适合 Android,因此最好消除与此功能相关的虽然小但仍然存在的安全风险。推送请求的“管道”仍将保留在代码库中,因此

新语言:罗马尼亚语

感谢少数志愿者贡献者的努力,F-Droid 网站现在也可以提供罗马尼亚语版本了。虽然主要页面已经完成,但文档和应用描述仍在进行中。鼓励有兴趣帮助完成或改进现有翻译的人通过 F-Droid 的 Weblate (https://hosted.weblate.org/languages/ro/f-droid/) 做出贡献.

RSS RSS