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.
pgpxs5dQCiR9K.pgp
Description: PGP signature