This is the Debian GNU/Linux prepackaged version of watchdog.
Watchdog was written by Michael Meskes <meskes@informatik.rwth-aachen.de>.

Copying:

   Copyright (C) 1996-2012 Michael Meskes

   WATCHDOG is free software; you can redistribute it and/or modify it under
   the terms of the GNU General Public License as published by the Free
   Software Foundation; either version 2, or (at your option) any later
   version.

   WATCHDOG 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.

On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.

* Michael Meskes <meskes@debian.org> Wed Jan  15 11:36:42 +0100 1997

Modifications for Debian are copyright (C) 1997-2012 Michael Meskes, (C)
1997-2000 Johnie Ingram, and also released under the terms of the GPL
as stated above.
