On Mon, 5 Jan 2009 10:54:56 +0100 Jørgen Abrahamsen jorgen.abrahamsen@uninett.no wrote:
I think we should start removing Author-lines right away either as you go or in chunks - whatever rocks your boat. And also refuse code tagged with authors. This should be stated in the HACKING file.
To sum up what's been decided so far:
- Remove the legacy $Id$ keyword
- Simplify the source file header. (I support Morten's suggestion with a disclaimer included in the version tag.)
Have I missed something?
Hopefully we can close this discussion and start with the migration soon.
In light of the IRC discussion last week, and the risk of turning this in to a bikeshed (as someone commented), I'm going to ab^H^Huse my authority and cut through with the following decisions.
We're tossing out the metavariables, as they seem to be non-standard, won't be read by machine AFAIK, and they clutter up the code. The following is the new template for Python files:
--[snip]-- #!/usr/bin/env python # -*- coding: utf-8 -*- # # Copyright (C) 2002-2004 Norwegian University of Science and Technology # Copyright (C) 2007-2009 UNINETT AS # # This file is part of Network Administration Visualized (NAV). # # NAV is free software: you can redistribute it and/or modify it under # the terms of the GNU General Public License version 2 as published by # the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. See the GNU General Public License for more details. # You should have received a copy of the GNU General Public License along with # NAV. If not, see http://www.gnu.org/licenses/. # """Module docstring, using PEP-257 conventions.""" --[snip]--
The following rules apply:
1. Modules that are not to be executed as programs shall not contain the shebang on the first line.
2. The copyright notices shall (of course) be correct, the above are only examples. For those working for UNINETT, the UNINETT copyright year must be updated (if necessary) when less than trivial changes are made to a file.
3. No individual authors shall be listed in the comments or in metavariables. The only exception to this is source code modules that have been copied from third parties (assuming compatible licenses) and contain author names in addition to copyright statements (i.e. don't remove stuff if you copied a whole file).
4. Header changes to existing Python files must be committed as separate changesets - do not mix other kinds of changes into these changesets, but do update Python file headers in batch where applicable. Use the log message "Cleanup of Python file headers, according to new policy."
5. Don't spend time on changing headers on stable branches, only on feature branches and the default branch. If you spot a Python file with a non-compliant header, fix it immediately (remember: separate commit!). Change all the files you are currently maintaining.