Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=135
Name: XZ Utils
Maintainer: Lasse Collin <lasse.collin@tukaani.org>
Source: http://tukaani.org/xz
 http://git.tukaani.org/xz.git
X-Authors:
 XZ Utils is developed and maintained upstream by Lasse Collin.  Major
 portions are based on code by other authors; see AUTHORS for details.
 Most of the source has been put into the public domain, but some files
 have not (details below).
X-Overview:
 Different licenses apply to different files in this package. Here
 is a rough summary of which licenses apply to which parts of this
 package (but check the individual files to be sure!):
 .
   - liblzma is in the public domain.
 .
   - xz, xzdec, and lzmadec command line tools are in the public
     domain unless GNU getopt_long had to be compiled and linked
     in from the lib directory. The getopt_long code is under
     GNU LGPLv2.1+.
 .
   - The scripts to grep, diff, and view compressed files have been
     adapted from gzip. These scripts and their documentation are
     under GNU GPLv2+.
 .
   - All the documentation in the doc directory and most of the
     XZ Utils specific documentation files in other directories
     are in the public domain.
 .
   - Translated messages are in the public domain.
 .
   - The build system contains public domain files, and files that
     are under GNU GPLv2+ or GNU GPLv3+. None of these files end up
     in the binaries being built.
 .
   - Test files and test code in the tests directory, and debugging
     utilities in the debug directory are in the public domain.
 .
   - The extra directory may contain public domain files, and files
     that are under various free software licenses.
 .
 You can do whatever you want with the files that have been put into
 the public domain. If you find public domain legally problematic,
 take the previous sentence as a license grant. If you still find
 the lack of copyright legally problematic, you have too many
 lawyers.
 .
 As usual, this software is provided "as is", without any warranty.
 .
 If you copy significant amounts of public domain code from XZ Utils
 into your project, acknowledging this somewhere in your software is
 polite (especially if it is proprietary, non-free software), but
 naturally it is not legally required. Here is an example of a good
 notice to put into "about box" or into documentation:
 .
     This software includes code from XZ Utils <http://tukaani.org/xz/>.
 .
 The following license texts are included in the following files:
   - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
   - COPYING.GPLv2: GNU General Public License version 2
   - COPYING.GPLv3: GNU General Public License version 3
 .
 Note that the toolchain (compiler, linker etc.) may add some code
 pieces that are copyrighted. Thus, it is possible that e.g. liblzma
 binary wouldn't actually be in the public domain in its entirety
 even though it contains no copyrighted code from the XZ Utils source
 package.
 .
 If you have questions, don't hesitate to ask the author(s) for more
 information.
X-Note:
 The rest of this file only describes the source package.  The binary
 packages contain some files derived from other works: for example,
 all images in the API documentation come from Doxygen.

Files: *
Copyright: 2006-2010, Lasse Collin
           1999-2008, Igor Pavlov
           2006, Ville Koskinen
           1998, Steve Reid
           2000, Wei Dai
           2003, Kevin Springle
           2009, Jonathan Nieder
License: PD
 This file has been put in the public domain.
 You can do whatever you want with this file.
X-Note:
 From: Lasse Collin <lasse.collin@tukaani.org>
 To: Jonathan Nieder <jrnieder@gmail.com>
 Subject: Re: XZ utils for Debian
 Date: Sun, 19 Jul 2009 13:28:23 +0300
 Message-Id: <200907191328.23816.lasse.collin@tukaani.org>
 .
 [...]
 .
 > AUTHORS, ChangeLog, COPYING, README, THANKS, TODO,
 > dos/README, windows/README
 .
 COPYING says that most docs are in the public domain. Maybe that's not
 clear enough, but on the other hand it looks a bit stupid to put
 copyright information in tiny and relatively small docs like README.
 .
 I don't dare to say that _all_ XZ Utils specific docs are in the public
 domain unless otherwise mentioned in the file. I'm including PDF files
 generated by groff + ps2pdf, and some day I might include Doxygen-
 generated HTML docs too. Those don't include any copyright notices, but
 it seems likely that groff + ps2pdf or at least Doxygen put some
 copyrighted content into the generated files.

Files: INSTALL,
       NEWS,
       PACKAGERS,
       windows/README-Windows.txt,
       windows/INSTALL-Windows.txt
Copyright: 2009-2010, Lasse Collin
License: probably-PD
 See the note on AUTHORS, README, and so on above.

Files: src/scripts/*, lib/*, extra/scanlzma/scanlzma.c
Copyright: © 1993, Jean-loup Gailly
           © 1989-1994, 1996-1999, 2001-2007, Free Software Foundation, Inc.
           © 2006 Timo Lindfors
           2005, Charles Levert
           2005, 2009, Lasse Collin
           2009, Andrew Dudman
X-Other-Authors: Paul Eggert, Ulrich Drepper
License: GPL-2+
 This program 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.
 .
 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 this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 .
 On Debian systems, the complete text of the GNU General Public License
 version 2 can be found in ‘/usr/share/common-licenses/GPL-2’.

Files: src/scripts/Makefile.am, src/scripts/xzless.1
Copyright: 2009, Andrew Dudman
           2009, Lasse Collin
License: PD
 This file has been put in the public domain.
 You can do whatever you want with this file.

Files: doc/examples/xz_pipe_comp.c, doc/examples/xz_pipe_decomp.c
Copyright: 2010, Daniel Mealha Cabrita
License: PD
 Not copyrighted -- provided to the public domain.

Files: lib/getopt.c, lib/getopt1.c, lib/getopt.in.h
Copyright: © 1987-2007 Free Software Foundation, Inc.
X-Other-Authors: Ulrich Drepper
License: LGPL-2.1+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
 the Free Software Foundation; either version 2.1, or (at your option)
 any later version.
 .
 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 Lesser General Public License for more details.
 .
 You should have received a copy of the GNU Lesser General Public License along
 with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 .
 On Debian systems, the complete text of the GNU Lesser General Public
 License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’.

Files: m4/getopt.m4, m4/posix-shell.m4
Copyright: © 2002-2006, 2008 Free Software Foundation, Inc.
           © 2007-2008 Free Software Foundation, Inc.
X-Other-Authors: Bruno Haible, Paul Eggert
License: permissive
 This file is free software; the Free Software Foundation
 gives unlimited permission to copy and/or distribute it,
 with or without modifications, as long as this notice is preserved.

Files: m4/acx_pthread.m4
Copyright: © 2007, Steven G. Johnson <stevenj@alum.mit.edu>
License: Autoconf
 This program 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 3 of the
 License, or (at your option) any later version.
 .
 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 this program. If not, see
 <http://www.gnu.org/licenses/>.
 .
 As a special exception, the respective Autoconf Macro's copyright
 owner gives unlimited permission to copy, distribute and modify the
 configure scripts that are the output of Autoconf when processing
 the Macro. You need not follow the terms of the GNU General Public
 License when using or distributing such scripts, even though
 portions of the text of the Macro appear in them. The GNU General
 Public License (GPL) does govern all other use of the material that
 constitutes the Autoconf Macro.
 .
 This special exception to the GPL applies to versions of the
 Autoconf Macro released by the Autoconf Macro Archive. When you
 make and distribute a modified version of the Autoconf Macro, you
 may extend this special exception to the GPL to apply to your
 modified version as well.
 .
 On Debian systems, the complete text of the GNU General Public
 License version 3 can be found in ‘/usr/share/common-licenses/GPL-3’.

Files: Doxyfile.in
Copyright: © 1997-2007 by Dimitri van Heesch
X-Origin: Doxygen 1.4.7
License: GPL-2
 Permission to use, copy, modify, and distribute this software and its
 documentation under the terms of the GNU General Public License is
 hereby granted. No representations are made about the suitability of
 this software for any purpose. It is provided "as is" without express
 or implied warranty. See the GNU General Public License for more
 details.
 .
 Documents produced by doxygen are derivative works derived from the
 input used in their production; they are not affected by this license.
 .
 On Debian systems, the complete text of the version of the GNU General
 Public License distributed with Doxygen can be found in
 ‘/usr/share/common-licenses/GPL-2’.

Files: src/liblzma/check/crc32_table_[bl]e.h,
       src/liblzma/check/crc64_table_[bl]e.h,
       src/liblzma/lzma/fastpos_table.c,
       src/liblzma/rangecoder/price_table.c
Copyright: none, automatically generated data
X-Generated-With: src/liblzma/check/crc32_tablegen.c,
                  src/liblzma/check/crc64_tablegen.c,
                  src/liblzma/lzma/fastpos_tablegen.c,
                  src/liblzma/rangecoder/price_tablegen.c
License: none
 No copyright to license.

Files: .gitignore, m4/.gitignore, po/.gitignore, po/LINGUAS, po/POTFILES.in
Copyright: none; these are just short lists.
License: none
 No copyright to license.

Files: tests/compress_prepared_bcj_*
Copyright: 2008-2009, Lasse Collin
X-Source-Code: tests/bcj_test.c
License: PD
 changelog.gz (commit 975d8fd) explains:
 .
 Recreated the BCJ test files for x86 and SPARC. The old files
 were linked with crt*.o, which are copyrighted, and thus the
 old test files were not in the public domain as a whole. They
 are freely distributable though, but it is better to be careful
 and avoid including any copyrighted pieces in the test files.
 The new files are just compiled and assembled object files,
 and thus don't contain any copyrighted code.

Files: po/cs.po, po/de.po
Copyright: 2010, Marek Černocký
           2010, Andre Noll
License: PD
 This file is put in the public domain.

Files: po/it.po
Copyright: 2009, 2010, Gruppo traduzione italiano di Ubuntu-it
           2010, Lorenzo De Liso
           2009, 2010, Milo Casagrande
License: PD
 This file is in the public domain

Files: dos/config.h
Copyright: © 1992, 1993, 1994, 1999, 2000, 2001, 2002, 2005
             Free Software Foundation, Inc.
           2007-2010, Lasse Collin
X-Other-Authors: Roland McGrath, Akim Demaille, Paul Eggert,
                 David Mackenzie, Bruno Haible, and many others.
X-Origin: configure.ac from XZ Utils,
          visibility.m4 serial 1 (gettext-0.15),
          Autoconf 2.52g
License: config-h
 configure.ac:
 .
 # Author: Lasse Collin
 #
 # This file has been put into the public domain.
 # You can do whatever you want with this file.
 .
 visibility.m4:
 .
 dnl Copyright (C) 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 .
 dnl From Bruno Haible.
 .
 comments from Autoconf 2.52g:
 .
 # Copyright 1992, 1993, 1994, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 #
 # This program 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.
 #
 # 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 this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 # 02110-1301, USA.
 #
 # As a special exception, the Free Software Foundation gives unlimited
 # permission to copy, distribute and modify the configure scripts that
 # are the output of Autoconf.  You need not follow the terms of the GNU
 # General Public License when using or distributing such scripts, even
 # though portions of the text of Autoconf appear in them.  The GNU
 # General Public License (GPL) does govern all other use of the material
 # that constitutes the Autoconf program.
 #
 # Certain portions of the Autoconf source text are designed to be copied
 # (in certain cases, depending on the input) into the output of
 # Autoconf.  We call these the "data" portions.  The rest of the Autoconf
 # source text consists of comments plus executable code that decides which
 # of the data portions to output in any given case.  We call these
 # comments and executable code the "non-data" portions.  Autoconf never
 # copies any of the non-data portions into its output.
 #
 # This special exception to the GPL applies to versions of Autoconf
 # released by the Free Software Foundation.  When you make and
 # distribute a modified version of Autoconf, you may extend this special
 # exception to the GPL to apply to your modified version as well, *unless*
 # your modified version has the potential to copy into its output some
 # of the text that was the non-data portion of the version that you started
 # with.  (In other words, unless your change moves or copies text from
 # the non-data portions to the data portions.)  If your modification has
 # such potential, you must delete any notice of this special exception
 # to the GPL from your modified version.
 .
 On Debian systems, the complete text of the GNU General Public
 License version 2 can be found in ‘/usr/share/common-licenses/GPL-2’.
 dos/config.h was generated with autoheader, which tells Autoconf to
 output a script to generate a config.h file and then runs it.

Files: po/Makevars
X-Origin: gettext-runtime/po/Makevars (gettext-0.12)
X-Authors: Bruno Haible
Copyright: © 2003 Free Software Foundation, Inc.
License: LGPL-2.1+
 The gettext-runtime package is under the LGPL, see files intl/COPYING.LIB-2.0
 and intl/COPYING.LIB-2.1.
 .
 On Debian systems, the complete text of intl/COPYING.LIB-2.0 from
 gettext-runtime 0.12 can be found in ‘/usr/share/common-licenses/LGPL-2’
 and the text of intl/COPYING.LIB-2.1 can be found in
 ‘/usr/share/common-licenses/LGPL-2.1’.
 .
 po/Makevars consists mostly of helpful comments and does not contain a
 copyright and license notice.

Files: INSTALL.generic
Copyright: © 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
             2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
License: permissive-nowarranty
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
 notice and this notice are preserved.  This file is offered as-is,
 without warranty of any kind.

Files: COPYING.GPLv2, COPYING.GPLv3, COPYING.LGPLv2.1
Copyright: © 1989, 1991, 1999, 2007 Free Software Foundation, Inc.
License: noderivs
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

Files: debian/*
Copyright: 2009-2010, Jonathan Nieder
License: PD-debian
 The Debian packaging files are in the public domain.
 You may freely use, modify, distribute, and relicense them.
