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
clarifications:
- 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 ""
#ifdef CLONE_WRITE
# define CLONE_TITLE "-Clone"
#else
# define CLONE_TITLE ""
#endif
if ((flags & F_MSINFO) == 0 || lverbose || flags & F_VERSION) {
printf("Cdrecord%s%s %s (%s-%s-%s) Copyright (C) 1995-2004 Jörg
Schilling\n",
PRODVD_TITLE,
CLONE_TITLE,
cdr_version,
HOST_CPU, HOST_VENDOR, HOST_OS);
#if defined(SOURCE_MODIFIED) || !defined(IS_SCHILY_XCONFIG)
#define INSERT_YOUR_EMAIL_ADDRESS_HERE
#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");
#if NO_SUPPORT
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
version.\n");
#else
printf(" Please send bug reports and support requests to
<%s>.\n", INSERT_YOUR_EMAIL_ADDRESS_HERE);
#endif
printf(" The original author should not be bothered with
problems of this version.\n");
printf("\n");
#endif
#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");
#endif
}
/*
* I am sorry that even for version 1.295 of cdrecord.c, I am forced to
do
* 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)
exit(0);
/*
* End restricted code for quality assurance.
*/
[...]
-=-=-=-= cdrecord/defaults.c =-=-=-=-
[...]
LOCAL int
open_cdrdefaults()
{
/*
* 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