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