Subject: Re: GPL clause 2a: How do YOU document your changes?
From: Ian Lance Taylor <ian@airs.com>
Date: 05 Jan 2004 11:40:12 -0500

"La Monte H.P. Yarroll" <piggy@timesys.com> writes:

> Clause 2a of the GPL states:
> 
>  >   2. You may modify your copy or copies of the Program or any portion
>  > of it, thus forming a work based on the Program, and copy and
>  > distribute such modifications or work under the terms of Section 1
>  > above, provided that you also meet all of these conditions:
>  >
>  >     a) You must cause the modified files to carry prominent notices
>  >     stating that you changed the files and the date of any change.
> 
> This clause differs from the practices I have observed in the community.
> 
> In particular, it is common to simply include a notice that the program
> as a whole has been changed (e.g. in a README) from some "original"
> distribution, rather than putting that notice on each modified file.
> 
> I've also noticed that it is unusual to find a list of specific changes
> with dates on them.
> 
> I'm not too concerned about fixing the practices of every project we
> contribute to.  Mainline changes are generally managed by the primary
> copyright holder who certainly has a special status wrt to the GPL.
> 
> I'm more concerned about specialized forks of GPL'd projects which my
> company maintains.  A lot of project maintainers are not particularly
> concerned with incorporating changes to support embedded real-time
> applications.
> 
> Do you maintain a fork of a GPL'd program?  If so, what do you do to
> comply with this clause?
> 
> What do you recommend that we do?  Is an automtically-generated
> changelog in each file sufficient?  Is it overkill?

The clause is ambiguous.  It doesn't say that each individual modified
file must carry a ``prominent notice.''  Instead it says that ``the
modified files'' must carry ``prominent notices.''

I believe that most people working with GNU sources satisfy this
clause by distributing a ChangeLog file which describes each change,
including the specific files and the date.  This is either added to
the usual ChangeLog file, or a more specific ChangeLog.company file is
created.  I think that qualifies as a ``prominent notice.''  There is
no notice on each specific modified file, but the notice is part of
``the modified files.''

That is what my past and present employers have done to satisfy this
clause.  I've never heard a complaint that this is inadequate.  I
think it clearly satisfies the spirit of the clause, and it arguably
satisfies the letter of the clause as well.

Ian