## 前言

[xterm]( https://invisible-island.net/xterm/ctlseqs/ctlseqs.html) 最著名的类库应该是 [xtermjs]( https://xtermjs.org/),最近我也在尝试实现一个跨平台的 xterm 类库。目前已经开发了大约一个月的时间。

这个项目是基于 [Skia]( https://skia.org/) 并使用 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]( https://s2.loli.net/2024/09/12/cULWioqS9p18PEu.gif)
举报· 40 次点击
登录 注册 站外分享
1 条回复  
msg7086 小成 2024-9-12 18:54:08
我的理解是,许可证主要是针对源代码的。
AGPL 本身应该就允许二进制免费使用和允许商用吧?(细节忘了)
返回顶部