Short description: Optical disc authoring software
cdrtools (formerly known as cdrecord) is a collection of independent projects of free software/open source computer programs.
The project was maintained for over two decades by Jörg Schilling, who died on October 10, 2021.[2][3]
Because of some licensing issues,[4] there is also a Debian fork of an older version of cdrtools called cdrkit.
Features
The most important parts of the package are cdrecord, a console-based burning program; cdda2wav, a CD audio ripper that uses libparanoia; and mkisofs, a CD/DVD/BD/UDF/HFS filesystem image creator. As these tools do not include any GUI, many graphical front-ends have been created.
The collection includes many features for CD, DVD and Blu-ray disc writing such as:
- creation of audio, data, and mixed (audio and data) CDs
- burning CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+RW, dual layer DVDs, and Blu-ray Discs
- support for Track-At-Once and Disc-At-Once recording modes
- cue sheet file format support, with Exact Audio Copy enhancements
- support for non-standard vendor specific drive features.
- Normal user can use cdrtools with Solaris fine grained privileges or similar Linux capabilities.[5]
History
Origins and name change
The first releases of cdrtools were called cdrecord because they only included the cdrecord
tool and a few companion tools, but not mkisofs
nor cdda2wav
. A copy of mkisofs
, created in 1993 by Eric Youngdale for Yggdrasil Linux, was incorporated in 1997.[6][7] In 1998, a copy of an experimental version of cdda2wav
, created by Heiko Eißfeldt[8][7] was included in the cdrecord package.[9][10]
In 1999 the project started to be called cdrtools[11][9][12] to better reflect the fact that it had become a collection of tools.
DVD and Blu-ray disc writing support
DVD writing support (cdrecord-ProDVD) in cdrecord started in early 1998, at the request of the data archivists of the European Southern Observatory.[13][14][15][discuss] But since the relevant information required a non-disclosure agreement and DVD writers were not publicly available, it was not included in the source code.[citation needed]
In 2002, Jörg Schilling started offering free license keys to the closed-source variant cdrecord-ProDVD for educational, and research use, shortly thereafter also for private use.[16][17] Unregistered free licenses were initially limited to single-speed writing and would expire every year.[17] On 15 May 2006, support for DVD writing was added to the open-source version 2.01.01a09 after switching the license to CDDL; thereby removing the need to get a license key.[16][18] Blu-ray disc support was added starting 2007.[19]
The lack of open-source DVD writing support in 2001 led to heated discussions on the mailing lists,[16] and to a number of unofficial patches for supporting the Pioneer DVD-R A03, the first DVD writer to reach mass market, and forks of cdrecord: Mandrake shipped a version called cdrecord-dvdhack,[20] whereas Redhat had dvdrecord.[21]
Hardware access controversy
Unlike cdrkit and libburnia, which use device files to access the hardware, cdrtools uses a different method known as CAM (for Common Access Method),[22] which is available on many operating systems, including some which lack device files or only allow the kernel to access them.
This difference has turned into a controversy: some Linux users claim that the method used by cdrtools is not appropriate, while some Linux users claim that the users of cdrtools do not need to know which method is used.[citation needed]
In cdrtools, burning optical media (such as CDs, DVDs and Blu-rays discs) is done through the SCSI interface. Users of systems with more than one burning device need to provide a SCSI device (which is identified by a triplet of numbers, scsibus,target,lun
). Users of systems with only one burning device, however, do not need to specify the SCSI device since cdrtools is able to find it. By 2002 more and more burners were using the ATAPI interface. Linux 2.6 allowed the users to detect the SCSI ID of a device from its UNIX device path (/dev/hdX
) and a patch was published that made identifying the burner device for cdrecord simpler by allowing the user to specify the /dev/hdX
device name (or even default to a udev managed link such as /dev/cdrw
). Schilling, however, rejected this approach as well as other modifications used by Linux distributions, with the rationale that it would make the software more complex and less portable as this function was not available on other UNIX systems.[23] Linus Torvalds states that SCSI LUNs should not be used for addressing devices on Linux,[24] because these numbers are not unique,[24] and do not make sense for many devices anymore[25] (many devices will report 0:0:0
fake numbers[25]). Instead Torvalds recommends that devices should be addressed via their UUID, physical connection, or an alias symlink[25] as managed by udev on Linux.
Torvalds pointed out that the ioctl's have been kept to ensure cdrecord compatibility[26] and do not return a meaningful value.[27]
License compatibility controversy
By 2004, Linux distributions were maintaining a number of unofficial changes – such as allowing the use of /dev/hdX
device names and (limited) DVD writing support – that were rejected by Schilling,[23] who repeatedly demanded that distributions stop shipping "bastardized and defective" versions of his "legal original software".[28]
Starting with version 2.01.01a09 in May 2006, most code from cdrtools has been relicensed under the CDDL, while mkisofs remains licensed under the GPL.[29] This change led to an ongoing disagreement about whether distribution or use of precompiled cdrtools binaries is legally possible (the GPL permits collective works, but not derivative works; and the Makefiles used to build mkisofs are CDDL licensed). The following are one-sentence summaries of the different positions:
- Jonathan Corbet, founder of the LWN.net news source argued that this change makes it impossible to legally distribute cdrtools binaries, because the build system used is CDDL licensed (interpreting cdrtools as derivative work of GPL and – GPL-incompatible – CDDL code) and the GPL requires "build tools and scripts also be released under the GPL".[30]
- Jörg Schilling denied there was a license problem in cdrtools. In his interpretation, it consisted of independent works and thus has not mixed incompatible licenses (i.e. it is a collective work, not a derivative work). According to his interpretation, binary versions may be distributed.[31]
- Fedora says the cdrtools is a "incompatible mix of the GPL and the CDDL"[32] and Schilling's opinion is a "set of unorthodox opinions on licensing which are not shared by the FSF or Red Hat Legal"[32] and thus cdrtools is forbidden on Fedora.
- Fedora's legals also proposed three solutions to solve license incompatibility (adding some sort of GPL linking exception, replace CDDL with GPL-compatible license, or dual-licensing CDDL/GPL[33]) and consequently available to re-open discussion about including cdrtools.
- As is common with the GPL and other open source licenses, very little case law exists to provide guidance to users and provide a definitive answer on whether binary versions are distributable.
As a result of this controversy:
- Debian,[34] Red Hat,[35] Fedora[33] and Ubuntu[36] dropped the versions of cdrtools with CDDL code from their distributions and switched to the Debian project created cdrkit, a fork of the last GPL-licensed cdrtools version.[37]
- Jörg Schilling continued to develop his version of cdrtools under the CDDL and GPL (mkisofs) licenses until he died in 2021, whereas the cdrkit fork has received next to no updates since Cdrkit 1.1.11, which was released in 2010.
- Independent development efforts happen in libburnia which does not contain cdrtools source code, but includes a wrapper "cdrskin" to offer some command line compatibility with cdrecord and is available in many Linux distributions.
- Gentoo Linux is unaffected, as the potential licensing issue only affects the distribution of precompiled binaries and this distribution compile from source code. It initially offers both versions, as well as libburnia, dropping cdrkit in 2017.[38]
- Slackware only provided cdrtools (build script for cdrkit is available from SlackBuild.org,[39] but the two packages could not co-exists); libburnia was introduced in November 2020 as needed by KDE Plasma 5.[40]
- Mandriva Linux, which had dropped its cdrtools package in 2007,[41] was returned by Mandriva to the community[42] and became OpenMandriva Lx, which ships the original cdrtools.[43]
- openSUSE, which had dropped its customized cdrtools package in 2007,[44] added back the original cdrtools in Fall 2013.[45][46]
- Since building cdrtools from source is widely accepted as legal, there exist compile instructions for many Linux distributions.[47]
Inclusion into toolset Schily-Tools
Cdrtools are part of Jörg Schilling's toolset Schily-Tools which was originally distributed on SourceForge.[48]
Schilling stopped updating the cdrtools-only alpha and stable branch in 2017 with version 3.02a9;[49] version 3.02a10 and higher are only included in the source package schilytools.
The "Schily" Tool Box is a set of tools written or managed by Jörg Schilling. It includes the programs: cdrecord, cdda2wav, readcd, mkisofs, smake, bsh, btcflash, calc, calltree, change, compare, count, devdump, dmake based on SunPro Make, hdump, isodebug, isodump, isoinfo, isovfy, label, mt, obosh, od, p, POSIX patch, pbosh, sccs, scgcheck, scpio, sdd, sfind, sformat, smake, sh/bosh (Bourne sh), star, star_sym, strar, suntar, gnutar, tartest, termcap, and ved.
The final version of Schily-Tools published by Jörg Schilling himself is the 2021-09-18 release.[50]
After his death, development of Schily-Tools has been taken up by a group of volunteers. Instead of hosting it on SourceForge, it is hosted on a-not-for-profit platform, Codeberg. To mark his passing, his cdrtools final version, 3.02a10 (where the a indicates the software is semantically alpha) was declared to be the new stable version 3.02 with no substantial changes.[51]
Version history
Version history of cdrtools
Project name
|
Preview releases
|
Stable release
|
Notes
|
first
|
last
|
version
|
date
|
cdrecord
|
|
1.00
|
1996-02-04
|
|
1.01
|
1996-10-04
|
|
1.02
|
1996-12-20
|
|
1.03
|
1997-05-16
|
|
1.04
|
1997-05-23
|
|
1.5a1
|
1.5a9
|
1.05
|
1997-09-15
|
|
1.6a01
|
1.6a15
|
1.06
|
1998-04-18
|
|
1.6.1a1
|
1.6.1a7
|
1.06.1
|
1998-10-19
|
|
1.8a01
|
1.8a40
|
1.08
|
2000-01-28
|
|
1.8.1a01
|
1.8.1a09
|
1.08.1
|
2000-04-27
|
|
1.9a01
|
1.9a05
|
1.09
|
2000-07-20
|
|
cdrtools
|
1.10a01
|
1.10a19
|
1.10
|
2001-04-22
|
|
1.11a01 2.0pre1
|
1.11a40 2.0pre3
|
2.00
|
2002-12-25
|
DVD-Video support since July 2002.[52]
|
2.00.3
|
2003-05-28
|
|
2.01a01
|
2.01a38
|
2.01
|
2004-09-09
|
This series was the last GPL-licensed version and was used as base for the fork cdrkit.
|
2.01.01a01
|
2.01.01a80
|
3.00[53][54]
|
2010-06-02
|
In May 2006, most parts of cdrtools were switched to the CDDL.[29] Blu-ray support is available since July 2007[55]
|
3.01a01
|
3.01a31
|
3.01[5]
|
2015-08-26[5]
|
3.02a01
|
3.02a09[56]
|
3.02
|
2022-09-18
|
DVD-Audio support since December 2015.[57]
|
See also
Forks
Software that can use cdrtools
References
- ↑ Clausecker, Robert (19 September 2022). "New features with AN-2022-09-18". The schilytools project. http://fuz.su/pub/schilytools/AN-2022-09-18.txt.
- ↑ "RIP Jörg Schilling". https://minnie.tuhs.org/pipermail/tuhs/2021-October/024523.html. "I have received message from his family that Jörg Schilling has passed away"
- ↑ "Fraunhofer FOKUS | IT original Jörg Schilling has passed away". https://www.fokus.fraunhofer.de/en/news/fokus/joerg_schilling_2021_10.
- ↑ "cdrtools - a tale of two licenses". https://lwn.net/Articles/195167/.
- ↑ 5.0 5.1 5.2 Schilling, Jörg (26 August 2015). "cdrtools 3.01 announcement and release notes". cdrtools.sourceforge.net. http://sourceforge.net/projects/cdrtools/files/AN-3.01/view. Retrieved 2015-08-28.
- ↑ "Announcing mkisofs 1.13". https://savannah.gnu.org/news/?group_id=10425.
- ↑ 7.0 7.1 "CDRTOOLS = cdrecord + cdda2wav + mkisofs". http://www.sco.com/skunkware/cdrecord/notes.html.
- ↑ "Cdda2wav". http://www.cdda2wav.de/.
- ↑ 9.0 9.1 "cdrecord-1.8a10 (cdrtools) ready". https://groups.google.com/g/linux.apps.cdwrite/c/UxtzUM8UqyQ/m/8CVps88BbHAJ.
- ↑ "NEW features of cdrecord-1.8a6". https://ftp.gwdg.de/pub/misc/cdrecord/ALPHA/OLD/1.8aX/AN-1.8a6.
- ↑ "cdrtools-1.8a19 ready (cdrecord+cdda2wav+mkisofs)". https://groups.google.com/g/linux.apps.cdwrite/c/FkjzVMWK1w4.
- ↑ "Information for build cdrtools-2.01-11.fc7". https://koji.fedoraproject.org/koji/buildinfo?buildID=2185.
- ↑ "Using DVD Technology for Archiving Astronomical Data". European Southern Observatory. https://www.eso.org/sci/publications/messenger/archive/no.93-sep98/messenger-no93-22-23.pdf.
- ↑ "The Prospects of DVD-R for Storing Astronomical Archive Data". Astronomical Society of the Pacific - Provided by NASA Astrophysics Data System. http://adsabs.harvard.edu/pdf/1999ASPC..172..269P7.
- ↑ "Using DVD Technology for Archiving Astronomical Data (cont'd)". Astronomical Society of the Pacific - Provided by NASA Astrophysics Data System. http://articles.adsabs.harvard.edu/pdf/2000ASPC..216..137P.
- ↑ 16.0 16.1 16.2 "Re: cdrecord floating point exception". https://www.mail-archive.com/cdwrite@other.debian.org/msg12603.html.
- ↑ 17.0 17.1 "cdrecord will not burn DVD ISO's". https://www.suse.com/support/kb/doc/?id=000016968.
- ↑ "README". https://ftp.gwdg.de/pub/misc/cdrecord/ProDVD/README.
- ↑ "Changelog" (in German). https://ftp.gwdg.de/pub/misc/cdrecord/ALPHA/Changelog.
- ↑ "Support / Security / Advisories / Mandrakelinux 8.2 / MDKA-2002:011-1 / Mandriva". Mandriva. http://www.mandriva.com/de/support/security/advisories/8.2/MDKA-2002:011-1/. Retrieved 2014-10-16. "cdrecord-dvdhack-1.11-0.a31.1.1mdk.ppc.rpm" shows that Mandrake maintained a "cdrecord-dvdhack" version.
- ↑ "dvdrtools - dvdrecord". Archived from the original on 1 December 2002. https://web.archive.org/web/20021201160106/http://www.nongnu.org/dvdrtools/. Retrieved 2014-04-12.
- ↑ "Common Access Method Transport and SCSI Interface Module". International Committee for Information Technology Standards. 29 December 2011. http://standards.incits.org/apps/group_public/project/details.php?project_id=260. Retrieved 2016-01-24.
- ↑ 23.0 23.1 Corbet, Jonathan (2004-08-11). "The value of middlemen". LWN.net. https://lwn.net/Articles/97469/. Retrieved 2014-04-07.
- ↑ 24.0 24.1 Torvalds, Linus (2006-03-27). "Re: [PATCH Move SG_GET_SCSI_ID from sg to scsi"]. https://lkml.org/lkml/2006/3/27/129. "the SCSI ID simply doesn't make sense to [Many (most) Linux devices] and they have none. So it's _not_ a unique ID."
- ↑ 25.0 25.1 25.2 Torvalds, Linus (2006-03-27). "Re: [PATCH Move SG_GET_SCSI_ID from sg to scsi"]. https://lkml.org/lkml/2006/3/27/117.
- ↑ Torvalds, Linus (2006-03-27). "Re: [PATCH Move SG_GET_SCSI_ID from sg to scsi"]. https://lkml.org/lkml/2006/3/27/129. "it does a few ioctl's that cdrecord wanted [...] does NOT try to claim that those numbers "mean" anything [...] BUS/ID/LUN crap really doesn't make sense for the majority of devices out there. Never has, never will."
- ↑ "Linux source code, scsi_ioctl.c, function scsi_get_idlun". http://lxr.free-electrons.com/source/block/scsi_ioctl.c#L60. "
return put_user(0, p);
[i.e. they always yield 0]"
- ↑ Corbet, Jonathan (2009-08-12). "The unending story of cdrtools". LWN.net. https://lwn.net/Articles/346540/. Retrieved 26 February 2014.
- ↑ 29.0 29.1 The license change took place on 15 May 2006, when cdrtools-2.01.01a09 was released. (Source: AN-2.01.01a09)
- ↑ Corbet, Jonathan. "cdrtools - a tale of two licenses". LWN.net. https://lwn.net/Articles/195167/. Retrieved 2007-08-04.
- ↑ Schilling, Joerg (2011-06-27). "Comment 17 for bug 213215". Ubuntu bug tracking. https://bugs.launchpad.net/ubuntu/+source/cdrtools/+bug/213215/comments/17. "Nobody is violating a license for distributing cdrtools either in source or in binary form."
- ↑ 32.0 32.1 "Forbidden items - FedoraProject". https://fedoraproject.org/wiki/Forbidden_items.
- ↑ 33.0 33.1 "Re: [Fedora-legal-list Legal CD/DVD/BD writing software for RedHat and Fedora"]. https://www.redhat.com/archives/fedora-legal-list/2009-July/msg00000.html.
- ↑ "#377109 - RM: cdrtools -- RoM: non-free, license problems - Debian Bug report logs". http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377109. Retrieved 2007-08-04.
- ↑ "Information for build cdrtools-2.01-11.fc7". http://koji.fedoraproject.org/koji/buildinfo?buildID=2185. Retrieved 2007-08-04. "moved back to version 2.01 (last GPL version), due to incompatible license issues"
- ↑ "Minutes from the Technical Board meeting, 2008-08-26". 26 August 2008. https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-August/000472.html. Retrieved 2008-09-15.
- ↑ "cdrkit (fork of cdrtools) uploaded to Debian, please test". http://lists.debian.org/debian-devel-announce/2006/09/msg00002.html. Retrieved 2007-08-04.
- ↑ "591778 – app-cdr/cdrkit removal request". https://bugs.gentoo.org/show_bug.cgi?id=591778.
- ↑ "SlackBuilds.org - cdrkit". https://slackbuilds.org/repository/14.2/system/cdrkit/.
- ↑ "Welcome to vtown, volkerdi's friendly takeover of alienBOB's ktown Plasma 5 packages - testing/packages/vtown/deps/libburn-1.5.2.pl01-x86_64-1_vtown_1.txz: Added.". https://mirrors.slackware.com/slackware/slackware64-current/ChangeLog.txt.
- ↑ "Mandriva Cooker : The Inside Man V". http://lwn.net/Articles/223179/. Retrieved 2007-08-04.
- ↑ "Mandriva SA official blog: Mandriva Linux will return to the community". Mandriva. 17 May 2012. http://blog.mandriva.com/en/2012/05/17/mandriva-linux-will-return-to-the-community/. Retrieved 2015-12-13.
- ↑ Packages of cdrtools for OpenMandriva Lx are available from both the OpenMandriva Association at github.com and RosaLabs's auto build farms at abf.rosalinux.ru
- ↑ "openSUSE 10.3 Release Notes". http://www.novell.com/linux/releasenotes/x86_64/openSUSE/10.3/#15.
- ↑ "[openFATE 311186 original cdrtools - openSUSE Features"]. 22 December 2013. https://lists.opensuse.org/archives/list/features@lists.opensuse.org/message/2ISNN5OLO3TXCZEZCUV72IV5VFIO3WGX/.
- ↑ "Joerg Schilys cdrtools". 14 May 2013. https://build.opensuse.org/package/show/SUSE:SLE-15:Update/cdrtools.
- ↑ "CDRTools.org : The unofficial cdrtools website to ease building cdrtools from source". http://cdrtools.org/. Retrieved 2014-11-16.
- ↑ "The official Shily-Tools project website:" http://schilytools.sourceforge.net/
- ↑ "cdrecord | Release notes for cdrecord at SourceForge.net". https://sourceforge.net/projects/cdrtools/files/alpha/README/view.
- ↑ "Schily Tools: Browse files". https://sourceforge.net/projects/schilytools/files/.
- ↑ Clausecker, Robert (2022-08-18). "cdrecord: bump version to 3.02". The schilytools project. https://codeberg.org/schilytools/schilytools/commit/e44f804bf0d3c932a8f99de54cb06370655ff913.
- ↑ Full DVD-Video support (in mkisofs), contributed by Olaf Beck, was added to preview release 1.11a27 on 21 July 2002 (Source: AN-1.11a27) and to stable release 2.00 on 25 December 2002 (Source: AN-2.00)
- ↑ Schilling, Jörg (18 May 2010). "cdrtools 3.00 release announcement". http://cdrecord.org/private/R-3.0.html. Retrieved 2010-05-18.
- ↑ Schilling, Jörg (2 June 2010). "cdrtools 3.00 release notes". http://sourceforge.net/projects/cdrtools/files/AN-3.00/view. Retrieved 2010-06-02.
- ↑ Support for Blu-ray Discs was added on 4 July 2007 to cdrtools 2.01.01a29. (Source: AN-2.01.01a29)
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs named latest preview
- ↑ DVD-Audio support (in mkisofs), contributed by the DVD audio Tools project —credits to authors Jerome Brock and Fabrice Nicol are in source file mkisofs/udf.c— and available in the external packages folder of dvda-author as a patch against cdrtools 3.00, has been refreshed and included in cdrtools 3.02a04 on 16 December 2015. (Source: AN-3.02a04)
- ↑ "dvdrtools - Summary". GNU Savannah. 2002-01-28. http://savannah.nongnu.org/projects/dvdrtools. Retrieved 2016-01-24. "dvdrtools is a fork of cdrtools/cdrecord with support for writing to DVDs."
- ↑ "dvdrtools - News: dvdrtools 0.2.0 released". GNU Savannah. 2005-02-05. http://savannah.nongnu.org/forum/forum.php?forum_id=3584. Retrieved 2016-01-24. "dvdrtools 0.2.0 has been released."
(This was the last release of dvdrtools before the project was abandoned.)
- ↑ "cdrtfe - open source CD/DVD/BD burning program for Microsoft Windows". cdrtfe.sourceforge.net. http://cdrtfe.sourceforge.net/cdrtfe/index_en.html. "cdrtfe is a win32 frontend for the cdrtools (cdrecord, mkisofs, readcd, cdda2wav), Mode2CDMaker, VCDImager and other well-known tools."
External links
| Original source: https://en.wikipedia.org/wiki/Cdrtools. Read more |