cljs-dev

jasalt 2025-06-30T10:51:11.744189Z

Hello, I've experimented embedding Scittle (SCI) into a GPLv2 licensed CMS system's ReactJS based WYSIWYG editor. Technically this works simply by including the EPL1.0 licensed Scittle (https://cdn.jsdelivr.net/npm/scittle@0.6.22/dist/scittle.js) and MIT licensed Reagent library into a CMS plugin. However, I'm facing a licensing problem with the CMS system's plugin marketplace/repository rules stating following (drum roll): > All code, data, and images — anything stored in the plugin directory hosted on http://WordPress.org — must comply with the GPL or a GPL-Compatible license. Included third-party libraries, code, images, or otherwise, must be compatible. > Calling third party CDNs for reasons other than font inclusions; all non-service related JavaScript and CSS must be included locally - https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#2-developers-are-responsible-for-the-contents-and-actions-of-their-plugins Thus, I believe this Scittle cannot be either included as part of a plugin or be loaded via CDN for using in this context while simultaneously passing the plugin repository rules. I chatted with Michiel about the issue on #scittle channel and he could gladly on his change his project's licensing to a compatible BSD-3 license for making such use case possible but legality of that is questionable as SCI licensing states:

Copyright © 2019-2022 Michiel Borkent

Distributed under the Eclipse Public License 1.0. This project contains code from Clojure and ClojureScript which are also licensed under the EPL 1.0. See LICENSE.
- https://github.com/babashka/SCI?tab=readme-ov-file#license How does the copyleft nature of EPL1.0 work in this case - are these projects (Scittle & SCI) considered derivative work of Clojure / ClojureScript in a way that relicensing them to BSD-3 would be practically impossible, thus rendering such use case a dead end by being non-compliant according the WordPress plugin repository guidelines?

Alex Miller (Clojure team) 2025-06-30T12:47:45.840659Z

I think you’re correct that the derivative parts cannot be relicensed in this way

jasalt 2025-06-30T13:36:54.583419Z

Jank is licensed as MPL 2.0 (GPL-compatible & weaker copyleft) based on assumption that no code is shared with Clojure and that API's cannot be enforceable by copyright. https://clojurians.slack.com/archives/C03SRH97FDK/p1696480063728549 Does situation with ClojureScript v.s original Clojure (JVM) differ in this matter or would Cljs be free to change the license?

jasalt 2025-06-30T13:47:33.833749Z

With my partial understanding, if Cljs's build system was Clojure-based then that might be leaning more heavily in being derivative work (actual shared Clojure code), but when being self-hosted, also as SCI & NBB are without ties to JVM at all, things might play different and those might be able to switch from EPL1.0 if wanted. This would be on assumption that "API's cannot be enforceable by copyright". Thoughts? cc @jeaye @didibus @ingy

👀 1