Facing dilemma with ClojureScript (EPL 1.0) license in Scittle when using and distributing it as part of WordPress (GPLv2+) plugin (https://codeberg.org/jasalt/wp-block-experiments). Searching conversation history in this Slack seeing there's been similar situations with Emacs (also GPLv2+), both with Babashka (SCI) and in older Deuce-project. There might be situation that plugin architecture with mixed EPL1.0 code might pass, but public WP plugin directory guidelines are very directly against it. > 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. - https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#1-plugins-must-be-compatible-with-the-gnu-general-public-license Reference on the EPL vs GPL incompatibility: https://www.eclipse.org/legal/epl/faq/#GPLCOMPATIBLE
Yeah. While it's odd for programming language to have copyleft license of any kind (first time I see that), it would would be nice if Clojure had EPL1.0+ / EPL2.0 at least so it could be dual-licensed to GPLv2. Adds layer of inconvenience when hacking around GPLv2 licensed things on desktop & servers. Jank seems to go with MPL2.0 so that is nice since it's sounds more embeddable in general.
If switching to BSD-3 would solve everything, I'd happily do so. Just let me know.
If code in e.g. https://cdn.jsdelivr.net/npm/scittle@0.6.22/dist/scittle.js could be considered GPL-compatible (e.g. BSD-3) then that would solve issue. However, is it considered Clojure(Script) derivative work in sense that EPL would stick to it?
@j.s I'm not a lawyer and I more or less don't care which license scittle has, so if you can find out whatever change I should make to make scittle more usable in more contexts, I'd happily do so.
you could ask in #cljs-dev about licensing issues with CLJS
or maybe ask ChatGPT or so for some preliminary advice and then double-check the outcome
Much appreciated. I would also like to experiment more with it. I'll ask from there.
Is there any question or anything I can do?
I don't think there's much to do other that petition license change, haha. I didn't realise this until now, thinking EPL was just Apache 2.0 / MIT style license and hoped to be able to integrate some ClojureScript stuff with WP but this is probably a blocker. However, such a niche use case that I can survive without the convenience and do something else instead.
Phel is MIT licensed at least so backend side stuff can be written in lisp for WP plugins.
Basilisp (EPL1.0) however wouldn't pass for Odoo module development under Odoo Community Association (OCA) guidelines. (EDIT: misread, it's actually okay as OSI compatibility is the requirement)
Would it help if I switched scittle to MIT?
I think so. WP plugin review progress probably checks the licenses for 3rd party stuff and would note MIT as compatible.
What about deos of scittle like Clojure itself and SCi?
Hi @j.s, in case is relevant, here’s what I did for the basilisp-blender extension, which I licensed under GPLv3: I explicitly listed the licenses of all the libraries it uses, along with their dependencies, in the LICENSE file: https://github.com/ikappaki/basilisp-blender/blob/main/LICENSE_EXTENSION
I haven’t validated the extension’s license with any tools, as you seem to have done above. It was more of a best effort attempt on my part, based on internet research, to create a GPLv3 licensed extension bundled with all of its dependent libraries.
I need to update the scittlets license text if you switch to a different license in Scittle 🤣: https://github.com/ikappaki/scittlets?tab=readme-ov-file#license > Licensed under the Eclipse Public License 1.0, same as https://github.com/babashka/scittle. See https://github.com/ikappaki/scittlets/blob/main/LICENSE for details.
What about deos of scittle like Clojure itself and SCi?@borkdude deps would need to be GPL-compatible if they're stored on WP plugin directory server as part of the plugin distribution. SCI is tied to Clojure license, right?
Thinking if serving Scittle via CDN was possible for the plugin but another term disallows it: > Calling third party CDNs for reasons other than font inclusions; all non-service related JavaScript and CSS must be included locally However, a sort of workaround might be to use something like Squint/Cherry to output transpiled JS that's bundled inside the plugin and then provide link to original sources: > We require developers to provide public, maintained access to their source code and any build tools in one of the following ways: > • Include the source code in the deployed plugin > • A link in the readme to the development location
@chaos thank's for noting, maybe it can work in such case like that for dependencies, though I don't fully understand all the implications of mixing these licenses.
Unrelated, but I've been thinking of switching my open source work to BSD 3-Clause. It's compatible with everything. And all it does is say you're not responsible for the use of the code, and that you need to be credited somewhere, but not be made to look like you endorse the derivative work. It's like MIT except people must attribute you a credit, and not use your name/handle as endorsement.