diff mbox

[1/2] gnu: Add libtsm.

Message ID 20160822135307.789-1-david@craven.ch
State New
Headers show

Commit Message

David Craven Aug. 22, 2016, 1:53 p.m. UTC
* gnu/packages/admin.scm (libtsm): New variable.
---
 gnu/packages/admin.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

Comments

Leo Famulari Aug. 22, 2016, 7:33 p.m. UTC | #1
On Mon, Aug 22, 2016 at 03:53:06PM +0200, David Craven wrote:
> * gnu/packages/admin.scm (libtsm): New variable.

I think it should go in terminals.scm.

> +    (license license:expat)))

Please check the source files for the variety of licenses they bear:
https://cgit.freedesktop.org/~dvdhrm/libtsm/tree/COPYING
https://cgit.freedesktop.org/~dvdhrm/libtsm/tree/LICENSE_htable

I also noticed some public domain code. I didn't do a thorough check.
David Craven Aug. 22, 2016, 8:54 p.m. UTC | #2
Ups, on the license thing, I was quick to push. If the licenses aren't
labeled with a title, how do I figure out what kind of license they
are?
David Craven Aug. 22, 2016, 8:57 p.m. UTC | #3
> Ups, on the license thing, I was quick to push. If the licenses aren't
> labeled with a title, how do I figure out what kind of license they
> are?

A decison flowchart would be nice... =P
Leo Famulari Aug. 22, 2016, 9:08 p.m. UTC | #4
On Mon, Aug 22, 2016 at 10:54:38PM +0200, David Craven wrote:
> Ups, on the license thing, I was quick to push. If the licenses aren't
> labeled with a title, how do I figure out what kind of license they
> are?

I usually do a web search on a sentence fragment.

Here are some good resources that usually pop up in the results:
https://www.gnu.org/licenses/
https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing
https://opensource.org/licenses
David Craven Aug. 22, 2016, 9:46 p.m. UTC | #5
>> How do I figure out what kind of license they are?
>
> I usually do a web search on a sentence fragment.

That works very nicely. Thank you!

What do I do if someone removes a word from a license text? :/

Permission to use, copy, modify, and/or distribute this software
for any purpose <with or> >and< without fee is hereby granted, provided
that the above copyright notice and this permission notice appear
in all copies.

> I also noticed some public domain code. I didn't do a thorough check.

What is considered a thorough check? Looking at each source file could
take hours on a larger codebase...
Leo Famulari Aug. 22, 2016, 9:52 p.m. UTC | #6
On Mon, Aug 22, 2016 at 11:46:55PM +0200, David Craven wrote:
> >> How do I figure out what kind of license they are?
> >
> > I usually do a web search on a sentence fragment.
> 
> That works very nicely. Thank you!
> 
> What do I do if someone removes a word from a license text? :/
> 
> Permission to use, copy, modify, and/or distribute this software
> for any purpose <with or> >and< without fee is hereby granted, provided
> that the above copyright notice and this permission notice appear
> in all copies.

The new license bars us from redistributing the code for a fee? If so,
does that count as free software?

> > I also noticed some public domain code. I didn't do a thorough check.
> 
> What is considered a thorough check? Looking at each source file could
> take hours on a larger codebase...

Sometimes it takes a while...
David Craven Aug. 22, 2016, 9:58 p.m. UTC | #7
> The new license bars us from redistributing the code for a fee? If so,
> does that count as free software?

> But regardless of how you got your copies, you always have the freedom
> to copy and change the software, even to sell copies.

I guess not then. It has to be removed then?
David Craven Aug. 22, 2016, 10:10 p.m. UTC | #8
>> The new license bars us from redistributing the code for a fee? If so,
>> does that count as free software?
>
>> But regardless of how you got your copies, you always have the freedom
>> to copy and change the software, even to sell copies.
>
> I guess not then. It has to be removed then?

I could also ask the author of those two files (wcwidth.h, wcwidth.c)
if he can make them available under the full ISC license...
David Craven Aug. 22, 2016, 10:25 p.m. UTC | #9
>>> The new license bars us from redistributing the code for a fee? If so,
>>> does that count as free software?
>>
>>> But regardless of how you got your copies, you always have the freedom
>>> to copy and change the software, even to sell copies.
>>
>> I guess not then. It has to be removed then?
>
> I could also ask the author of those two files (wcwidth.h, wcwidth.c)
> if he can make them available under the full ISC license...

The FSDG defiler has struck again =P I think this can wait until tomorrow...
David Craven Aug. 23, 2016, 12:04 a.m. UTC | #10
Can I get some feedback on this email? Is it appropriate?

Hi Markus,

I got your email address from https://www.cl.cam.ac.uk/~mgk25/.

I'm a contributor to the guixsd project, a free linux distribution. I
commited a package named libtsm. The package contains two
files (wcwidth.c and wcwidth.h) that you're the author of.

I mistook the license of for being an ISC license which looks similar:

* Permission to use, copy, modify, and distribute this software
* for any purpose and without fee is hereby granted. The author
* disclaims all warranties with regard to this software.

Permission to use, copy, modify, and/or distribute this software
for any purpose with or without fee is hereby granted, provided
that the above copyright notice and this permission notice appear
in all copies.

The difference legally is a big one. According to the FSF's definition
of free software, this makes the files under the current license
non-free.

My question is if this was your intention, and if not, if you could make
the files available under a free license. Otherwise the we can't include
libtsm in our distro. :/

Thank you very much for your consideration.
David

http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.h
https://cgit.freedesktop.org/~dvdhrm/libtsm/tree/external/wcwidth.c
https://cgit.freedesktop.org/~dvdhrm/libtsm/tree/external/wcwidth.h
https://www.gnu.org/philosophy/free-sw.en.html
Leo Famulari Aug. 23, 2016, 1:09 a.m. UTC | #11
On Tue, Aug 23, 2016 at 02:04:01AM +0200, David Craven wrote:
> Can I get some feedback on this email? Is it appropriate?

I guess the email looks good. I would rather ask some licensing experts
before taking this to the author, who probably intended to release the
code as free software.

By the way, Debian seems to think the file is also covered under the
BSD-2:
http://metadata.ftp-master.debian.org/changelogs//main/libt/libtsm/libtsm_3-1_copyright
Efraim Flashner Aug. 24, 2016, 6:22 p.m. UTC | #12
On Mon, Aug 22, 2016 at 09:09:26PM -0400, Leo Famulari wrote:
> On Tue, Aug 23, 2016 at 02:04:01AM +0200, David Craven wrote:
> > Can I get some feedback on this email? Is it appropriate?
> 
> I guess the email looks good. I would rather ask some licensing experts
> before taking this to the author, who probably intended to release the
> code as free software.
> 
> By the way, Debian seems to think the file is also covered under the
> BSD-2:
> http://metadata.ftp-master.debian.org/changelogs//main/libt/libtsm/libtsm_3-1_copyright
> 

Of course "I AM NOT A LAWYER" but if we play parsing games, then "A B C
and D" reads all or none, "A B C and/or D" can be one, some or all, or
none. Either way, to me, the first reads that you have permissions for
all of A..D, and the second as you have permission for each of A..D.
David Craven Aug. 24, 2016, 6:54 p.m. UTC | #13
It says:
Permission to A and B this software for any purpose and without fee is
hereby granted.

I read this to mean that we have permission to do A and B as long as
we do it without fee. But I'm not picky so I'll go along with your
interpretation... =P

The question remains which license is this paragraph? Is it ISC or a
custom license? or is it BSD-2 like debian says?
Leo Famulari Aug. 24, 2016, 6:57 p.m. UTC | #14
On Wed, Aug 24, 2016 at 09:22:43PM +0300, Efraim Flashner wrote:
> On Mon, Aug 22, 2016 at 09:09:26PM -0400, Leo Famulari wrote:
> > On Tue, Aug 23, 2016 at 02:04:01AM +0200, David Craven wrote:
> > > Can I get some feedback on this email? Is it appropriate?
> > 
> > I guess the email looks good. I would rather ask some licensing experts
> > before taking this to the author, who probably intended to release the
> > code as free software.
> > 
> > By the way, Debian seems to think the file is also covered under the
> > BSD-2:
> > http://metadata.ftp-master.debian.org/changelogs//main/libt/libtsm/libtsm_3-1_copyright
> > 
> 
> Of course "I AM NOT A LAWYER" but if we play parsing games, then "A B C
> and D" reads all or none, "A B C and/or D" can be one, some or all, or
> none. Either way, to me, the first reads that you have permissions for
> all of A..D, and the second as you have permission for each of A..D.

I'm lost :) What does this mean for libtsm?
David Craven Aug. 24, 2016, 7:11 p.m. UTC | #15
> I'm lost :) What does this mean for libtsm?

Can't we just call it an ISC license? I'm sorry I even said something
=P It's the author's responsability to select a license or not add a
license in which case it's clear that it's copyrighted. Stuff like
this is just annoying...
David Craven Aug. 28, 2016, 1:14 p.m. UTC | #16
I updated the license information for the packages. It's an
improvement over what was already commited. I called it a isc derived
license. If someone wants me to take further steps I need clear
instructions on how to proceed. =)
Ludovic Courtès Aug. 28, 2016, 3:11 p.m. UTC | #17
David Craven <david@craven.ch> skribis:

> I updated the license information for the packages. It's an
> improvement over what was already commited. I called it a isc derived
> license. If someone wants me to take further steps I need clear
> instructions on how to proceed. =)

In cases where a package is multiply-licensed, or if it contains code
under different licenses, we usually list them in the ‘license’ field
with a comment above stating which of these two cases it is.

When a package provides a license that is not found in (guix licenses),
then we use the catch-all ‘x11-style’, ‘non-copyleft’, or ‘fsf-free’
procedures, ideally with the URL of the license text and a comment.

That’s the informal decision chart that I use.  :-)

Ludo’.
diff mbox

Patch

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6d88e3b..5730b5a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -13,6 +13,7 @@ 
 ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
 ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
 ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1767,3 +1768,27 @@  the status of your battery in the system tray.")
 shortcut syntax and completion options.")
       (home-page "https://github.com/TrilbyWhite/interrobang")
       (license license:gpl3+))))
+
+(define-public libtsm
+  (package
+    (name "libtsm")
+    (version "3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://freedesktop.org/software/kmscon/releases/"
+                    "libtsm-" version ".tar.xz"))
+              (sha256
+               (base32
+                "01ygwrsxfii0pngfikgqsb4fxp8n1bbs47l7hck81h9b9bc1ah8i"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libxkbcommon" ,libxkbcommon)))
+    (synopsis "Xterm state machine library")
+    (description "TSM is a state machine for DEC VT100-VT520 compatible
+terminal emulators.  It tries to support all common standards while keeping
+compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.")
+    (home-page "https://www.freedesktop.org/wiki/Software/libtsm")
+    (license license:expat)))