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