追踪追踪器:使用机器学习辅助道德决策
发布于 2020-01-16,发布者为
F-Droid 是一个自由软件社区应用商店,自 2010 年以来一直致力于让用户可以看到所有形式的跟踪和广告。它已成为关于 Android 中的隐私的一个值得信赖的名字,基于隐私进行销售的应用开发者付出了额外的努力,将他们的应用包含在 F-Droid.org 集合中。其中包括 Nextcloud、Tor 浏览器、TAZ.de 和 Tutanota。审计应用中的跟踪是劳动密集型的且容易出错,但需求量却越来越大。F-Droid 已经在此过程中提供了帮助贡献者的工具,在应用提交和打包请求 (RFP)议题跟踪器中可以见到。我们还有使用机器学习的功能原型,通过增强人类而不是取代人类来大幅加速这一过程。 由于 F-Droid 社区的主要动机是合乎道德的软件分发,算法永远不会取代人类做出合乎道德的决策。我们还探索了使用机器学习以更通用的方式检测跟踪,而不需要手动编译跟踪库列表。有了这笔资助,我们将改进 F-Droid 工具,并使它们普遍适用于任何需要可靠检测 Android 应用中的跟踪器的用例。这建立在我们与 Exodus Privacy 和 LibScout 的合作上。 这个项目来自 Aaron Kaplan 和 Hans-Christoph Steiner 与维也纳经济大学 (WU) 数据科学实验室 的学生一起做的一些概念验证工作。我们专注于在 Android 应用中使用机器学习,首先检测恶意软件,然后检测跟踪库。当然,这最终是 F-Droid 社区努力的结果,以及 Guardian Project 资助的在没有任何跟踪的情况下构建系统的努力。特别感谢 F-Droid 创始人 Ciaran Gultnieks 自 2010 起定下的合乎道德的基调启发了我们所有人。...
F-Droid 在 36c3
发布于 2020-01-09,发布者为
去年 12 月,一些 F-Droid 贡献者相聚在 36c3。由于它是许多相关项目的大型聚会场所,因此我们将这份关于 F-Droid 活动的小报告包括在其中。我们举行了由 @Bubu 领导的开发者会议和用户会议。在开发者大会上,约 10 位参与了 Replicant、K-9、Nextcloud、microG、Conversations、AntennaPod 等关键自由软件项目的开发者进行了交流。一项重大改进是 CCC 应用更新启动得更早,f-droid.org 更新过程运行更顺畅。与去年不同,我们没有抱怨 f-droid.org 存储库已过时。 与 Replicant 讨论了如何处理不是 100% DFSG 自由软件的应用,例如标有 NonFreeAdd、NonFreeDep,或 NonFreeAssets 的应用。Replicant 旨在获得完整的自由软件基金会认证,因此它遵循比 F-Droid 目前更严格的标准。例如,任何引导用户安装非自由软件的应用对于 Replicant 来说都是不可行的。我们计划继续讨论,看看 F-Droid 和 Replicant 贡献者如何理解负面特征。此外,一些想法已经达成一致,主要是在等待某人实现。例如,在客户端应用中进行负面特征过滤并允许 ROM 能够设置默认值。如果你有兴趣,请在论坛、问题跟踪器和/或聊天室中联系我们。 我们收到的反馈是,使应用被 F-Droid 收录的过程仍然非常不直观,并且记录不充分。一位用户表示愿意对此做出贡献。 @Bubu 通过会议贴纸交换箱分发了近 5000 个 F-Droid 贴纸,并将它们提供给感兴趣的组织 (Matrix, Nextcloud,...
受信任的更新渠道与挠痒痒
发布于 2019-12-02,发布者为
自由软件的一大优点是人们可以轻松地获取实用程序或库,并按照他们认为合适的方式对其进行定制。任何人都可以提交错误修复或改进,并且可以在许多人、项目和组织之间轻松共享。对于像
Python 的 pypi
这样的分发系统,有一个更新通道,受信任的维护者可以发布修复程序,以便库的使用者可以轻松获得更新。在谈到更新渠道和代码时,不可避免地还要谈到人和信任。一个关键部分是使用者和维护者之间的信任关系。理想的软件分发系统将是软件维护人员和每个最终用户之间的盲目、可信赖的管道。
由于我们讨论的是代码库,因此自然关系与信任关系不同:它是在消费者和库本身之间,而不是维护者之间。我使用 Requests 来处理 HTTP,而不是
@nateprewitt 的复刻。我的 setup.py 包含对 'requests' 的引用,而不是对我信任的保持库更新的维护者的引用。
有一些案例是依赖库被接管并被用于分发恶意软件。或者在另一个案例中有人提出接管一个流行的库,然后将恶意软件插入其中。如果维护者太轻易将库交给其他人,那么这将被滥用。如果它们太难移交,那么许多有价值的库将被放弃或分叉。必须检查分叉给库使用者增加了额外成本,因此理想情况是总有一个值得信赖的维护者。
对于像 Requests 这样的大型项目或像 Debian 这样的发行版,有一个过程可以确保新的维护者做正确的事情。还有很多非常有价值的小型库。例如,apache_log_parser 或 pymtp。在这些情况下,与库作者投入的整体努力相比,通过适当的流程将其移交给新的维护者的成本是相当大的。或者它可能是由现在被其他工作缠身的单一维护者维护。
在 F-Droid 中,审查应用合并请求,即
fdroiddata,也是审查信任关系是否发生变化。这建立在确保新代码正常工作、确保其仍然是自由软件以及所有负面特征都已正确标记的基础之上。正确进行此审核非常重要,尤其是当你考虑到在
F-Droid 中,许多应用会自动更新而不需要核心贡献者对其进行审核。
所有开发者都必须在软件开发过程中的多个关键点考虑这些信任问题,包括:
将库添加到任何软件时
帮助新的维护者接管现有软件
审查对源代码存储库 URL 的更改
还有一些关于如何更好地将我们需要信任的人映射到包含软件的过程的想法。一个有趣的例子是 Rust 生态系统的
cargo-crev。它提供了一个描述和加密链接受信任的开发者及其对软件包的审查的系统。
新语言:波兰语
发布于 2019-10-29,发布者为
我们很高兴地宣布在这个网站上发布完成的波兰语翻译!波兰语翻译者几乎涵盖了所有可以翻译的文本,100%
的客户端、网站字符串、静态页面和教程都提供波兰语。最重要的是,95% 的文档、83% 的博客文章和 78% 的应用摘要都是波兰语。如果你想看到这达到
100%,请在 Weblate
上进行贡献。
这并不意味着网站上的每一个文本都是波兰语,因为我们从应用开发者那里获取应用描述。为了方便翻译人员为 F-Droid
中的所有应用贡献翻译,你可以找到已设置翻译服务的应用的 翻译 链接。
更多语言
我们希望包括所有已完成的语言,因为它们已准备就绪。不幸的是,这个网站太大了,我们目前没有资源来生成所有语言的完整网站。该站点目前生成大约 43,000
个页面。测试站点包括所有翻译,无论是否完整。它目前有 92,500 个页面,构建时间是原来的两倍多。
为了支持更多页面,我们需要帮助优化 Jekyll。F-Droid 的其他部分没有使用 Ruby,因此贡献者难以很好地优化我们的 Jekyll
设置。另一个需要大量工作的选择可能是将站点移植到 Hugo。
在我们的论坛上关注完整的讨论。
测试有助于获取更新
发布于 2019-10-02,发布者为
经过几个月的中断,我们的完整构建服务器的暂存设置再次运行,这要感谢托管该基础架构的可重复构建团队。这些持续集成
(CI) 作业基于当前源代码(例如
master)每周一次从头开始创建一个完整的构建服务器。然后使用此构建服务器实例构建所有尚未在这台机器上构建的应用。让这些
CI
作业再次运行向我们指出了一个阻止更新发布超过一周的关键问题。
我们经常收到有关人们如何为 F-Droid 做出贡献的问题。一种不太明显但仍然很重要的贡献方式是监控这些 CI
作业,然后排除故障原因。所有这些服务器设置都是自动化的,所有运行 f-droid.org 的软件都是自由软件。
任何人都可以关注 CI 测试,构建和发布过程的官方测试都列在 fdroidserver 项目
README
中。然后我们欢迎合并请求修复问题,提交问题以报告和跟踪问题,甚至在我们的聊天室中讨论问题.
我们正在实现应用数据库的现代化
发布于 2019-09-11,发布者为
我们保留了一个数据库,其中包含有关我们正在发布的所有应用的结构化信息。在架构方面,这是版本控制系统中的一组纯文本文件。它是我们数据驱动的应用构建和分发系统的核心。也许你已经听说有人提到
F-Droid Data。有时我们也将其称为应用元数据。
我们开始使用自定义域特定语言 (DSL) 来存储我们的元数据文件,使用 GIT 进行版本控制。毫不奇怪,我们的自定义 DSL 看起来很像流行的标记语言
YAML。这就是我们在一年前开始支持以 .yml 文件格式存储应用元数据的原因。
我们最终完全弃用 .txt 元数据支持。我们出色的打包团队几乎完成了将整个数据库迁移到 .yml 的工作。
为了简单起见,我们将继续提供一个方便的子命令,以便每个人都可以方便地将现在已弃用的 .txt 元数据文件转换为 .yml:
$ fdroid rewritemeta --to yml
从长远来看,删除 .txt
元数据支持将使我们摆脱大量的源代码。这将使我们的维护变得更加简单,同时也降低了新贡献者的学习曲线。它还将更快地添加新功能并简化创建工具、CI、审计、指标等。
此外,这将使每个人都更容易访问我们的数据库。我们希望看到开发者、爱好者和科研人员提出有趣的第三方工具、用例或研究。
我们感谢:Izzy 和 Bubu
迁移我们的数据库以及 Hans 和 me
(uniqx) 实现 YAML 元数据支持。
关于自由软件中立性的公开声明
发布于 2019-07-16,发布者为
在过去的一周里,在论坛和 fediverse 中发生了一场围绕
F-Droid 的争论。我们觉得我们必须发表一份公开声明来明确 F-Droid 对此的立场。
回顾一下情况:一个网站,作为众所周知的“言论自由区”意味着它声称可以容忍所有意见,半个月前才加入联邦宇宙。虽然从理论上讲,这似乎是一个很好的概念,但它会产生严重的后果:种族主义、性别歧视、辱骂、暴力民族主义宣传、对性少数群体的歧视、反犹太主义等等在这种情况下变得流行起来。出于充分的理由,在联邦宇宙中的绝大多数情况下,所有这些事情都是被禁止的。因此,即使在提到的网站加入联邦宇宙之前,大多数实例已经将其屏蔽。
Tusky 是在 Android 设备上访问 fediverse
的最受欢迎的应用之一,其开发者决定更进一步,实施一种不允许登录上述网站的机制。另一方面,Fedilab
决定不实施这样的机制,指出它是无效的(下面将详细介绍),并且工具的开发者不应该决定允许哪些人使用它。
F-Droid 作为一个项目很快迎来了它的 9 岁生日。在这 9 年中,F-Droid
的使命过去和现在都是创建一个人们可以下载他们可以信任的软件的地方——这意味着其旗舰存储库中只提供自由开源的软件。作为一个项目,它一直试图保持中立。但有时,保持中立不是一种选择,反而会导致前面提到的对边缘化群体的压迫和骚扰的兴起。我们不希望也不会支持。F-Droid
在这里采取了政治立场。
F-Droid
不会容忍对边缘化群体的压迫或骚扰。因此,它不会打包或分发推广这些内容的应用。这包括它不会分发通过其品牌、其默认实例域或任何其他直接推广来促进前述网站使用的应用。这也意味着
F-Droid 不会允许在其通讯渠道(包括其论坛)上发生压迫或骚扰。在过去的一周里,我们未能在论坛上实现这一目标,我们对此表示歉意。
我们认为,必须对 F-Droid 的存储库或 fediverse
实例等平台进行审核,以防止压迫和骚扰猖獗。然而,我们认为需要区分平台和工具。就其本质而言,自由软件按定义允许用户“研究程序的工作原理,并对其进行更改,以便进行计算如你所愿”。正因为如此,在自由软件中实现的任何限制基本上都是无效的,因为人们可以修改源代码并消除这些限制。我们尊重
Tusky 屏蔽上述网站的决定;在他们的软件中引入此类限制是他们的权利。我们也尊重 Fedilab
不对登录屏蔽进行硬编码的决定;相反,他们正在积极努力使在应用本身中阻止某些域更容易,从而赋予用户更多权力来调节他们将看到的内容。如果人们不同意
F-Droid 不标记 Fedilab 的决定,一个想法是开发一个基于包 ID 的去中心化标签系统,允许第三方服务器与他们的社区分享他们自己的警告。
TWIF 64:我们回来了!
发布于 2019-07-11,发布者为
F-Droid 每周新闻 64,第 28 周,2019
本期中:F-Droid 1.7 发布,Tutanota 现在有了日历功能,OSMAnd 3.4 beta,Orbot
更新,关于可重复构建的信息,Tusky & Gab 讨论结束,以及关于 F-Droid 应用本地化的报告。
