在写一个跨平台 xterm 模拟器类库,开源协议的疑惑。

7 天前
 medivh

前言

xterm 最著名的类库应该是 xtermjs,最近我也在尝试实现一个跨平台的 xterm 类库。目前已经开发了大约一个月的时间。

这个项目是基于 Skia 并使用 Kotlin 开发,理论上可以编译到 macOS 、Windows 、Linux 、JavaScript 、Android 和 iOS 。我目前是在 macOS 上进行开发,暂时还没有将其编译到其他平台的计划。目前开发的主要目标是作为一个类库使用。

等到类库开发完成后,我可能会基于它开发一个跨平台的终端工具,支持包括 Android 、iOS 和浏览器在内的所有平台。

疑虑

目前还有一些问题待解决,计划在修复完 Bug 并支持 IME 后再考虑开源。至于开源协议,大概率会选择 AGPL ,但我担心这可能会给他人商用带来不便。

我的问题是,能否采用这样的方式:源代码使用 AGPL 协议,而发行版(例如 GitHub Releases )采用 Apache 协议?

这样一来,发行版可以免费使用并允许商用,而如果他人修改了源代码或者基于源代码进行编译,则必须遵守 AGPL 协议。

如果这种方式可行,或许就能在开源和商用之间找到一个平衡点。

演示

440 次点击
所在节点    问与答
4 条回复
msg7086
7 天前
我的理解是,许可证主要是针对源代码的。
AGPL 本身应该就允许二进制免费使用和允许商用吧?(细节忘了)
medivh
7 天前
@msg7086 是的。 我希望二进制可以商用且不受 AGPL 的影响(如果仅仅使用二进制是不需要开源)。
msg7086
6 天前
@medivh 在不修改源代码的情况下 AGPL 本来就允许商用且不需要开源。
(需要开源,但源代码并没有修改过,所以你的源代码就是用户的源代码,你提供了源代码就等于他们提供了源代码。)
medivh
6 天前
@msg7086 了解了,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1072396

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX