Dear Jean-Michel,
While reviewing testdisk 7.2-1 in the NEW queue, I conducted a DFSG and
copyright audit comparing the upstream source tree against debian/copyright.
The audit revealed several pre-existing discrepancies in debian/copyright
(also present in 7.2-0.2 currently in unstable). Under Debian Policy §12.5,
all copyright notices and distinct license terms must be accurately recorded.
Below is a structured summary of the findings, followed by a proposed
patch updating debian/copyright.
======================================================================
1. License Scope Mismatches (GPL-2 vs GPL-2+)
======================================================================
Several filesystem header files are explicitly licensed under GNU GPL v2
*only* (lacking the "or (at your option) any later version" clause), but
are currently covered under the catch-all GPL-2+ stanza:
- src/refs.h (lines 4-6)
- src/ufs.h (lines 4-6)
- src/xfs.h (lines 4-6)
- src/xfs_struct.h (lines 4-6)
Header quote:
"under the terms of version 2 of the GNU General Public License as
published by the Free Software Foundation."
======================================================================
2. Missing Upstream Authors & Attributions
======================================================================
The following source files contain explicit third-party copyright notices
that are currently omitted from debian/copyright:
| File(s) | Copyright Holder / Author | Year(s) |
|-----------------------|-----------------------------------------------|-------------|
| src/file_bpg.c:6 | Dmitry Brant <me@dmitrybrant.com> | 2016 |
| src/file_mkv.c:6 | Nick Schrader <nick.schrader@iserv-gis.de> | 2011 |
| src/file_xm.c:6 | Christophe GISQUET <christophe.gisquet@free.fr> | 2007 |
| src/file_zip.c:6 | Christophe GISQUET <christophe.gisquet@free.fr> | 2007 |
| src/dfxml.c:5 | Simson Garfinkel | 2011 |
| src/dfxml.h:5 | Simson Garfinkel | 2011 |
| src/pe.h:3 | Tomasz Kojm <tkojm@clamav.net> | 2004-2005 |
| src/rfs.h:6 | Hans Reiser (ReiserFS v0.91) | 1996-1998 |
| src/hfsp_struct.h:7-9 | Klaus Halfmann <klaus.halfmann@feri.de> | 2000 |
| | Robert Leslie <rob@mars.org> | 1996-1998 |
| | Brad Boyer <flar@pants.nu> | 2000 |
| src/suspend.c:8 | Michael Cohen <scudette@users.sourceforge.net>| 2008 |
| src/md.h:24 | Ingo Molnar, Gadi Oxman | 1996-1998 |
| src/jfs_superblock.h:4| International Business Machines Corp. | 2000-2002 |
| src/lvm.h:9 | Michail Brzitwa <mb@ichabod.han.de> (gpart) | 1999-2001 |
| src/memmem.h:6 | Free Software Foundation, Inc. (glibc) | 1991-2004 |
| src/ntfs_dir.c:7 | Lode Leroy (Linux-NTFS project) | 2003 |
| src/ntfs_utl.c:7 | Lode Leroy (Linux-NTFS project) | 2003 |
| src/ntfs_io.c:5 | Anton Altaparmakov | 2000-2003 |
======================================================================
3. Incomplete File Lists in Existing Stanzas
======================================================================
- James Holodnak stanza: covers `src/file_fds.c`, but should also include
`src/file_nes.c` (line 5: Copyright (C) 2013 James Holodnak).
- Peter Turczak stanza: covers `src/file_fh5.c`, but should also include
`src/file_fh10.c` and `src/file_indd.c` (and the alternate email address
`<pnospamt@netconsequence.de>`).
- NTFS stanza: covers `src/ntfs_udl.c` and `src/ntfs_dir.c`, but should
also include `src/ntfs_utl.c` and `src/ntfs_io.c`.
======================================================================
4. Copyright Year Coverage
======================================================================
The catch-all stanza `Files: *` lists `1998-2018 Christophe Grenier`, whereas
upstream file headers and the `INFO` file show copyright notices through 2024
(`1998-2024 Christophe GRENIER <grenier@cgsecurity.org>`).
======================================================================
Proposed Patch (debian/copyright)
======================================================================
Below is the proposed update to debian/copyright to resolve all of the above:
--- a/debian/copyright
+++ b/debian/copyright
@@ -3,48 +3,130 @@
Source: https://www.cgsecurity.org/
Files: *
-Copyright: 1998-2018 Christophe Grenier <grenier@cgsecurity.org>
+Copyright: 1998-2024 Christophe Grenier <grenier@cgsecurity.org>
License: GPL-2+
+Files: src/refs.h
+ src/ufs.h
+ src/xfs.h
+ src/xfs_struct.h
+Copyright: 1998-2024 Christophe Grenier <grenier@cgsecurity.org>
+License: GPL-2
+
Files: src/ntfs_udl.c
src/ntfs_dir.c
-Copyright: 2002-2005 Richard Russon
+ src/ntfs_utl.c
+Copyright: 2004-2008 Christophe Grenier <grenier@cgsecurity.org>
+ 2002-2005 Richard Russon
2004-2005 Holger Ohmacht
- 2005 Anton Altaparmakov
+ 2003-2005 Anton Altaparmakov
+ 2003 Lode Leroy
+License: GPL-2+
+
+Files: src/ntfs_io.c
+Copyright: 2004-2006 Christophe Grenier <grenier@cgsecurity.org>
+ 2000-2003 Anton Altaparmakov
License: GPL-2+
Files: src/file_fh5.c
+ src/file_fh10.c
+ src/file_indd.c
Copyright: 2007 Christophe GRENIER <grenier@cgsecurity.org>
2007 Peter Turczak <pspamt@netconsequence.de>
+ 2007 Peter Turczak <pnospamt@netconsequence.de>
License: GPL-2+
Files: src/file_fds.c
+ src/file_nes.c
Copyright: 2013 James Holodnak <jamesholodnak@gmail.com>
License: GPL-2+
+Files: src/file_bpg.c
+Copyright: 1998-2007 Christophe GRENIER <grenier@cgsecurity.org>
+ 2016 Dmitry Brant <me@dmitrybrant.com>
+License: GPL-2+
+
+Files: src/file_mkv.c
+Copyright: 1998-2011 Christophe GRENIER <grenier@cgsecurity.org>
+ 2011 Nick Schrader <nick.schrader@iserv-gis.de>
+License: GPL-2+
+
Files: src/file_shp.c
Copyright: 2023 Grzegorz Szymaszek <gszymaszek@short.pl>
License: GPL-2+
+Files: src/file_xm.c
+ src/file_zip.c
+Copyright: 1998-2009 Christophe GRENIER <grenier@cgsecurity.org>
+ 2007 Christophe GISQUET <christophe.gisquet@free.fr>
+License: GPL-2+
+
Files: src/crc.c
Copyright: 2007 Christophe GRENIER <grenier@cgsecurity.org>
1986 Gary S. Brown for the crc32 table
License: GPL-2+
+Files: src/dfxml.c
+ src/dfxml.h
+Copyright: 2011 Simson Garfinkel
+ 2011 Christophe Grenier <grenier@cgsecurity.org>
+License: GPL-2+
+
+Files: src/hfsp_struct.h
+Copyright: 2005-2006 Christophe GRENIER <grenier@cgsecurity.org>
+ 2000 Klaus Halfmann <klaus.halfmann@feri.de>
+ 1996-1998 Robert Leslie <rob@mars.org>
+ 2000 Brad Boyer <flar@pants.nu>
+License: GPL-2+
+
+Files: src/jfs_superblock.h
+Copyright: 2004 Christophe GRENIER <grenier@cgsecurity.org>
+ 2000-2002 International Business Machines Corp.
+License: GPL-2+
+
+Files: src/lvm.h
+Copyright: 2003-2008 Christophe GRENIER <grenier@cgsecurity.org>
+ 1999-2001 Michail Brzitwa <mb@ichabod.han.de>
+License: GPL-2+
+
+Files: src/md.h
+Copyright: 1998-2004 Christophe GRENIER <grenier@cgsecurity.org>
+ 1996-1998 Ingo Molnar, Gadi Oxman
+License: GPL-2+
+
+Files: src/memmem.h
+Copyright: 2005-2007 Christophe GRENIER <grenier@cgsecurity.org>
+ 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2004 Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: src/pe.h
+Copyright: 2007 Christophe Grenier <grenier@cgsecurity.org>
+ 2004-2005 Tomasz Kojm <tkojm@clamav.net>
+License: GPL-2+
+
+Files: src/rfs.h
+Copyright: 2005-2006 Christophe GRENIER <grenier@cgsecurity.org>
+ 1996-1998 Hans Reiser
+License: GPL-2+
+
+Files: src/suspend.c
+Copyright: 2009 Christophe GRENIER <grenier@cgsecurity.org>
+ 2008 Michael Cohen <scudette@users.sourceforge.net>
+License: GPL-2+
+
Files: debian/*
Copyright: 2004-2019 Jean-Michel Kelbert <kelbert@debian.org>
License: GPL-2+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of version 2 of the GNU General Public License 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.
+ .
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
License: GPL-2+
This software is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
regards,
-rt