Cdrtools
cdrtools is a collection of independent projects of free software/open source computer programs, created by Jörg Schilling and others. It is also released as a part of Schily Tools.
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.
Features
The collection includes many features for CD, DVD and Blu-ray disc writing such as:- creation of audio, data, and mixed 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.
History
Origins and name change
The first releases of cdrtools were called cdrecord because they only included thecdrecord
tool and a few companion tools, but not mkisofs
nor cdda2wav
.In 1997, a copy of
mkisofs
was included in the cdrecord package. In 1998, a copy of an experimental version of cdda2wav
was included in the cdrecord package.In 2000, Jörg Schilling changed the name of his package from "cdrecord" to "cdrtools" to better reflect the fact that it had become a collection of tools.
DVD and Blu-ray disc writing support
DVD writing support in cdrecord started 1998, 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.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. Unregistered free licenses were initially limited to single-speed writing and would expire every year. 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. Blu-ray disc support was added starting 2007.
The lack of open-source DVD writing support in 2001 led to heated discussions on the mailing lists, 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, whereas Redhat had dvdrecord.
Hardware access controversy
Unlike cdrkit and libburnia, which use device files to access the hardware, cdrtools uses a different method known as CAM, 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.
In cdrtools, burning optical media is done through the SCSI interface. Users of systems with more than one burning device need to provide a SCSI device. 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 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. 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. Linus Torvalds states that SCSI LUNs should not be used for addressing devices on Linux, because these numbers are not unique, and do not make sense for many devices anymore. Instead Torvalds recommends that devices should be addressed via their UUID, physical connection, or an alias symlink as managed by udev on Linux.Torvalds pointed out that the ioctl's have been kept to ensure cdrecord compatibility and do not return a meaningful value.
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 DVD writing support that were rejected by Schilling, who repeatedly demanded that distributions stop shipping "bastardized and defective" versions of his "legal original software".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. This change led to an ongoing disagreement about whether distribution or use of precompiled cdrtools binaries is legally possible. The following are one-sentence summaries of the different positions:
- Jonathan Corbet, founder of the LWN.net news source argued that, in the eyes of Debian developers, this change makes it impossible to legally distribute cdrtools binaries, because the build system used is CDDL licensed and the GPL requires "build tools and scripts also be released under the GPL".
- Jörg Schilling denies a license problem in cdrtools. In his interpretation, it consists of independent works and thus does not mix incompatible licenses. According to his interpretation, binary versions may be distributed.
- Fedora says the cdrtools is a “incompatible mix of the GPL and the CDDL” and Schilling's opinion is a “set of unorthodox opinions on licensing which are not shared by the FSF or Red Hat Legal” and thus cdrtools is forbidden on Fedora.
- 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.
- Debian, Red Hat, Fedora and Ubuntu 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.
- Joerg Schilling continues to develop his version of cdrtools under the CDDL and GPL licenses, 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.
- Slackware and Gentoo Linux are unaffected, as the potential licensing issue only affects the distribution of precompiled binaries and these distributions compile from source code. They offer both versions as well as libburnia.
- Mandriva Linux, which had dropped its cdrtools package in 2007, was returned by Mandriva to the community and became OpenMandriva Lx, which ships the original cdrtools.
- openSUSE, which had dropped its customized cdrtools package in 2007, added back the original cdrtools in Fall 2013.
- Since building cdrtools from source is widely accepted as legal, there exist compile instructions for many Linux distributions.
Inclusion into toolset Schily-Tools
As of 2019-07-17 he stopped maintaining the cdrtools only alpha and stable branch with version 3.02a9, version 3.02a10 to further 2020 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, star, star_sym, strar, suntar, gnutar, tartest, termcap, and ved.
Version history
Forks
- cdrkit
- dvdrtools
Software that can use cdrtools
- Brasero
- InfraRecorder
- K3b
- X-CD-Roast
- :ru:cdrtfe|cdrtfe