Closed linsui closed 1 year ago
我不是很熟悉 F-Droid 这个平台,不过我刚刚看了一下 Inclusion Policy,目前 Zerotier Fix 可能还不能完全满足其收录条件。Zerotier Fix 包含的通过官方 App 得到的 Java 代码和我个人重写、Patch 的代码部分是开源的,但构建所需的 Zerotier JNI 部分目前还依赖于预编译二进制文件。在完成并入 Zerotier SDK 的工作后应该才能达到全部通过源码构建的状态。
JNI 部分是从官方库构建的吗?https://github.com/zerotier/ZeroTierOne/tree/master/java/jni 如果能从这里构建也没问题,只要在构建 app 之前构建这些 .so 文件就行。许可证在文件头里写的是 GPL3+,但官方库现在已经切换到 BUSL-1.1 了,这个许可证不是开源许可证。所以我想知道这个库有没有受影响。
JNI 部分暂时不是从此处构建的,这部分工作本来是预定要完成的,但是因为各种原因一直还没有来得及去看。
另外关于许可证问题也是我比较担心的,目前 Zerotier Fix 的仓库中的确包含了基于逆向工程的代码,我无法保证这些代码能按照 GPLv2 公开。在重写完成之前,如果 Zerotier 官方提出异议,我也会删除这一部分代码,并且把构建流程修改为基于逆向工具的形式。除这两部分代码之外,其余本仓库的代码是我可以保证按照 GPLv2 公开的(Zerotier SDK 的 Java 部分代码按照 GPLv3)。
并且把构建流程修改为基于逆向工具的形式
是指在构建的时候反编译官方 apk 吗?这种方式肯定是违反 F-Droid 政策的。如果从 19 年官方改许可证之前的代码开始 fork 倒是没有问题。
是的。我认为这个方式肯定是不符合 F-Droid 的收录条件的。
此外,我能想象到最好的情况,就是 Zerotier Fix 完成了对官方端所有 Java 部分的重写,并且使用源码编译的形式加入了官方的 Zerotier SDK。不过即便如此,编译 APK 所需的 Zerotier 部分源码仍然是 BUSL-1.1 协议的。当然,也可以使用切换许可证之前的旧版本 Zerotier SDK 编译再上架,不过那样的意义可能就不大了。
从那之后提交只有10个左右,不过不知道之前 GPL 的代码还是否兼容。
从那之后提交只有10个左右
Zerotier SDK 是需要包含大部分 Zerotier One 的客户端代码编译的,因此如果需要新版本则肯定无法避免 BUSL-1.1 代码了。
基于上述讨论,将暂时搁置相关计划
Can someone please explain in English:
Thanks @linsui! Exactly. Currently, only the patches in this repository, not the entire code base, are licensed under GPLv2. Since F-droid requires the entire project to be compliant with a FOSS license, Zerotier Fix will not meet these requirements.
However, there is still some hope:
This means we should be able to create a FOSS version using the outdated Zerotier core after the release of V2. That should meet the requirement of F-droid.
1.4.6 has been re-licensed. The current dev branch will be re-licensed at 2025-01-01.
请问可以将应用发布到 F-Droid 吗?这个应用是开源的吗?我看到 Readme 里提到部分代码是逆向得到的。