Bug#771102: upstream license violation

2016-04-16 Thread Evan Hanson
Hi Ned,

Formally yes, but see my response to #821237, whose action may moot the
point. I'll update this bug with whatever info that one brings shortly.

Best regards,

Evan


signature.asc
Description: PGP signature


Bug#771102: upstream license violation

2015-08-23 Thread Ned T. Crigler
Hi Evan,

I have not received a response from you regarding this bug since it was
submitted last year. Are you still maintaining abduco in Debian?

-- 
Ned T. Crigler



Bug#771102: upstream license violation

2014-12-04 Thread Axel Beckert
Control: tag -1 + confirmed

Hi,

Ned T. Crigler wrote:
 abduco is derived from dtach,

According to the abduco upstream web page, it is only in many ways
very similar, but not derived. I checked the initial import of abduco
(commit 89cbbb3aa6aea7ca7410096aeacc3316a3532344) against dtach 0.8.

I first checked it with

  dwdiff -c dtach-0.8/main.c abduco/abduco.c
  dwdiff -c dtach-0.8/attach.c abduco/client.c
  dwdiff -c dtach-0.8/master.c abduco/server.c
  dwdiff -c dtach-0.8/main.c abduco/server.c
  dwdiff -c dtach-0.8/master.c abduco/abduco.c

and didn't find any similarities. Also the file listing does not look
very similar:

ls -l dtach-0.8 abduco
abduco:
total 52
-rw-r--r-- 1 abe abe  1574 Dec  4 13:55 abduco.1
-rw-r--r-- 1 abe abe 10121 Dec  4 13:55 abduco.c
-rw-r--r-- 1 abe abe  3168 Dec  4 13:55 client.c
-rw-r--r-- 1 abe abe72 Dec  4 13:55 config.def.h
-rw-r--r-- 1 abe abe   364 Dec  4 13:55 config.mk
-rw-r--r-- 1 abe abe  1780 Dec  4 13:55 debug.c
-rw-r--r-- 1 abe abe   765 Dec  4 13:54 LICENSE
-rw-r--r-- 1 abe abe  1544 Dec  4 13:55 Makefile
-rw-r--r-- 1 abe abe   271 Dec  4 13:55 README
-rw-r--r-- 1 abe abe  6661 Dec  4 13:55 server.c

dtach-0.8:
total 244
-rw-r--r-- 1 abe abe   5963 Jan 31  2008 attach.c
-rw-r--r-- 1 abe abe   3513 Jan 31  2008 config.h.in
-rwxr-xr-x 1 abe abe 155943 Jan 31  2008 configure*
-rw-r--r-- 1 abe abe903 Jan 31  2008 configure.ac
-rw-r--r-- 1 abe abe  17992 Jan 31  2008 COPYING
-rw-r--r-- 1 abe abe   5204 Jan 31  2008 dtach.1
-rw-r--r-- 1 abe abe   2864 Jan 31  2008 dtach.h
-rw-r--r-- 1 abe abe   3510 Jan 31  2008 dtach.spec
-rw-r--r-- 1 abe abe   6692 Jan 31  2008 main.c
-rw-r--r-- 1 abe abe953 Jan 31  2008 Makefile.in
-rw-r--r-- 1 abe abe  14174 Jan 31  2008 master.c
-rw-r--r-- 1 abe abe   7891 Jan 31  2008 README

 While abduco may be considered a rewrite of dtach that just has
 similar looking portions of code left in it,

I then took similarity-tester (from Wheezy) and ran it as follows:

→ sim_c dtach-0.8/*.c / abduco/*.c
File dtach-0.8/attach.c: 988 tokens
File dtach-0.8/main.c: 844 tokens
File dtach-0.8/master.c: 2600 tokens
File /: separator
File abduco/abduco.c: 2028 tokens
File abduco/client.c: 774 tokens
File abduco/debug.c: 394 tokens
File abduco/server.c: 1554 tokens
Total: 9182 tokens

dtach-0.8/attach.c: line 45-62 |dtach-0.8/master.c: line 178-195  [76]
 fflush(stdout);   | kill(-pty-pid, sig);
}  |}
   |
/* Connects to a unix domain socket */ |/* Creates a new unix domain socket. *
static int |static int
connect_socket(char *name) |create_socket(char *name)
{  |{
 int s;| int s;
 struct sockaddr_un sockun;| struct sockaddr_un sockun;
   |
 s = socket(PF_UNIX, SOCK_STREAM, 0);  | s = socket(PF_UNIX, SOCK_STREAM, 0);
 if (s  0)| if (s  0)
  return -1;   |  return -1;
 sockun.sun_family = AF_UNIX;  | sockun.sun_family = AF_UNIX;
 strcpy(sockun.sun_path, name);| strcpy(sockun.sun_path, name);
 if (connect(s, (struct sockaddr*)soc | if (bind(s, (struct sockaddr*)sockun
 { | {
  close(s);|  close(s);

dtach-0.8/attach.c: line 179-184   |abduco/abduco.c: line 316-321 [54]
 cur_term.c_iflag = ~(IXON|IXOFF);| cur_term.c_iflag = ~(IGNBRK|BRKINT|P
 cur_term.c_oflag = ~(OPOST); | cur_term.c_oflag = ~(OPOST);
 cur_term.c_lflag = ~(ECHO|ECHONL|ICA | cur_term.c_lflag = ~(ECHO|ECHONL|ICA
 cur_term.c_cflag = ~(CSIZE|PARENB);  | cur_term.c_cflag = ~(CSIZE|PARENB);
 cur_term.c_cflag |= CS8;  | cur_term.c_cflag |= CS8;
 cur_term.c_cc[VLNEXT] = VDISABLE; | cur_term.c_cc[VLNEXT] = _POSIX_VDISAB

dtach-0.8/attach.c: line 166-175   |dtach-0.8/master.c: line 420-429  [46]
 atexit(restore_term); | atexit(unlink_socket);
   |
 /* Set some signals. */   | /* Set up some signals. */
 signal(SIGPIPE, SIG_IGN); | signal(SIGPIPE, SIG_IGN);
 signal(SIGXFSZ, SIG_IGN); | signal(SIGXFSZ, SIG_IGN);
 signal(SIGHUP, die);  | signal(SIGHUP, SIG_IGN);
 signal(SIGTERM, die); | signal(SIGTTIN, SIG_IGN);
 signal(SIGINT, die);  | signal(SIGTTOU, SIG_IGN);
 signal(SIGQUIT, die); | signal(SIGINT, die);
 signal(SIGWINCH, win_change); | signal(SIGTERM, die);

dtach-0.8/main.c: line 142-153 |dtach-0.8/main.c: line 164-175[42]
   else if (*p == 'e') |   else if (*p == 'r')
   {   |   {
++argv; --argc;|++argv; --argc;
if (argc  1)  |if (argc  1)
{  |{
 

Bug#771102: upstream license violation

2014-12-04 Thread Ned T. Crigler
On Thu, Dec 04, 2014 at 02:39:34PM +0100, Axel Beckert wrote:
 
 So there are indeed a small number of code locations which look
 suspiciously similar.

There are other similarities between the initial commit of abduco and
dtach, such as the code declaring abduco's client to server protocol:

[abduco/abduco.c lines 61-67]   |[dtach-0.8/dtach.h lines 89-96]
enum PacketType {   |enum
MSG_CONTENT = 0,|{
MSG_ATTACH  = 1,|MSG_PUSH= 0,
MSG_DETACH  = 2,|MSG_ATTACH  = 1,
MSG_RESIZE  = 3,|MSG_DETACH  = 2,
MSG_REDRAW  = 4,|MSG_WINCH   = 3,
};  |MSG_REDRAW  = 4,
|};

[abduco/abduco.c lines 69-78]   |[dtach-0.8/dtach.h lines 106-116]
/* packet sent from client to server */ |/* The client to master protocol. */
typedef struct {|struct packet
unsigned char type; |{
unsigned char len;  |unsigned char type;
union { |unsigned char len;
char msg[sizeof(struct w|union
insize)];   |{
struct winsize ws;  |unsigned char buf[sizeo
int i;  |f(struct winsize)];
} u;|struct winsize ws;
} ClientPacket; |} u;
|};

and the same escape sequence trick that dtach uses to move to the bottom
of the screen along with similar code for handling the suspend key:

[abduco/abduco.c line 161]  |[dtach-0.8/dtach.h line 128]
fprintf(stdout, \e[999H\r\n); |#define EOS \033[999H

[abduco/client.c lines 126-133] |[dtach-0.8/attach.c lines 105-115]
} else i|if (!no_suspend  (pkt-u.buf[
f (pkt.u.msg[0] == cur_term.c_cc[VSUSP])|0] == cur_term.c_cc[VSUSP]))
 {  |{
|/* Tell the master that
pkt.type = MSG_DETACH;  | we are suspending. */
|pkt-type = MSG_DETACH;
client_send_packet(pkt);   |write(s, pkt, sizeof(st
|ruct packet));
tcsetattr(0, TCSADRAIN, orig_term);|
|/* And suspend... */
client_show_cursor();   |tcsetattr(0, TCSADRAIN,
| orig_term);
info(NULL); |printf(EOS \r\n);
|kill(getpid(), SIGTSTP)
kill(getpid(), SIGTSTP);|;
|tcsetattr(0, TCSADRAIN,
tcsetattr(0, TCSADRAIN, cur_term); | cur_term);

Note that in abduco, client_send_packet(pkt) will write the raw
contents of pkt to a socket, and info(NULL) will write the \e[999H\r\n
escape sequence to stdout.

 It should also be mentioned that the initial reporter of this issue,
 Ned, is the author of dtach, see http://dtach.sourceforge.net/.
 
 I neither claim that this is a bad sign nor that this is a good sign.
 
 I though consider it suspicious that this was not mentioned in the
 original report, hence I think it's important to mention it myself.
 

I'm not sure why this would be suspicious, however I do confirm that I
am the author of dtach.

-- 
Ned T. Crigler


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#771102: upstream license violation

2014-11-26 Thread Ned T. Crigler
Package: abduco
Version: 0.1-2
Severity: serious
Justification: Policy 2.3

Hi,

abduco is derived from dtach, which is licensed under GPLv2. However,
abduco is licensed under ISC with dtach's copyright notices removed.

While abduco may be considered a rewrite of dtach that just has similar
looking portions of code left in it,
http://digital-law-online.info/lpdi1.0/treatise27.html says that:

Many people have reimplemented computer programs by rewriting them to
replace the source code with code of their own writing. There is no
reason to believe that this would not be a copyright infringement,
particularly if the reimplementer had access to the source code of the
original program, even if none of the original source code remains.

abduco should not be a part of Debian if it is violating dtach's
copyright and license.

-- 
Ned T. Crigler


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org