diff mbox series

[bug#47943] : Gnu: Add Weir

Message ID CAO+9K5qKqCmAddOSPamTJ_5ruGBZwC5EiX2A0nzJxqkdYy-poQ@mail.gmail.com
State Accepted
Headers show
Series [bug#47943] : Gnu: Add Weir | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Sharlatan Hellseher April 21, 2021, 9:38 p.m. UTC
Hi Guix team!

New Common Lisp system for digital Art with fixes applied upstream

https://github.com/inconvergent/weir/pull/2

--8<---------------cut here---------------start------------->8---
successfully built
/gnu/store/cz7rcj884p4cb6ps9rkq835f72qy8fhd-ecl-weir-4.9.1-1.beb4f6f.drv
/gnu/store/zcvz1fzj4dngvh5p6sr0y1lfajd8x19j-ecl-weir-4.9.1-1.beb4f6f
/gnu/store/zwz00r53lhswk5nfbkjw1i4cpzm5306g-sbcl-weir-4.9.1-1.beb4f6f
--8<---------------cut here---------------end--------------->8---

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

Comments

Giovanni Biscuolo April 22, 2021, 8:40 a.m. UTC | #1
Hello Sharlatan,

thank you very much for your patch, Weir and generative algorithms for
art graphic production are very interesting

We should check the overall license status of weir, see below

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

[...]

> From ffb12b7132e4e831bccab0c22b4de96923b8c079 Mon Sep 17 00:00:00 2001
> From: Sharlatan Hellseher <sharlatanus@gmail.com>
> Date: Wed, 21 Apr 2021 22:34:26 +0100
> Subject: [PATCH] gnu: Add weir
>
> * gnu/packages/lisp-xyz.scm (sbcl-weir, cl-weir, ecl-weir): New variables
> ---
>  gnu/packages/lisp-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 53 insertions(+)

[...]

> +      (home-page "https://github.com/inconvergent/weir")
> +      (synopsis "System for making generative systems")
> +      (description
> +       "This package provides Common Lisp system for generating 2d and 3d vector
> +artworks with SVG and PNG export format.")
> +      (license license:expat))))

The license file
https://github.com/inconvergent/weir/blob/master/LICENSE

contains this:

--8<---------------cut here---------------start------------->8---

This code is released under the MIT license(see below). Unless otherwise noted.

Most prominent exceptions are:

1. Some utilities from On Lisp by Paul Graham (in src/various.lisp). They are
   bound by this notice:

---
This code is copyright 1993 by Paul Graham, but anyone who wants
to use the code in any nonprofit activity, or distribute free
verbatim copies (including this notice), is encouraged to do so.
---

2. Some modified code by Victor Anyakin in (in src/auxiliary/dat.lisp):

---
Copyright (c) 2013-2018 Victor Anyakin <anyakinvictor@yahoo.com>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of the organization nor the
      names of its contributors may be used to endorse or promote products
      derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---

3. Some code suggested by @lispm (in src/auxiliary/dat.lisp, src/various.lisp). There
are links to the original suggestions

--8<---------------cut here---------------end--------------->8---

AFAIU the license in 1. means that that piece of code is not free
software, since "verbatim copy" AFAIU is not free

The license in 2. AFAIU is free software, license:expat or other? Can
you clarify please?

The code referenced in 3. is suggested by lispm in
https://gist.github.com/inconvergent/8b6ccfbde4fca7844c1962082ef07a7e
and AFAIU is not a trivial patch with no clear license: I really don't
know how this kind of code is normally evaluated from a GNU FSDG point
of view

I think we need some guidance from someone more experienced in license
issues.

Thanks! Giovanni.
Guillaume Le Vaillant April 22, 2021, 8:43 a.m. UTC | #2
Patch pushed as 5763eba94cccc4019cb07b0cac6c16132c741e11.
I managed to get the tests working on SBCL, it was a file access
permission issue. However a few tests are failing on ECL, so I disabled
them for now.
Guillaume Le Vaillant April 22, 2021, 9:02 a.m. UTC | #3
Giovanni Biscuolo <g@xelera.eu> skribis:

> Hello Sharlatan,
>
> thank you very much for your patch, Weir and generative algorithms for
> art graphic production are very interesting
>
> We should check the overall license status of weir, see below
>
> [...]
>
> The license file
> https://github.com/inconvergent/weir/blob/master/LICENSE
>
> contains this:
>
> --8<---------------cut here---------------start------------->8---
>
> This code is released under the MIT license(see below). Unless otherwise noted.
>
> Most prominent exceptions are:
>
> 1. Some utilities from On Lisp by Paul Graham (in src/various.lisp). They are
>    bound by this notice:
>
> ---
> This code is copyright 1993 by Paul Graham, but anyone who wants
> to use the code in any nonprofit activity, or distribute free
> verbatim copies (including this notice), is encouraged to do so.
> ---
>
> 2. Some modified code by Victor Anyakin in (in src/auxiliary/dat.lisp):
>
> ---
> Copyright (c) 2013-2018 Victor Anyakin <anyakinvictor@yahoo.com>
> All rights reserved.
>
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions are met:
>     * Redistributions of source code must retain the above copyright
>       notice, this list of conditions and the following disclaimer.
>     * Redistributions in binary form must reproduce the above copyright
>       notice, this list of conditions and the following disclaimer in the
>       documentation and/or other materials provided with the distribution.
>     * Neither the name of the organization nor the
>       names of its contributors may be used to endorse or promote products
>       derived from this software without specific prior written permission.
>
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY
> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> ---
>
> 3. Some code suggested by @lispm (in src/auxiliary/dat.lisp, src/various.lisp). There
> are links to the original suggestions
>
> --8<---------------cut here---------------end--------------->8---
>
> AFAIU the license in 1. means that that piece of code is not free
> software, since "verbatim copy" AFAIU is not free
>
> The license in 2. AFAIU is free software, license:expat or other? Can
> you clarify please?
>
> The code referenced in 3. is suggested by lispm in
> https://gist.github.com/inconvergent/8b6ccfbde4fca7844c1962082ef07a7e
> and AFAIU is not a trivial patch with no clear license: I really don't
> know how this kind of code is normally evaluated from a GNU FSDG point
> of view
>
> I think we need some guidance from someone more experienced in license
> issues.
>
> Thanks! Giovanni.

Hi Giovanni,

I pushed the patch just before receiving your email about the possible
license issue. Bad timing...

I'm not a lawyer and I'm not sure what the final license of Weir is, so
it would be nice if some license expert could give us their opinion on
this. And in case there's a problem, I'll revert the patch.
Giovanni Biscuolo April 22, 2021, 9:22 a.m. UTC | #4
Hi Guillaume,

thank you for your follow up and for your contribution to Guix!

Guillaume Le Vaillant <glv@posteo.net> writes:

> Giovanni Biscuolo <g@xelera.eu> skribis:

[...]

>> AFAIU the license in 1. means that that piece of code is not free
>> software, since "verbatim copy" AFAIU is not free
>>
>> The license in 2. AFAIU is free software, license:expat or other? Can
>> you clarify please?
>>
>> The code referenced in 3. is suggested by lispm in
>> https://gist.github.com/inconvergent/8b6ccfbde4fca7844c1962082ef07a7e
>> and AFAIU is not a trivial patch with no clear license: I really don't
>> know how this kind of code is normally evaluated from a GNU FSDG point
>> of view
>>
>> I think we need some guidance from someone more experienced in license
>> issues.

> I pushed the patch just before receiving your email about the possible
> license issue. Bad timing...

I saw your push some minutes after my message :-)

> I'm not a lawyer and I'm not sure what the final license of Weir is, so
> it would be nice if some license expert could give us their opinion on
> this. And in case there's a problem, I'll revert the patch.

I am almost sure that the licenses for the points 1 (license clearly
stated by Paul Graham) and 3 (no license for that code means "classic"
full copyright) are non-free.

Please do not forget that a reasonable copyright and license audit is
one of the things to do before committing, so please do not skip this
important step just IANAL ;-)

Please can you yust revert this patch and give us some time to settle
this issue?

Thanks! Giovanni
Guillaume Le Vaillant April 22, 2021, 11:43 a.m. UTC | #5
Giovanni Biscuolo <g@xelera.eu> skribis:

> I am almost sure that the licenses for the points 1 (license clearly
> stated by Paul Graham) and 3 (no license for that code means "classic"
> full copyright) are non-free.
>
> [...]
>
> Please can you yust revert this patch and give us some time to settle
> this issue?

I reverted the patch in 2eb9e57c0c554a926ba363031dd4ee7bb215034f.
Guillaume Le Vaillant April 22, 2021, 12:12 p.m. UTC | #6
Giovanni Biscuolo <g@xelera.eu> skribis:
> --8<---------------cut here---------------start------------->8---
> This code is released under the MIT license(see below). Unless otherwise noted.
>
> Most prominent exceptions are:
>
> 1. Some utilities from On Lisp by Paul Graham (in src/various.lisp). They are
>    bound by this notice:
>
> ---
> This code is copyright 1993 by Paul Graham, but anyone who wants
> to use the code in any nonprofit activity, or distribute free
> verbatim copies (including this notice), is encouraged to do so.
> ---
> --8<---------------cut here---------------end--------------->8---
>
> [...]
>
> I am almost sure that the licenses for the points 1 (license clearly
> stated by Paul Graham) and 3 (no license for that code means "classic"
> full copyright) are non-free.

Concerning point 1, there's a modified version of the code from
"On Lisp" at <https://github.com/DalekBaldwin/on-lisp>.
The file "on-lisp.asd" contains an extra indication by Paul Graham about
the license:

--8<---------------cut here---------------start------------->8---
Original code:
This code is copyright 1993 by Paul Graham, but anyone who wants
to use the code in any nonprofit activity, or distribute free
verbatim copies (including this notice), is encouraged to do so.

Modified code:
As long as you tell people it's modified and link to
the original, that's fine.  --pg
--8<---------------cut here---------------end--------------->8---
Giovanni Biscuolo April 22, 2021, 1:24 p.m. UTC | #7
Hi Guillaume and Sharlatan,

Guillaume Le Vaillant <glv@posteo.net> writes:

[...]

> Concerning point 1, there's a modified version of the code from
> "On Lisp" at <https://github.com/DalekBaldwin/on-lisp>.
> The file "on-lisp.asd" contains an extra indication by Paul Graham about
> the license:
>
> --8<---------------cut here---------------start------------->8---
> Original code:
> This code is copyright 1993 by Paul Graham, but anyone who wants
> to use the code in any nonprofit activity, or distribute free
> verbatim copies (including this notice), is encouraged to do so.
>
> Modified code:
> As long as you tell people it's modified and link to
> the original, that's fine.  --pg
> --8<---------------cut here---------------end--------------->8---

Unfortunately AFAIU the "Modified code" license addition (where does it
comes from?) still does not qualify the license as free.

"On Lisp" official page is here:
http://www.paulgraham.com/onlisptext.html, book and code (mechanically
extracted from the TeX source files of _On Lisp_) is copyright by Paul
Graham.  AFAIU today both the code and the book are freeware but not
free.

The original code (officially linked in the book web page) is here:
https://sep.yimg.com/ty/cdn/paulgraham/onlisp.lisp?t=1595850613&

A good chance to ask Paul Graham (and Dalek Baldwin... or Kyle Littler?)
to release the code as free software?  :-D

Thanks! Giovanni.

P.S.: I'm not familiar with Common Lisp but is it possible that the
functions from "On Lisp" has been somehow replaced or incorporated in a
proper library? ...I'm going to ask on guix-devel.

This alone will not fix the problem with "point 3." of the Weir license,
but would be a start.
Giovanni Biscuolo April 26, 2021, 1:24 p.m. UTC | #8
Hello Licensing Team!

in Guix we are considering adding a new package, Weir, but we need some
clarificartions about it's license.

This is what I found:

Giovanni Biscuolo <g@xelera.eu> writes:

[...]

> The license file
> https://github.com/inconvergent/weir/blob/master/LICENSE
>
> contains this:
>
> --8<---------------cut here---------------start------------->8---
>
> This code is released under the MIT license(see below). Unless otherwise noted.
>
> Most prominent exceptions are:
>
> 1. Some utilities from On Lisp by Paul Graham (in src/various.lisp). They are
>    bound by this notice:
>
> ---
> This code is copyright 1993 by Paul Graham, but anyone who wants
> to use the code in any nonprofit activity, or distribute free
> verbatim copies (including this notice), is encouraged to do so.
> ---
>
> 2. Some modified code by Victor Anyakin in (in src/auxiliary/dat.lisp):
>
> ---
> Copyright (c) 2013-2018 Victor Anyakin <anyakinvictor@yahoo.com>
> All rights reserved.
>
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions are met:
>     * Redistributions of source code must retain the above copyright
>       notice, this list of conditions and the following disclaimer.
>     * Redistributions in binary form must reproduce the above copyright
>       notice, this list of conditions and the following disclaimer in the
>       documentation and/or other materials provided with the distribution.
>     * Neither the name of the organization nor the
>       names of its contributors may be used to endorse or promote products
>       derived from this software without specific prior written permission.
>
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY
> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> ---
>
> 3. Some code suggested by @lispm (in src/auxiliary/dat.lisp, src/various.lisp). There
> are links to the original suggestions
>
> --8<---------------cut here---------------end--------------->8---

Can you please clarify how to manage the three different licenses
declared above?

AFAIU:

1. the license is not free since "verbatim copy" is not free

2. is a free software, seems a modified version of the expat
license... or other? Can you clarify please?

3. the code (I read it) suggested by lispm in
https://gist.github.com/inconvergent/8b6ccfbde4fca7844c1962082ef07a7e is
not a trivial patch and no license is included, so it should be
"copyright by default", right?

Thank you for your support!

Best regards, Giovanni.
diff mbox series

Patch

From ffb12b7132e4e831bccab0c22b4de96923b8c079 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Wed, 21 Apr 2021 22:34:26 +0100
Subject: [PATCH] gnu: Add weir

* gnu/packages/lisp-xyz.scm (sbcl-weir, cl-weir, ecl-weir): New variables
---
 gnu/packages/lisp-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 0e82f8fc2c..f133d372a5 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -16034,3 +16034,56 @@  lQuery.")
 
 (define-public cl-clip
   (sbcl-package->cl-source-package sbcl-clip))
+
+(define-public sbcl-weir
+  (let ((commit "beb4f6f47f0538d2c6d73b1d3c9d7f58ac8aa0e9")
+        (revision "1"))
+    (package
+      (name "sbcl-weir")
+      (version (git-version "4.9.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/inconvergent/weir")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1vm10kb51g4ba2nl5yixswkk47vwqgwqdlz5031xfff8h9z2a6ad"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; FIXME: (Sharlatan-20210415T165228+0100): All tests have been passed
+       ;; but terminated with error status after `check' phase is completed.
+       ;;
+       ;;  tests:  303
+       ;;  fails:  0
+       ;;  passes: 303
+       ;; "--- at least one catastrophe! ---"
+       ;; terminated with status: 1
+       ;; ;
+       ;; ; compilation unit aborted
+       ;; ;   caught 1 fatal ERROR condition
+       ;; ;   caught 3 STYLE-WARNING conditions
+       ;; ;   printed 91 notes
+       `(#:tests? #f))
+      (inputs
+       `(("alexandira" ,sbcl-alexandria)
+         ("cl-json" ,sbcl-cl-json)
+         ("cl-svg" ,sbcl-cl-svg)
+         ("inferior-shell" ,sbcl-inferior-shell)
+         ("lparallel" ,sbcl-lparallel)
+         ("png" ,sbcl-png)
+         ("split-sequence" ,sbcl-split-sequence)
+         ("zpng" ,sbcl-zpng)))
+      (home-page "https://github.com/inconvergent/weir")
+      (synopsis "System for making generative systems")
+      (description
+       "This package provides Common Lisp system for generating 2d and 3d vector
+artworks with SVG and PNG export format.")
+      (license license:expat))))
+
+(define-public ecl-weir
+  (sbcl-package->ecl-package sbcl-weir))
+
+(define-public cl-weir
+  (sbcl-package->cl-source-package sbcl-fare-mop))
-- 
2.31.1