此页面是__正在进行的__工作,需要专家关注这个主题,尤其是事实核查方面。
本指南给出了一些更详细的信息,说明在元数据字段中应该存储什么。大多数项目已经过期,将随着时间的推移与手册合并。
源代码
F-Droid 服务器不会直接在网上发布 APK,相反,F-Droid 服务器需要一个可构建的源代码来构建 APK。这样,服务器就能保证生成的 APK 准确地展现了源代码,没有任何隐藏的负面特征。
因为 F-Droid 从其源代码构建每个应用(通过带有 ant、gradle 或 maven 的 Android SDK,有时在 Android NDK、标准 GNU/Linux 程序和 BASH shell 中的一些预处理的帮助下),可能如果你可以在源代码中看到一个名为 AndroidManifest.xml 或 build.gradle 的文件,那么 F-Droid 可以构建它的可能性有很多。
请注意,大多数项目都调用预构建的库。这些的源代码可以在其他地方找到。对于 ant,这些将在 libs/ 文件夹中找到,外部的在
project.properties 文件中提到;对于
gradle,这些将在_build.gradle_中提及,并且通常从http://mvnrepository.com中提取;对于 maven,将有
pom.xml 文件来描述依赖关系。
如果使用本机代码预构建的库,这些库通常可以在res/raw/或assets/中找到:在README中应该有一些关于这些的内容。上面的示例具有一个带有文本引用的
jar 文件依赖项,并且不使用任何外部库,因此不需要额外的引用。
许可
- 例如 总体:https://gitlab.com/fdroid/fdroidclient/blob/master/LICENSE(GPLv3+许可证下的源代码);- 例如 源代码头:
https://gitlab.com/fdroid/fdroidclient/blob/master/app/src/main/java/org/fdroid/fdroid/AppDetails.java
(GPLv3+ 许可证下的文件头);-
例如库:https://gitlab.com/fdroid/fdroidclient/tree/master/libs(请参阅LICENSE文件,其中包含Apache许可证,该库的2.0许可证);-
例如艺术品:https://f-droid.org/about(参见CC BY-SA 3.0艺术品许可证)
F-Droid 资源库中的所有应用必须是FOSS(自由和开放源代码软件)。如果该软件没有明确说明在 GNU许可证列表 中被列为自由软件许可证,那么它可能不是。
如果应用的源代码中没有任何 README 或 LICENSE,F-Droid
社区很难验证整个源代码、库和艺术品是否已发布在合适的自由和开源许可下。因此,验证应用在源代码的每个文件中都有标题,库文件夹中的文本文件以及源代码或应用的官方网站上的声明,清楚地解释所有许可证是一个很好的做法。可以找到与应用相关的东西。
Note: There is a little precisation to do about the use of the GNU General Public License v2. The Android support library and most other Android libraries are licensed under the Apache Licence. Due to technical legal reasons, these can’t be combined with the GNU General Public License v2. In case of an app released under the GPLv2, it is legally accepted only if the source code headers of the app say «GPLv2 or later», then we can choose the overall licence to be GPLv3 (this because on the contrary the GPLv3 is full legally compatible with the Android support library and the others libraries).
概要
概要应该尽可能简短地描述应用的用途,例如,用”电子邮件客户端”代替”接收和发送电子邮件”。
描述
描述应该以客观、中立的风格来写,至少在第一段专门描述应用是什么以及它有哪些功能。之后可以为具体的功能/问题提供简明的帮助,并链接到外部资源以获取更多信息。适当时还应包括其他信息,如相关的/兼容的/必需的(但不是替代的)应用的链接。
其他一些注意事项:
- 像”适用于 Android 的笔记应用” 这样的短语永远不应该出现。 显然,这是针对 Android 的。显然,这是一个应用。
- 同样,不要说“它是自由软件”或“它是开源的”,因为显然它是。
- 这里面不应该有任何与兼容性有关的东西(例如”for Android 2.3+”),因为这是自动处理的。只有在客户端应用没有自动检测到时才包括兼容性说明。
- 概要会始终与描述一起显示,因此要避免重复。
- 如果 F-Droid 版本与标准版本相比有任何不同,则应予以说明。
- 绝不应该有任何从开发者角度出发的内容,例如:”我写这个猫咪相册应用是因为我喜欢猫咪”。
其他值得一提的信息包括:
- 该应用是否需要 root 权限?
- 它可以与其他应用交互吗?
- 它的易用性如何?
捐赠
如果一个项目接受捐赠,理想的捐赠链接是指向该项目为此目的而维护的一个特定页面。如果不存在这样的链接,可以接受的是链接到有捐赠图标或类似的页面,但这并不能创造良好的用户体验,例如,有人在 F-Droid 客户端选择了“捐赠”,然后不得不搜索一个页面来了解细节。如果可能的话,试着鼓励开发者创建一个专门的页面。
负面特征
此外,一些软件,即使是自由和开源软件,也可能会做一些我们认为不受欢迎的做法,我们认为这具有 负面特征”。在可能的情况下,F-Droid 社区仍将这些应用包含在存储库中,但会对这些负面特征进行标记和编目,以便通过应用上存在的任何负面特征来警告用户(在 F-Droid 客户端和 Web 存储库浏览器上)。即使软件可以包含在 F-Droid 中,即使具有负面特征,但通常情况下,具有这些负面特征的软件实际上并不完全是 FOSS(例如,广告和跟踪用户活动通常通过非自由二进制库实现)在这样就可以将应用包含在 F-Droid 存储库中。
更新中
- https://gitlab.com/fdroid/fdroidclient/graphs/master
- https://gitlab.com/fdroid/fdroidclient/network/master
- https://f-droid.org/news-and-reviews
将应用收录入资源库并不是故事的结尾:我们必须保持版本、描述和 URL 的更新。
最重要的是要知道何时发布新版本。我们有三种自动方式和一种手动方式:来自 tag;检查存储库中最新版本的 AndroidManifest.xml;并查看 Google Play。如果这些都不行,我们必须查看上游开发人员发布的软件包版本,方法是加载 Google Play 网页或下载 APK 并检查其版本。存储库标签是标记新版本的自然方式(在 github.com 或“tag”下的示例中的“releases”下查找它们目录(在 SVN 存储库的情况下)。如果你找不到 tag,在问题跟踪器上提出问题会很有帮助。在示例中,我们指向一个变更日志页面作为备份检查;其他可能性是 Google 代码下载页面或 Google Play 链接。
