caveman icon indicating copy to clipboard operation
caveman copied to clipboard

The licensing of the skeleton

Open ghost opened this issue 8 years ago • 3 comments

Is it intended that all applications generated with caveman2:make-project are licensed under the LLGPL or another compatible license? Currently as all these applications are generated from a skeleton licensed under the LLGPL, therefore containing LLGPL licensed code, should be licensed under the LLGPL or another compatible license.

Should the skeleton be extracted as its own project with more lax licensing or is this the intended behavior?

ghost avatar May 31 '16 11:05 ghost

The real issue with the skeleton is this: Why should every project have its own copy of render-json, render, with-connection, etc? All of this crap should just be in the library, including all the autogenerated special variables like foo.config:*application-root*. That could just as easily be caveman2:*application-root*.

If the library can't be refactored so that it doesn't require a mess of code templates, then there is something very wrong with its design.

I agree with your point that moving the boilerplate template packages into caveman itself would be a lot cleaner- end user code can then choose to implement parts as needed, shadowing the defaults, or implicitly keep the built in functionality.

Refactoring to achieve this wouldn't be a huge amount of work, but to do so in a backwards-compatible manner could be tough.

jackcarrozzo avatar Feb 16 '17 21:02 jackcarrozzo

I think we can start by moving render-json first, and see how it goes from there.

ghost avatar Jun 14 '20 06:06 ghost