[crossfire] Handling of "Created" and "Modified" info in map headers

Raphaël Quinet raphael at gimp.org
Tue Aug 26 09:10:35 CDT 2008


On Mon, 25 Aug 2008 21:49:20 -0700, Mark Wedel <mwedel at sonic.net> wrote:
>   As I'm thinking about this more, I'm more tempted that all editors should 
> really just do 'Modified: $Id$', and let svn/cvs/whatever deal with that last 
> modified date.  This actually works better because any checkin has to have a 
> real name/e-mail addressed to it.  Or maybe put in another field like ID: which 
> has that info.

I think that it is still useful to have both the "Created" line and at
least one "Modified" line.  And as I said in my previous message, I would
even prefer a full history of "Modified" fields.

[...]
>   I'm also not sure if the map header should really duplicate material that is 
> found in SVN (which the modified field info is).  The created file is different, 
> because who created the map vs who checked it in originally can certainly be 
> different.  So I'd still be tempted to have only the most recent Modified field, 
> or perhaps none at all - none of the other source files do.
> 
>   I sort of suspect the reason that the maps do have that modified fields is 
> because at some point, they predated version control and at that time, there was 
> some desire to track that info.

Probably.  But even with SVN, there is some information that may be lost
when a map is submitted as a patch by someone who doesn't have SVN access.
I do not have this problem because I can commit my changes directly in SVN
but those who contribute new maps or map updates as patches may have
strong feelings about that.  If an external contributor submits a map
(with her name in a "Modified" field), this is currently discarded by
gridarta if the one who commits the map in SVN edits the map before the
commit.  The information about the original author of the patch may or may
not be included in the commit message depending on whether the committer
does his job correctly or not, but in any case it will be gone from the map
itself.

Also, I don't think that relying only on the version control system that
we use is the best solution.  For instance, remember that some historical
information was lost during the migration from CVS to SVN.  Besides, those
who get the maps or other parts of crossfire from a tarball or via a
pre-built package in their distribution may not have easy access to the
SVN logs to see who modified what and when.

Now that I think about it, the maps are distributed with the GPL version 2,
and section 2.a of the GPLv2 requires all files to carry a notice stating
who changed the files and when.  The GPLv3 and AGPLv3 have the same
requirement in section 5.a and state clearly in section 4 that all previous
notices must be kept intact (this was also mentioned in section 1 of the
GPLv2 that we are using, although not as clearly).

Most files in the server or client source code start with our standard
header assigning the copyright to you and the "Crossfire Development Team".
This is fine for the source code, but this copyright notice is currently
absent from the maps.  And even if it was added to all maps, I don't think
that it would be appropriate to simply credit the "Crossfire Development
Team" for the maps (and to some extent, for the archetypes) because we
accepted many significant contributions coming from people who are not
developers.  So I think that it would be more appropriate to credit them
individually.  Or to be more precise, if they did add their own name in
the map header, then I don't think that it is appropriate to remove it,
according to the license that we use.

Yesterday I asked about opinions regarding how to handle the "Modified"
headers as a matter of personal preferences, but after having considered
the GPL and the potential copyright issues with external contributors, I
think that it is not just a matter of personal preferences anymore...

-Raphaël



More information about the crossfire mailing list