News - page 28

F-Droid 在 36c3

去年 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,...

受信任的更新渠道与挠痒痒

自由软件的一大优点是人们可以轻松地获取实用程序或库,并按照他们认为合适的方式对其进行定制。任何人都可以提交错误修复或改进,并且可以在许多人、项目和组织之间轻松共享。对于像 Python 的 pypi 这样的分发系统,有一个更新通道,受信任的维护者可以发布修复程序,以便库的使用者可以轻松获得更新。在谈到更新渠道和代码时,不可避免地还要谈到人和信任。一个关键部分是使用者和维护者之间的信任关系。理想的软件分发系统将是软件维护人员和每个最终用户之间的盲目、可信赖的管道。 由于我们讨论的是代码库,因此自然关系与信任关系不同:它是在消费者和库本身之间,而不是维护者之间。我使用 Requests 来处理 HTTP,而不是 @nateprewitt 的复刻。我的 setup.py 包含对 'requests' 的引用,而不是对我信任的保持库更新的维护者的引用。 有一些案例是依赖库被接管并被用于分发恶意软件。或者在另一个案例中有人提出接管一个流行的库,然后将恶意软件插入其中。如果维护者太轻易将库交给其他人,那么这将被滥用。如果它们太难移交,那么许多有价值的库将被放弃或分叉。必须检查分叉给库使用者增加了额外成本,因此理想情况是总有一个值得信赖的维护者。 对于像 Requests 这样的大型项目或像 Debian 这样的发行版,有一个过程可以确保新的维护者做正确的事情。还有很多非常有价值的小型库。例如,apache_log_parser 或 pymtp。在这些情况下,与库作者投入的整体努力相比,通过适当的流程将其移交给新的维护者的成本是相当大的。或者它可能是由现在被其他工作缠身的单一维护者维护。 在 F-Droid 中,审查应用合并请求,即 fdroiddata,也是审查信任关系是否发生变化。这建立在确保新代码正常工作、确保其仍然是自由软件以及所有负面特征都已正确标记的基础之上。正确进行此审核非常重要,尤其是当你考虑到在 F-Droid 中,许多应用会自动更新而不需要核心贡献者对其进行审核。 所有开发者都必须在软件开发过程中的多个关键点考虑这些信任问题,包括: 将库添加到任何软件时 帮助新的维护者接管现有软件 审查对源代码存储库 URL 的更改 还有一些关于如何更好地将我们需要信任的人映射到包含软件的过程的想法。一个有趣的例子是 Rust 生态系统的 cargo-crev。它提供了一个描述和加密链接受信任的开发者及其对软件包的审查的系统。

新语言:波兰语

我们很高兴地宣布在这个网站上发布完成的波兰语翻译!波兰语翻译者几乎涵盖了所有可以翻译的文本,100% 的客户端、网站字符串、静态页面和教程都提供波兰语。最重要的是,95% 的文档、83% 的博客文章和 78% 的应用摘要都是波兰语。如果你想看到这达到 100%,请在 Weblate 上进行贡献。 这并不意味着网站上的每一个文本都是波兰语,因为我们从应用开发者那里获取应用描述。为了方便翻译人员为 F-Droid 中的所有应用贡献翻译,你可以找到已设置翻译服务的应用的 翻译 链接。 更多语言 我们希望包括所有已完成的语言,因为它们已准备就绪。不幸的是,这个网站太大了,我们目前没有资源来生成所有语言的完整网站。该站点目前生成大约 43,000 个页面。测试站点包括所有翻译,无论是否完整。它目前有 92,500 个页面,构建时间是原来的两倍多。 为了支持更多页面,我们需要帮助优化 Jekyll。F-Droid 的其他部分没有使用 Ruby,因此贡献者难以很好地优化我们的 Jekyll 设置。另一个需要大量工作的选择可能是将站点移植到 Hugo。 在我们的论坛上关注完整的讨论。

测试有助于获取更新

经过几个月的中断,我们的完整构建服务器的暂存设置再次运行,这要感谢托管该基础架构的可重复构建团队。这些持续集成 (CI) 作业基于当前源代码(例如 master)每周一次从头开始创建一个完整的构建服务器。然后使用此构建服务器实例构建所有尚未在这台机器上构建的应用。让这些 CI 作业再次运行向我们指出了一个阻止更新发布超过一周的关键问题。 我们经常收到有关人们如何为 F-Droid 做出贡献的问题。一种不太明显但仍然很重要的贡献方式是监控这些 CI 作业,然后排除故障原因。所有这些服务器设置都是自动化的,所有运行 f-droid.org 的软件都是自由软件。 任何人都可以关注 CI 测试,构建和发布过程的官方测试都列在 fdroidserver 项目 README 中。然后我们欢迎合并请求修复问题,提交问题以报告和跟踪问题,甚至在我们的聊天室中讨论问题.

我们正在实现应用数据库的现代化

我们保留了一个数据库,其中包含有关我们正在发布的所有应用的结构化信息。在架构方面,这是版本控制系统中的一组纯文本文件。它是我们数据驱动的应用构建和分发系统的核心。也许你已经听说有人提到 F-Droid Data。有时我们也将其称为应用元数据。 我们开始使用自定义域特定语言 (DSL) 来存储我们的元数据文件,使用 GIT 进行版本控制。毫不奇怪,我们的自定义 DSL 看起来很像流行的标记语言 YAML。这就是我们在一年前开始支持以 .yml 文件格式存储应用元数据的原因。 我们最终完全弃用 .txt 元数据支持。我们出色的打包团队几乎完成了将整个数据库迁移到 .yml 的工作。 为了简单起见,我们将继续提供一个方便的子命令,以便每个人都可以方便地将现在已弃用的 .txt 元数据文件转换为 .yml: $ fdroid rewritemeta --to yml 从长远来看,删除 .txt 元数据支持将使我们摆脱大量的源代码。这将使我们的维护变得更加简单,同时也降低了新贡献者的学习曲线。它还将更快地添加新功能并简化创建工具、CI、审计、指标等。 此外,这将使每个人都更容易访问我们的数据库。我们希望看到开发者、爱好者和科研人员提出有趣的第三方工具、用例或研究。 我们感谢:Izzy 和 Bubu 迁移我们的数据库以及 Hans 和 me (uniqx) 实现 YAML 元数据支持。

关于自由软件中立性的公开声明

在过去的一周里,在论坛和 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:我们回来了!

F-Droid 每周新闻 64,第 28 周,2019 本期中:F-Droid 1.7 发布,Tutanota 现在有了日历功能,OSMAnd 3.4 beta,Orbot 更新,关于可重复构建的信息,Tusky & Gab 讨论结束,以及关于 F-Droid 应用本地化的报告。

改善我们的“公共汽车系数”

“公共汽车系数”是衡量一个自由软件项目是否健康的一个重要指标,尽管这个想法是相当可怕的。随着 F-Droid 从一个项目扩展到整个社区的努力。而且还有很多工作不是一个人能做的。基本基础设施需要由不同的人维护,以使整个项目具有弹性并由社区拥有。 为此,我们为关键基础设施提供了一个新主机。网站构建和部署过程现在由 Calyx Institute 的 Nick Merrill 在冰岛托管。对于涉及隐私的项目,很难找到更好的组合。Nick 是 F-Droid 用户,Calyx Institute 正在构建尽可能私密的互联网服务,其中 F-Droid 是关键部分。尼克还与美国政府的秘密命令作斗争并在经过 11 年的艰苦法律诉讼后在美国联邦法院获胜。最后,冰岛是托管需要强大隐私的互联网服务的最佳地点之一。 技术细节 几年前,我们对这个网站进行了大修,让它可以由 F-Droid 贡献者翻译成任何语言。我们现在有 15 种语言,还有更多正在进行中。 虽然我们当时没有意识到,但看起来我们已经创建了使用静态站点生成器 (SSG) 生成的最大网站。目前大约有 30,000 个页面,(staging.f-droid.org 有 75,000 个页面!),我们还没有找到更多页面的 Jekyll 网站。所有这些都意味着构建和部署过程是资源密集型的,并且可能需要一段时间。它也被证明有点脆弱,主要是因为该过程使用了太多的内存和 CPU。 新的部署服务器设置完全使用 Ansible 编写脚本,在普通的 Debian 机器上运行。因此,如果当前服务器由于某种原因出现故障,我们可以轻松地重新创建一个新服务器。这对于公共汽车系数也很有用,因为如果现有维护者完全消失,任何人都可以重新创建整个部署设置。 欢迎贡献! 最后一件事:如果你曾经问过为什么 F-Droid 的某些方面不能正常工作,那么答案很可能是:F-Droid 需要更多的贡献者!这个新的部署服务器是任何人都可以独立于当前贡献者开发的完美示例。整个网站是自由软件并且是公开可用的,因此任何人都可以访问所有部分以构建真实网站的完整工作副本。

RSS RSS