fukamachi / caveman

Lightweight web application framework for Common Lisp.
http://8arrow.org/caveman/
775 stars 63 forks source link

The licensing of the skeleton #84

Open ghost opened 8 years ago

ghost commented 8 years ago

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?

heegaiximephoomeeghahyaiseekh commented 7 years ago

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.

jackcarrozzo commented 7 years ago

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.

ghost commented 4 years ago

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