## 前言
[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) |
|