[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

cdrecord: weird GPL interpretation

Hi all,
in cdrtools-2.01a38 I found the following weird GPL interpretation.
I wonder if this is considered acceptable for main (I would say that
this is non-free). I don't know whether cdrecord links with (or is
otherwise a derivative work of) other GPL'd software (whose copyright is
held by other people): in that case I would say that this is even
undistributable...  :(

What do you think about this?
There already is a Debian BTS bug report
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=265546) about this
issue (it was filed when it was even worse, it seems...), but it says
it's resoved with version 2.01a38. I wonder if you agree...

NOTE: I am Cc:ing the the package maintainer (Joerg Jaspert) and the
bug-report filer (Andreas Metzler).
I don't know if they would like to be Mail-Followup:ed...

Issue description follows:

 -=-=-=-= cdrecord/LICENSE =-=-=-=-

This software is under GPL but you should read the following

-       You may not modify certain copyright messages in cdrecord.c

        See cdrecord.c for further information.

-       You may (with a few exceptions) not modify the location of the
        configuration file /etc/default/cdrecord.

        See defaults.c for further information.

Please note that this is just the way I interpret the GPL and as this
is my software, users should follow my interpretation of the GPL and not
use their own different interpretations.

 -=-=-=-= cdrecord/cdrecord.c (sorry for linewrapping) =-=-=-=-

	 * Begin restricted code for quality assurance.
	 * Warning: you are not allowed to modify or to remove the
	 * Copyright and version printing code below!
	 * See also GPL § 2 subclause c)
	 * If you modify cdrecord you need to include additional version
	 * printing code that:
	 *	-	Clearly states that the current version is an
	 *		inofficial (modified) version and thus may have bugs
	 *		that are not present in the original.
	 *	-	Print your support e-mail address and tell people that
	 *		you will do complete support for this version of
	 *		cdrecord.
	 *		Or clearly state that there is absolutely no support
	 *		for the modified version you did create.
	 *	-	Tell the users not to ask the original author for
	 *		help.
	 * This limitation definitely also applies when you use any other
	 * cdrecord release together with libscg-0.6 or later, or when you
	 * use any amount of code from cdrecord-1.11a17 or later.
	 * In fact, it applies to any version of cdrecord, see also
	 * GPL Preamble, subsection 6.
	 * I am sorry for the inconvenience but I am forced to do this because
	 * some people create inofficial branches. These branches create
	 * problems but the initiators do not give support and thus cause the
	 * development of the official cdrecord versions to slow down because
	 * I am loaded with unneeded work.
	 * Please note that this is a memorandum on how I interpret the GPL.
	 * If you use/modify/redistribute cdrecord, you need to accept it
	 * this way.
	 * The above statement is void if there has been neither a new version
	 * of cdrecord nor a new version of star from the original author
	 * within more then a year.

	 * Ugly, but Linux incude files violate POSIX and #define printf
	 * so we cannot include the #ifdef inside the printf() arg list.
#	define	PRODVD_TITLE	""
#	define	CLONE_TITLE	"-Clone"
#	define	CLONE_TITLE	""
	if ((flags & F_MSINFO) == 0 || lverbose || flags & F_VERSION) {
		printf("Cdrecord%s%s %s (%s-%s-%s) Copyright (C) 1995-2004 Jörg

#if	defined(SOURCE_MODIFIED) || !defined(IS_SCHILY_XCONFIG)
#define	NO_SUPPORT	0
		printf("NOTE: this version of cdrecord is an inofficial
(modified) release of cdrecord\n");
		printf("      and thus may have bugs that are not present in the
original version.\n");
		printf("      The author of the modifications decided not to
provide a support e-mail\n");
		printf("      address so there is absolutely no support for this
		printf("      Please send bug reports and support requests to
		printf("      The original author should not be bothered with
problems of this version.\n");
#if	!defined(IS_SCHILY_XCONFIG)
		printf("\nWarning: This version of cdrecord has not been
configured via the standard\n");
		printf("autoconfiguration method of the Schily makefile system.
There is a high risk\n");
		printf("that the code is not configured correctly and for this
reason will not behave\n");
		printf("as expected.\n");

	 * I am sorry that even for version 1.295 of cdrecord.c, I am forced to
	 * things like this, but defective versions of cdrecord cause a lot of
	 * work load to me and it seems to be impossible to otherwise convince
	 * SuSE to cooperate.
	 * As people contact me and bother me with the related problems,
	 * it is obvious that SuSE is violating subsection 6 in the preamble of
	 * the GPL.
	 * The reason for including a test against SuSE's private
	 * distribution environment is only that SuSE violates the GPL for
	 * a long time and seems not to be willing to follow the requirements
	 * imposed by the GPL. If SuSE starts to ship non defective versions
	 * of cdrecord or informs their customers that they would need to
	 * compile cdrecord themselves in order to get a working cdrecord,
	 * they should contact me for a permission to change the related test.
	 * Note that although the SuSE test is effective only for SuSE, the
	 * intention to have non bastardized versions out is not limited
	 * to SuSE. It is bad to see that in special in the "Linux" business,
	 * companies prefer a model with many proprietary differing programs
	 * instead of cooperating with the program authors.
	linuxcheck();	/* For version 1.295 of cdrecord.c */

	if (flags & F_VERSION)
	 * End restricted code for quality assurance.

 -=-=-=-= cdrecord/defaults.c =-=-=-=-

	 * WARNING you are only allowed to change this filename if you also
	 * change the documentation and add a statement that makes clear
	 * where the official location of the file is why you did choose a
	 * nonstandard location and that the nonstandard location only refers
	 * to inofficial cdrecord versions.
	 * I was forced to add this because some people change cdrecord without
	 * rational reason and then publish the result. As those people
	 * don't contribute work and don't give support, they are causing extra
	 * work for me and this way slow down the cdrecord development.
	return (defltopen("/etc/default/cdrecord"));

             |  GnuPG Key ID = DD6DFCF4 |  $ fortune
  Francesco  |        Key fingerprint = |  Q: What is purple
     Poli    | C979 F34B 27CE 5CD8 DC12 |     and commutes?
             | 31B5 78F4 279B DD6D FCF4 |  A: A boolean grape.

Attachment: pgp27maLGoLOI.pgp
Description: PGP signature

Reply to: