V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
medivh
V2EX  ›  问与答

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

  •  
  •   medivh · 6 天前 · 425 次点击

    前言

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

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

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

    疑虑

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

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

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

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

    演示

    https://s2.loli.net/2024/09/12/cULWioqS9p18PEu.gif

    4 条回复    2024-09-13 09:52:05 +08:00
    msg7086
        1
    msg7086  
       6 天前
    我的理解是,许可证主要是针对源代码的。
    AGPL 本身应该就允许二进制免费使用和允许商用吧?(细节忘了)
    medivh
        2
    medivh  
    OP
       6 天前 via iPhone
    @msg7086 是的。 我希望二进制可以商用且不受 AGPL 的影响(如果仅仅使用二进制是不需要开源)。
    msg7086
        3
    msg7086  
       6 天前
    @medivh 在不修改源代码的情况下 AGPL 本来就允许商用且不需要开源。
    (需要开源,但源代码并没有修改过,所以你的源代码就是用户的源代码,你提供了源代码就等于他们提供了源代码。)
    medivh
        4
    medivh  
    OP
       6 天前
    @msg7086 了解了,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5751 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 02:02 · PVG 10:02 · LAX 19:02 · JFK 22:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.