COMP.OS.CPM-------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 47 из 100
 От   : Mark Ogden                          2:5075/128        28 авг 23 03:48:48
 К    : Russell Marks                                         28 авг 23 13:53:02
 Тема : Re: CP/M archive/compression tools
----------------------------------------------------------------------------------
                                                                                 
@MSGID:
<eadec9a1-5b96-44a4-b0a3-cd7e9211bb93n@googlegroups.com> 68166896
@REPLY: wsc3.469961@usenetxs.com>
0f02486a
@REPLYADDR Mark Ogden <ogdenpm@gmail.com>
@REPLYTO 2:5075/128 Mark Ogden
@CHRS: CP866 2
@RFC: 1 0
@RFC-References:
<494bd71c-ca8a-41ee-8c37-6b186208e1aan@googlegroups.com> <0jSdnQ_sDNGhB3v5nZ2dnZfqnPidnZ2d@giganews.com>
<7da8e2b9-fdc9-b6b5-3c5c-de90a34604ee@gmail.com> aWW4.217957@usenetxs.com>
MB_8.460033@usenetxs.com> <daf6c815-1339-42c0-9073-46c6c0d31b50n@googlegroups.com>
wsc3.469961@usenetxs.com>
@RFC-Message-ID:
<eadec9a1-5b96-44a4-b0a3-cd7e9211bb93n@googlegroups.com>
@TZUTC: -0700
@PID: G2/1.0
@TID: FIDOGATE-5.12-ge4e8b94
On Sunday, 27 August 2023 at 11:43:34 UTC+1, Russell Marks wrote:
> Mark Ogden <ogd...@gmail.com> wrote: 

> > My mlbr utility https://github.com/ogdenpm/mlbr builds under linux
> Speaking of mlbr, would you mind clarifying the licence? The closest 
> thing I can find (aside from miniz.h and uncrunch.c) is that "This is 
> an open source non-commercial project". 

> Also, what do you consider the licence to be on the original lzhuf.c? 
> I went to some effort to clarify this before adapting it for lbrate, 
> and I`d be interested in your perspective. 

> Finally, I found the most curious thing. This code from mlbr`s 
> uncrunch.c (which I`m assuming it`s reasonable to post in order to 
> comment on it): 

> if (pred == IMPRED && chr == 0) { 
> hashval = 0x800; /* special case (leaving the zero code free for EOF) */ 
> } else { 
> /* normally we do a slightly awkward mid-square thing */ 
> uint16 t a = (((pred + chr) | 0x800) & 0x1fff); 
> uint16 t b = (a >> 1); 
> hashval = (((b * (b + (a & 1))) >> 4) & 0xfff); 
> } 

> ...seems to have remarkably similar comments to this code I wrote in 
> 2001 for lbrate`s readlzw.c: 

> if(oldcode==0xffff && chr==0) 
> hashval=0x800; /* special case (leaving the zero code free for EOF) */ 
> else 
> { 
> /* normally we do a slightly awkward mid-square thing */ 
> a=(((oldcode+chr)|0x800)&0x1fff); 
> b=(a>>1); 
> hashval=(((b*(b+(a&1)))>>4)&0xfff); 
> } 

> I also notice that most of an older version`s "slightly odd approach" 
> comment at line 109 here: 

https://github.com/ogdenpm/mlbr/blob/35cf3093a4e7b39c70383c1b085391ca7cc62aec/un
crunch.c 

> ...was in lbrate many years earlier, with the same "If" typo. 

> So I`d be interested in your thoughts on this as well. 

> -Rus.
Russell
 I originally wrote mlbr for personal use, mainly to support windows
filename mapping. I went on to add support for date and information
extraction, along with conversion to zip files. In previous new group chats I
offered the code for others to use by posting on my github site. Although
I didn`t share, I had previously added some windows filename mapping
to cfx1.3 and fixed some bugs.

 It is plausible that the code you noted came from lbrate. Whilst
refactoring the original code, it looks like I used your implementation of the
hash algorithm. I will make sure that the copyright notice at the top
of the code is updated to include your name. My apologies for the
oversight. If you are not ok with this let me know.

 As I use git, the fact that historic versions, contained the
"slightly odd approach" text, would also suggest at some point I had copied
other fragments of your code, prior to rewriting. In this case the count
element of the for loop was removed as it is only called if there is
room and the hash table probing ensures all entries are checked.

 As to the general licencing position, I would suggest that as a
whole, an open source non-commercial licence is sensible and inline with my
original intent. This is based on the following
mizip - provided as is
lzhuf - based on your interaction with the respective authors
uncrunch - original Frank Prindle + prior work. I will add you to the list
 unsqueeze - not sure where I derived this from. There are multiple
similar versions available. None seem to have specific licence conditions.
crc16 - derived from public domain source
 lbr support, date support, general program wrap, fixes and new
errors - happy to licence these as open source non-commercial .

I am also happy for the sister application mklbr to be under the same licence.

Mark

--- G2/1.0
 * Origin: usenet.network (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5075/128
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх