solidboredom / constructive

Extends OpenScad Language for complex and complementary mechanical parts with less mathematical code. Offers a "Stamping" approach to quickly create mechanical parts fitting and complementing one another. This is used as a replacement for Constraints known form other CAD systems
Other
57 stars 8 forks source link

Possible to license as GPL2.0+ for OpenSCAD playground? #6

Open ochafik opened 4 months ago

ochafik commented 4 months ago

Hi, I'd like to ship this cool library in the OpenSCAD playground but currently can't as GPL2 can't be shipped as GPL3 (as to why we ship as GPL3, see its LICENSE)

Switching your dual licensing to GPL2 "or later" + CERN-OHL-W would fix this and make your project more easily accessible :-)

( @t-paul FYI)

solidboredom commented 4 months ago

Hi, i am Open to it in principal. can you explain me the difference among existing constructive licensing and the ones you wish? what does "later" mean? do you have a demo of your project? i have been going through your gitHuband would like to know,what it is about, but not inclined to build it yet.as far as i understand, the scad part is all wasm, so it should work online, right? Peter

ochafik commented 4 months ago

Hi @solidboredom

Sorry I forgot to link to the playground itself, it’s currently deployed at https://ochafik.com/openscad2

OpenSCAD sources are “licensed under the GNU GPL v2 or later versions”. At least one of its core dependencies, Manifold, is licensed under Apache 2, which is incompatible with GPL2 but works with GPL3, so that’s why we distribute the binaries (and the web playground which includes WASM binaries) under GPL3.

Now tbh I haven’t properly read the CERN-OHL-W license and don’t have a lawyer at hand. It could be that it supports code being included in a gpl3 project, but I can’t tell / can’t find existing analyses on the web. I figured bumping the version of the other license (from GPL2 to “GPL2 or later version”) is a simpler path, legally and technically :-)

It’s also not clear to me whether the way we’re bundling libraries in the playground (which might change anyway) amounts to linking and its implications on license compatibility. Trying to respect the spirit of the licenses alongside their letter, so aiming for maximalist compatibility :-)