xref: /csrg-svn/usr.bin/indent/README (revision 62036)
133700SbosticThis is the C indenter, it originally came from the University of Illinois
233700Sbosticvia some distribution tape for PDP-11 Unix.  It has subsequently been
333700Sbostichacked upon by James Gosling @ CMU.  It isn't very pretty, and really needs
433700Sbosticto be completely redone, but it is probably the nicest C pretty printer
533700Sbosticaround.
633700Sbostic
733700SbosticFurther additions to provide "Kernel Normal Form" were contributed
833700Sbosticby the folks at Sun Microsystems.
9*33702Sbostic
10*33702Sbostic++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
11*33702Sbostic> From mnetor!yunexus!oz@uunet.UU.NET Wed Mar  9 15:30:55 1988
12*33702Sbostic> Date: Tue, 8 Mar 88 18:36:25 EST
13*33702Sbostic> From: yunexus!oz@uunet.UU.NET (Ozan Yigit)
14*33702Sbostic> To: bostic@okeeffe.berkeley.edu
15*33702Sbostic> Cc: ccvaxa!willcox@uunet.UU.NET, jag@sun.com, rsalz@uunet.UU.NET
16*33702Sbostic> In-Reply-To: Keith Bostic's message of Tue, 16 Feb 88 16:09:06 PST
17*33702Sbostic> Subject: Re: Indent...
18*33702Sbostic
19*33702SbosticThank you for your response about indent. I was wrong in my original
20*33702Sbosticobservation (or mis-observation :-). UCB did keep the Illinois
21*33702Sbosticcopyright intact.
22*33702Sbostic
23*33702SbosticThe issue still is whether we can distribute indent, and if we can, which
24*33702Sbosticversion. David Willcox (the author) states that:
25*33702Sbostic
26*33702Sbostic| Several people have asked me on what basis I claim that indent is in
27*33702Sbostic| the public domain.  I knew I would be sorry I made that posting.
28*33702Sbostic|
29*33702Sbostic| Some history.  Way back in 1976, the project I worked on at the
30*33702Sbostic| University of Illinois Center for Advanced Computation had a huge
31*33702Sbostic| battle about how to format C code.  After about a week of fighting, I
32*33702Sbostic| got disgusted and wrote a program, which I called indent, to reformat C
33*33702Sbostic| code.  It had a bunch of different options that would let you format
34*33702Sbostic| the output the way you liked.  In particular, all of the different
35*33702Sbostic| formats being championed were supported.
36*33702Sbostic|
37*33702Sbostic| It was my first big C program.  It was ugly.  It wasn't designed, it
38*33702Sbostic| just sort of grew.  But it pretty much worked, and it stopped most of
39*33702Sbostic| the fighting.
40*33702Sbostic|
41*33702Sbostic| As a matter of form, I included a University of Illinois Copyright
42*33702Sbostic| notice.  However, my understanding was that, since the work was done
43*33702Sbostic| on an ARPA contract, it was in the public domain.
44*33702Sbostic|
45*33702Sbostic| Time passed.  Some years later, indent showed up on one of the early
46*33702Sbostic| emacs distributions.
47*33702Sbostic|
48*33702Sbostic| Later still, someone from UC Berlekey called the UofI and asked if
49*33702Sbostic| indent was in the public domain.  They wanted to include it in their
50*33702Sbostic| UNIX distributions, along with the emacs stuff.  I was no longer at the
51*33702Sbostic| UofI, but Rob Kolstad, who was, asked me about it.  I told him I didn't
52*33702Sbostic| care if they used it, and since then it has been on the BSD distributions.
53*33702Sbostic|
54*33702Sbostic| Somewhere along the way, several other unnamed people have had their
55*33702Sbostic| hands in it.  It was converted to understand version 7 C.  (The
56*33702Sbostic| original was version 6.)  It was converted from its original filter
57*33702Sbostic| interface to its current "blow away the user's file" interface.
58*33702Sbostic| The $HOME/.indent.pro file parsing was added.  Some more formatting
59*33702Sbostic| options were added.
60*33702Sbostic|
61*33702Sbostic| The source I have right now has two copyright notices.  One is the
62*33702Sbostic| original from the UofI.  One is from Berkeley.
63*33702Sbostic|
64*33702Sbostic| I am not a lawyer, and I certainly do not understand copyright law.  As
65*33702Sbostic| far as I am concerned, the bulk of this program, everything covered by
66*33702Sbostic| the UofI copyright, is in the public domain, and worth every penny.
67*33702Sbostic| Berkeley's copyright probably should only cover their changes, and I
68*33702Sbostic| don't know their feelings about sending it out.
69*33702Sbostic
70*33702SbosticIn any case, there appears to be noone at UofI to clarify/and change
71*33702Sbosticthat copyright, but I am confident (based on the statements of its
72*33702Sbosticauthor) that the code, as it stands with its copyright, is
73*33702Sbosticdistributable, and will not cause any legal problems.
74*33702Sbostic
75*33702SbosticHence, the issue reduces to *which* one to distribute through
76*33702Sbosticcomp.sources.unix. I would suggest that with the permission of you
77*33702Sbosticfolks (given that you have parts copyrighted), we distribute the 4.3
78*33702Sbosticversion of indent, which appears to be the most up-to-date version. I
79*33702Sbostichappen to have just about every known version of indent, including the
80*33702Sbosticvery original submission from the author to a unix tape, later the
81*33702SbosticG-Emacs version, any 4.n version, sun version and the Unipress
82*33702Sbosticversion.  I still think we should not have to "go-back-in-time" and
83*33702Sbosticre-do all the work you people have done.
84*33702Sbostic
85*33702SbosticI hope to hear from you as to what you think about this. You may of
86*33702Sbosticcourse send 4.3 version to the moderator directly, or you can let me
87*33702Sbosticknow of your permission, and I will send the sources, or you can let
88*33702Sbosticme know that 4.3 version is off-limits, in which case we would probably
89*33702Sbostichave to revert to an older version. One way or another, I hope to get
90*33702Sbostica version of indent to comp.sources.unix.
91*33702Sbostic
92*33702Sbosticregards..	oz
93*33702Sbostic
94*33702Sbosticcc: ccvaxa!willcox
95*33702Sbostic    sun.com!jar
96*33702Sbostic    uunet!rsalz
97*33702Sbostic
98