Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: XZ Utils
Upstream-Contact:
 Lasse Collin <lasse.collin@tukaani.org>
 http://tukaani.org/xz/lists.html
Source:
 http://tukaani.org/xz
 http://git.tukaani.org/xz.git
Comment:
 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).
 .
 This file describes the source package.  The binary packages contain
 some files derived from other works: for example, images in the API
 documentation come from Doxygen.
License:
 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.

Files: *
Copyright: 2006-2012, Lasse Collin
           1999-2008, Igor Pavlov
           2006, Ville Koskinen
           1998, Steve Reid
           2000, Wei Dai
           2003, Kevin Springle
           2009, Jonathan Nieder
           2010, Anders F Björklund
License: PD
 This file has been put in the public domain.
 You can do whatever you want with this file.
Comment:
  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
Other-Authors: Paul Eggert, Ulrich Drepper
License: 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.
Other-Authors: Ulrich Drepper
License: 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.
Other-Authors: Bruno Haible, Paul Eggert
License: permissive-fsf

Files: m4/acx_pthread.m4
Copyright: © 2008, Steven G. Johnson <stevenj@alum.mit.edu>
License: Autoconf

Files: Doxyfile.in
Copyright: © 1997-2007 by Dimitri van Heesch
Origin: Doxygen 1.4.7
License: GPL-2

Files: src/liblzma/check/crc32_table_?e.h
 src/liblzma/check/crc64_table_?e.h
 src/liblzma/lzma/fastpos_table.c
 src/liblzma/rangecoder/price_table.c
Copyright: none, automatically generated data
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
Source-Code: tests/bcj_test.c
License: PD
 This file has been put into the public domain.
 You can do whatever you want with this file.
Comment:
 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 po/fr.po
Copyright: 2010, Marek Černocký
           2010, Andre Noll
           2011, Adrien Nader
License: PD
 This file is put in the public domain.

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

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

Files: dos/config.h
Copyright: © 1992, 1993, 1994, 1999, 2000, 2001, 2002, 2005
             Free Software Foundation, Inc.
           2007-2010, Lasse Collin
Other-Authors: Roland McGrath, Akim Demaille, Paul Eggert,
               David Mackenzie, Bruno Haible, and many others.
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.
 .
 [...]
 .
  # 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.
 .
 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
Origin: gettext-runtime/po/Makevars (gettext-0.12)
Copyright: © 2003 Free Software Foundation, Inc.
Authors: Bruno Haible
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: 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-2012, Jonathan Nieder
License: PD-debian
 The Debian packaging files are in the public domain.
 You may freely use, modify, distribute, and relicense them.

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

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

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

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

License: permissive-fsf
 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.

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.
