Re: [Fwd: Re: I-D for the PATCH method]

Lisa Dusseault wrote on 08/15/06 17:53:

> I believe this URL is not a stable reference, which a RFC would need  
> to have.  It looks like the GNU organization could update the  
> algorithm and change the man page -- there's no versioning  
> information or guarantee that it's a final version.  It's also not  
> adequate by itself as a normative reference because there are options  
> like whether to suppress blank lines -- those options would have to  
> be nailed down if the single point of negotiation is the MIME type.
> 
> I understand that the GNU license allows us to copy the spec text  
> entirely: the page you link to says "Verbatim copying and  
> distribution of this entire article is permitted in any medium,  
> provided this notice is preserved. ".  Still, that doesn't  
> necessarily mean one can excerpt and rewrite the man page, nor does  
> it mean that implementations can freely use the algorithm without  
> being subject to other GNU licensing conditions.  IANAL, but I worry  
> whether using a GNU algorithm could mean that software written to  
> conform to a PATCH specification would be forced to be open source!
> 
> If you want to pursue using this diff format, we'd have to  
> investigate these issues at some point.


diff predates the FSF and GNU by a large margin.
A quick search shows that the algorithm was implemented in the early 1970s and
described by James Hunt and Doug McIlroy in 1976 in a Bell Labs tech report:
http://www.cs.dartmouth.edu/~doug/diff.ps
Bibtex reference (http://www.cs.dartmouth.edu/~doug/doug.bib):
@techreport{McIlroy76b,
   author = {J. W. Hunt and M. D. McIlroy},
   title = {An Algorithm for Differential File Comparison},
   institution = {Bell Laboratories},
   address = {Murray Hill, NJ},
   number = {CSTR 41},
   year = {1976}
}

It is my understanding that what is now called "normal diff" was the original
implementation's output. Context and unified outputs were added later.

-Joe

Received on Wednesday, 16 August 2006 05:06:53 UTC