caveman
caveman copied to clipboard
The licensing of the skeleton
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?
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.
I think we can start by moving render-json
first, and see how it goes from there.