
                 Public Domain Responsibilities
                       By Richard Greenlaw
     From Dr. Dobb's Journal, Number 81, July 1983, Page 10

To DDJ Readers and CP/M Users,

	Over  the  years  that DDJ has been serving  us,  I  have 
contributed on article (a disassembler in issue no. 27), a review 
of the PC-1 pocket computer (in issue no.  52) and a few letters.  
However,  this contribution is a bit different.   The bottom line 
of this letter is a warning!

	I  am  the  author  of a set  of  programs  which  is  in 
widespread   public   domain   distribution   (at   least   three 
continents).   They are called SQ.COM, USQ.COM and FLS.COM.  They 
run  on CP/M systems and serve to squeeze files to smaller  sizes 
in   preparation  for  transmission  via  modem  or  distribution 
diskette.

	The latest version of these programs are 1.5, 1.5 and 1.1 
respectively.   I  released these programs to the public  domain, 
except  for financial gain,  and included full source code (in  C 
language)  and  extensive documentation.   This software  is  now 
available via the C Users group, which has advertized in DDJ.

	Having  had reasonable experiences with  previous  public 
offerings,   I  gave my name and address in the documentation and 
in the sign-on message of each program.  Therein lies the story!

	In recent months I have had a couple of dozen phone calls 
claiming  that  these programs have  destroyed  various  innocent 
files.   But when I ask for details,  I find that the programs in 
question have version numbers higher than any I have ever issued!  
Not  only that,  but many different version numbers,  as high  as 
1.9, have been mentioned!

	I  expect  that  whoever produced each version  of  these 
programs was as innocent as I was in August of 1981 when I ussued 
the above-mentioned programs.   But the fact remains that one  or 
more  persons has taken it upon themselves to propagate  modified 
versions  of  my  software without taking the  responsibility  of 
adding  their name and address to the documentation  and  sign-on 
messages.

	It is an unfortunate fact that C and probably other high-
level  languages  can crash impolitely when the CP/M TPA  is  too 
small  for the program and its data space,  including dynamically 
allocated  local  variables.   (These programs do  use  recursive 
algorithems).

	I have heard,  without confirmation, that vast amounts of 
code  have been added to some versions of these programs  to  add 
wild card file name processing.   Perhaps this is the problem.  I 
provided that feature as a separate program,  FLS.COM,  precisely 
for  that reason.   It is also possible that full and careful use 
of the recompilation options available in BDS-C has been  abused, 
resulting  in too much code or improperly linked code.   Or maybe 
there  have  simply  been  some accidents  in  copying  or  modem 
transmission.

	Whatever  the  case,  I  recommend  that  if  you  modify 
software which you have not written, then try to consult with the 
original author before publicly distributing such  software.   If 
that is not possible, at least accept the responsibility of being 
the  first  line of complaint handling by adding (not  replacing) 
your name to the documentation and sign-on message.

	If  anyone has a file which the above-mentioned  versions 
of my programs cannot squeeze and then reproduce,  please contact 
me.   My  computers  can read and write  the  following  diskette 
formats:  Micropolis  Mod  II,  Max-80 5" 40  track/side  (SS/DS, 
SD/DD)  formats,   Osborne  Single  Density,  Omikron  5"  single 
density, Xerox 5" single density.  Except for the Micropolis, all 
of the above are handled by my Lobo Max-80 computer.

	Do  you  really  want  more  public  domain  source  code 
sofrware?    If  so,   and  if  you  know  the  source  of  these 
modifications,  please  help stamp out the bad versions (copies?) 
of  this software.   Unfortunately,  I don't know  exactly  which 
versions are bad because not one single person has ever sent me a 
courtesy copy of any modifications!

	To  those  bewildered innocent victims,  the  unsqueezing 
precess contains a validity check based on the original file.  If 
you  can produce a file (not just a console display)  by  running 
the  USQ.COM program,  then the resulting file should be an exact 
replica of the original.

	I  also ask purchasers of communications packages  who  I 
have  authorized to distribute this software not to assume that I 
am  responsible for the communications packages.   It seems  that 
reproduction of my documentation files makes my name and  address 
more prominent than those of the commercial distributers!

			Sincerely,
			Richard Greenlaw
			251 Colony Ct.
			Gahanna, Ohio  43230

