让可重复构建肉眼可见
发布于 2025-05-21,发布者为
我们的生活正全面步入数字领域,个人数据流转于各类软件之中。随着软件对生活的介入程度日益加深,确保软件值得信赖已变得前所未有的重要。目前,手机用户往往只能盲目相信开发者不会不当共享或滥用其私人数据。显然,许多软件供应商已经辜负了这份信任。事实证明,仅仅寄希望于开发者的良知是行不通的。当用户被迫去信任某家公司而非软件本身时,平台巨头的权力会被放大,而这种权力中心化往往导致监管与问责的缺失。虽然开源、自动化审查和代码审计可以验证源码的可靠性,但计算机实际运行的是二进制文件而非源代码。因此,应用发布流程必须能够确保设备上运行的二进制文件与受信任的源码完全一致。这套流程被称为可重现构建。 F-Droid 维护着一套完整的自由软件系统,旨在以全自动化的方式安全地发布 Android 应用。自 2010 年起,f-droid.org 网站便一直基于该系统运行。通过可复现构建技术,我们可以将设备上运行的实际应用与其原始代码建立起强有力的关联。一旦源代码经过了彻底的审查与理解,可复现构建就能让我们将这份信任同样延伸到最终的二进制安装包上。若要确保软件值得信赖,可复现构建是不可或缺的。因此,F-Droid 从 2015 年开始 就一直在提供可复现构建版本。 去年,我们获得了 NLnet 基金会的资助,用于重构我们的构建体系,并效仿 Debian 的可复现构建标准。我们的核心目标是:通过大规模重构来排查可重现性问题;简化验证重构工具的部署流程;以及向最终用户提供更多关于可重现构建的透明信息。这将提升整个Android 自由软件生态系统的安全性与可靠性。 将可重复构建呈现给用户 尽管可复现构建至关重要,但要将其意义直观地呈现给用户却很困难。可复现构建的核心应在于通过一个可审计的过程实现自动化确认。为了充分发挥其效用,这种机制不能建立在“假设某人操作无误”的基础之上。应用开发者由于亲手构建程序,非常容易理解这一点,因为他们可以亲自检查并运行这些流程。然而,我们该如何让普通用户也能体验到这种保障呢? 目前,f-droid.org 上的每个应用详情页都包含一个“可复现状态”链接。我们的验证服务器会根据构建结果显示 ✔️️ 或 💔:✔️️ 表示复现构建程序生成了完全相同的 APK 文件,而 💔 则表示未能复现。IzzyOnDroid 仓库则开发了一套更完善的徽章系统,为每个复现构建程序显示 ✅。此外,还有一个五级示意图,展示了构建过程中涉及的具体环节。尽管像 Archlinux 和 Debian 这样的项目也提供了面向开发者的工具来反馈可复现构建的情况,但它们并未在包管理 GUI 等面向用户的界面中展示这些信息。 像这样的徽章很容易添加,用户也习惯于看到它们。例如,当使用HTTPS时,浏览器会显示一个 🔒。Keyoxide 使用 OpenPGP 来验证各种在线身份之间的链接,并旨在使其对非技术用户易于使用。Bluesky 已经试验过具有一定程度 身份认证的徽章。然后是 Twitter 著名的徽章,它基本上只代表用户付了钱 或 Elon Musk...
Happiness is an update
发布于 2025-05-15,发布者为
This Week in F-Droid TWIF curated on Thursday, 15 May 2025, Week 20 Community News Looks like not all Nextcloud mobile users are as happy as they can be, and here at F-Droid, we attend to their happiness by building Nextcloud, Nextcloud Dev, updated to 20250505 today, and a plethora...
Pins and map pins
发布于 2025-05-08,发布者为
This Week in F-Droid TWIF curated on Thursday, 08 May 2025, Week 19 Community News Jami was updated to 20250423-01 with a bit of polish. While that’s not gonna keep you busy for long, you can read the latest blog posts: “Can I call regular phone numbers with Jami?”, spoiler:...
Love all apps, 💔 or ✔️️
发布于 2025-05-01,发布者为
This Week in F-Droid TWIF curated on Friday, 02 May 2025, Week 18 F-Droid core Reproducible builds are taking over our Android FOSS world, but they might go under the radar. We push for them and guide developers of new apps to work towards this goal at inclusion time, and...
NGI Mobifree 资助客户端应用的全面重构
发布于 2025-04-29,发布者为
F-Droid 应用诞生于 2009 年 Android 发展的早期,其代码库中至今仍保留着大量陈旧的代码。尽管 Android
生态已经历了翻天覆地的变化,但 F-Droid 社区依然凭借各种缝缝补补的临时手段,奇迹般地维持着这款应用的运转。
然而,这项任务正变得愈发艰巨。在项目的生命周期中,总会遇到这样一个阶段:累积的技术债已到了无法收拾的地步,唯一的出路就是从头开始重写。这项工作已经开展一段时间了。我们一直在重构应用的基础组件,并将其转化为可复用的类库。不过,大部分上层代码也同样需要重写。
遗憾的是,由于剩下的部分存在长期积累的错综复杂关系,我们现在已经无法通过零星的改动来完成这项任务了。剩余的工作需要大刀阔斧地一次性完成,但这对于个人志愿者的贡献来说工作量太大,而且这类性质的工作通常也很难吸引外部资助者的青睐。
因此,我们非常荣幸地宣布,下一代互联网倡议旗下的
Mobifree 项目已同意资助这一重大的现代化工程。在他们的支持下,我们计划对
F-Droid
客户端进行全面升级,重点优化用户界面,提升易用性,从而吸引更多新用户。与此同时,此次升级将降低开发者参与贡献的门槛;此外,通过提升测试覆盖率并减少代码耦合,维护人员在审查和合并外部代码时也将更加高效、轻松。
重写后的代码将完全采用 Kotlin 编写,并利用
Compose
构建用户界面。通过采用现代架构模式,应用将变得更易于维护,也能让开发者更愉快地参与代码贡献。此外,它还能实现响应式界面,自动适配从手机、折叠屏、平板到桌面端的各类屏幕尺寸。
A waterfall of acronyms
发布于 2025-04-24,发布者为
This Week in F-Droid TWIF curated on Thursday, 24 Apr 2025, Week 17 Community News NLNet has been a great supporter of F-Droid and FOSS in general over the years, and we hope it can do its good work many eons ahead. Some more projects got funded this month, as...
质感设计第三版
发布于 2025-04-23,发布者为
F-Droid 应用待发布的 1.23.0 版本带来一项视觉改观:现已采用 Material Design
3,使界面呈现 Google 所要求最新标准。更新亦实现全屏显示效果,最大限度利用屏幕空间。
感谢 proletarius101 为此付出的
核心努力。吸取了以往的教训,Ta
特意让这次合并请求保持得尽可能精简,克制住了修改更多代码的冲动,以提高代码被成功采纳的几率。
我们想方设法恰好赶在预计 Google 要发布其设计语言的预计更具“表现力”又一个迭代前合并并发布了此作品。
纵然新版 Material Design 支持动态颜色,原主题色仍然保持。未来可能支持或不支持动态颜色。参见该主题之相应
ticket。
Decades of git
发布于 2025-04-17,发布者为
This Week in F-Droid TWIF curated on Thursday, 17 Apr 2025, Week 16 F-Droid core Since last week, F-Droid and F-Droid Basic are enjoying the new Material UI look. Did the new palette change your view on this catalogue of FOSS applications? Should we make the colors more pastel? On...
