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