If you are building something on top of Shen, it can be under any
license you like. Unlike the GPL, the Shen license is not viral.
Indeed it cannot be because the spec is defined just for the kernel.
As long as the kernel is respected, and any changes do not lose
functionality, it's fine. I don't see any reason why your project
needs to change that.
Its hard to place a Shen-style license on a piece of software unless
you have a clear and written spec for your work. I'd suggest placing
it under BSD. If at some later stage you feel that the work has
matured to the point where the salient features are fixed you could
place it under a Shen-style license.
I'd suggest looking at Codd's relational algebra for the primitives of
your system. CRA is the basis for languages like SQL and RDBMS in
general.
> I hope this isn't too much of posting but I wanted to add that...
>
> I want to release Shena 0.1 under the Shen License but I don't know how.
> Whereas with BSD license it seems that one only has to explain or declare
> that such and such is being released with BSD license, Shen license itself
> seems to designate Dr. Tarver as the copyright holder, does that hold for
> only
> Shen language itself, or anything that is released under Shen license? I
> don't know.
>
> Maybe this is an obvious and primitive point, but I'm just unsure...
>
> If possible, I would like to release Shena 0.1 under the Shen License first
> and foremost
> and where, if any, Shen License does not apply, I would like Shena 0.1 to
> follow the BSD License.
> And where there is doubt, I want Shen License to prevail... but provided
> that I remain as
> the copyright holder in so far as copyright law applies.
>
> Anyway, to highlight some of what Shena 0.1 entails (in hopes that someone
> will have created same
> functions in time before the release of Shena 0.1 thereby making it a moot
> point so we can work on more
> noble aspects of Shena paradigm):
>
> "take" function is now tail-recursive (finally!)
> explicit example of the power of "amend" function that can a list of a list
> of a list of a list... as an argument for
> the amend function to take on (obvious point, I'm sure, but it's nice to
> see it as an example, to me)
> explicitly commenting how the makearray function in conjunction with tie
> function is capable of creating a singular,
> continuous, and contiguous database capable of holding hundreds of billions
> of data but with a caveat that doing so can make the system go unstable and
> prone to stack overflow (even with tail recursion, I suspect), and offering
> a better alternative that isn't so resource-hungry and still can produce
> reliable results for a query of the same or even bigger-sized
> databse) -- solution is so simple that it would be laughable if not for the
> fact that it works (for some queries, though not all) as designed (thanks
> to Shen)
> also... things like, how you can take a matrix and amend (replace) a row or
> a column with a new row or column, and
> add a new row or column inside the matrix, or at the top, bottom, sides,
> and also call out a diagonal matrix from any point
> on the matrix, not just the main center diagonal line, etc... some sorting
> functions, sorting up and sorting down... some permutation function...
> ceiling and floor function... I'm sure someone has already figured this out
> and will post which will be good because then we can move on to Shena 0.2
>
> Thank you.