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