Coder Social home page Coder Social logo

Comments (4)

cosmos72 avatar cosmos72 commented on June 13, 2024

Hello Nikodemus,

I agree, the license is very confusing.

You guessed my intention (almost) correctly: LGPL for new or rewritten
code, LGPL+BSD on derived code (i.e. inherited and modified).

The reason is that I cannot remove the existing BSD license from files
unless I rewrite them fully: the variant of BSD license used in CL-STM does
not allow relicensing, but from what I understand it IS compatible with
LGPL (see http://www.gnu.org/licenses/license-list.html#ModifiedBSD), i.e.
code can have simultaneous LGPL + BSD licenses.

Getting the permission from the CL-STM author (Huan Ton-That) to change his
BSD code to LGPL would be a better alternative, but I have not been able to
contact him yet. I guess I should try harder.

About the inclusion of both COPYING.GPL and COPYING.LGPL in the source
tree: I followed literally "How to use GNU licenses for your own software"
at http://www.gnu.org/licenses/gpl-howto.html: it instructs to put both GPL
and LGPL license files - if the practice for LGPL software is actually
simpler, I will be glad to adapt :)

Equaly confusing is that COPYING.BSD refers to Marco Baringer and not
Hoan Ton-That. :) I assume this is just a snafu.

Unluckily not: it's a quirk in BSD "no relicensing" rule. I guess Hoan
Ton-That reused some code from Marco Baringer (it.bese.arnesi author) for
CL-STM and as a consequence he is stuck with the copy of BSD license coming
with arnesi (just like I am stuck with the copy coming with CL-STM), which
references its author: Marco Baringer. You can check the license in CL-STM
source tree. Or of course it could be a typo in CL-STM licensing.

This also has a nasty side-effect: since CL-STM appears to be derived from
arnesi (the license declares that), permission from both authors is
needed to change CL-STM license.

Conclusion: my work was much faster thanks to using CL-STM as a starting
point, but the license is a mess. I do not wish to release STMX as BSD, as
I prefer the GPL licenses family, so the situations screams for a full
rewrite of inherited code.

Since STMX is small enough, I will just rewrite the code inherited from
CL-STM.

In the meantime I will also keep trying the lighter solution: contact Hoan
Ton-That and ask if he agrees to change the license.

from stmx.

nikodemus avatar nikodemus commented on June 13, 2024

On 20 March 2013 13:01, cosmos72 [email protected] wrote:

The reason is that I cannot remove the existing BSD license from files
unless I rewrite them fully: the variant of BSD license used in CL-STM
does not allow relicensing, but from what I understand it IS compatible with
LGPL (see http://www.gnu.org/licenses/license-list.html#ModifiedBSD), i.e.
code can have simultaneous LGPL + BSD licenses.

Yes... and no. It is compatible ie. you can /mix/ BSD and LGPL code --
but you cannot remove the BSD-granted permissions from the
BSD-licensed code.

About the inclusion of both COPYING.GPL and COPYING.LGPL in the source
tree: I followed literally "How to use GNU licenses for your own software"
at http://www.gnu.org/licenses/gpl-howto.html: it instructs to put both
GPL
and LGPL license files - if the practice for LGPL software is actually
simpler, I will be glad to adapt :)

Jesus on a pogostick! LGPL3 directly refers to GPL3 -- so yeah, you do
need to include both. (There is no requirement for them to be in
different files, though, as near as I can tell. The FSF guidelines
aren't really oriented towards clarity in my mind...)

This is part of the reason why I usually steer clear of FSF-licensed
code and prefer MIT-0 for my own code: without a lawyer I cannot parse
those licenses with any sense of confidence -- and they're even more
unclear for Lisp. (What does "linking" mean? Is using a macro at
compile-time a combined work or a derivative work? Is adding methods
to a generic function allowed, or is that a derivative work? Etc...
which is why many people use the LLGPL instead of LGPL, but I don't
personally find it much better.)

...but that's a separate can of worms. :)

with arnesi (just like I am stuck with the copy coming with CL-STM), which
references its author: Marco Baringer. You can check the license in CL-STM
source tree. Or of course it could be a typo in CL-STM licensing.

If there's no single source file that mentions Marco I would assume
his name can be safely removed, though obviously it would be good to
check with him first.

Cheers,

-- Nikodemus

from stmx.

cosmos72 avatar cosmos72 commented on June 13, 2024

I finally decided for LLGPL.

Hoan Ton-That is not exactly easy to contact - I could not find any valid email address, the one used during Google summer of code 2006 does not exist anymore.

In the meantime I am rewriting the code still derived from CL-STM. It's not much work, as I used CL-STM more for inspiration than for its implementation, but it turns out being difficult to convince myself that the rewritten code is not derived anymore: both CL-STM and STMX implement basically the same features described in great detail by http://research.microsoft.com/%7Esimonpj/papers/stm/stm.pdf so several similarities remain no matter how much I rewrite them.

from stmx.

cosmos72 avatar cosmos72 commented on June 13, 2024

Rewriting completed. License changed to LLGPL.

I am now confident enough that all code inherited from CL-STM has been rewritten. The remaining similarities are - in my opinion, of course IANAL - either trivial or inevitable in any STM implementation, due to the common origin in the article http://research.microsoft.com/%7Esimonpj/papers/stm/stm.pdf

In case somebody still finds some significant similarity, please report it as a bug - I will fix it, compatibly with my available time

from stmx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.