Comments (4)
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.
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.
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.
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)
- compilation problem on ECL HOT 10
- Creating threads with (sb-thread:make-thread) - part 1 [was: Basic TFifo test fails.] HOT 8
- Creating threads with (sb-thread:make-thread) - part 2 [was: Basic TFifo test fails.] HOT 5
- Accepting donation? HOT 3
- CLISP: sporadic failures of test GHASH-TABLE-EQUALP HOT 2
- Fails in SBCL 1.3.1.188-f7d76e5 HOT 3
- Fail to compile with SBCL 1.3.2 x86-64 Linux HOT 2
- Does not build today with SBCL from git - disassembler changes HOT 2
- Does not work with sbcl 1.4.10 - internals change HOT 12
- map-ghash exported but not implemented HOT 1
- sb-vm::emit-skip does not exist in sbcl 2.0.0 HOT 11
- LispWorks specific: were slots change from tnon-transactional to transaction, the parents need (:optimize-slot-access nil) HOT 1
- Does not build - emit-skip issue HOT 2
- Does not build in sbcl 2.0.9 - EAX-OFFSET lock HOT 2
- Lispworks 7.12 on Mac Catalina Test Fails HOT 1
- Broken link at Documentation: <repository>/example/dining-philosophers-stmx.lisp HOT 1
- Readme mentions bordeaux-threads:start-thread HOT 1
- Interoperability with lparallel? [was: SBCL: stmx.lang:*current-thread* seems to never be rebound] HOT 7
- VOP failing with SBCL 2.3.5 HOT 4
- Test suite failure on SBCL 2.3.2 with latest Quicklisp dist HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stmx.