Cdrtools: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
early forks in 2002 for dvd writing.
revert - not an improvement
 
(365 intermediate revisions by 94 users not shown)
Line 1: Line 1:
{{Short description|Optical disc authoring software}}
{{COI|date=April 2014}}
{{Use dmy dates|date=October 2015}}
{{lowercase}}
{{lowercase}}
{{Infobox software
{{Infobox software
| name = cdrtools
| name = cdrtools
| logo =
| logo =
| author = [[Jörg Schilling]], ''Eric Youngdale'', ''Heiko Eißfeldt'', ''James Pearson''
| author = Jörg Schilling, Eric Youngdale, Heiko Eißfeldt, James Pearson
| developer = Jörg Schilling
| developer = schilytools team
| released = {{Start date and age|1996|2|4|df=yes}}
| released = {{Start date and age|1996|2|4|df=yes}}
| frequently updated = yes <!-- Release version update? Don't edit this page, just click on the version number! -->
| status = Active
| programming language = [[C (programming language)|C]]
| programming language = [[C (programming language)|C]]
| operating_system = [[Cross-platform]] (see [[#Compatible operating systems|Compatible operating systems]])
| operating_system = [[Cross-platform]]
| language = English
| language = English
| genre = CD/DVD/Blu-ray writing
| genre = [[Optical disc authoring software]]
| license = [[Common Development and Distribution License|CDDL]], [[GNU General Public License|GNU GPL]] and [[GNU Lesser General Public License|GNU LGPL]]
| license = [[Common Development and Distribution License|CDDL]], [[GNU General Public License|GNU GPL]] and [[GNU Lesser General Public License|GNU LGPL]]
| website = {{URL|http://cdrecord.berlios.de/}}
| website = {{URL|https://codeberg.org/schilytools/schilytools}}
| AsOf = March 2014
}}
}}


'''cdrtools''' (formerly known as cdrecord) is a collection of independent projects of [[free software]]/[[Open source software|open source]] computer programs, created by [[Jörg Schilling]] and others.
'''cdrtools''' (formerly known as cdrecord) is a collection of independent projects of [[free software]]/[[Open source software|open source]] computer programs.


The project was maintained for over two decades by Jörg Schilling, who died on October 10, 2021.<ref>{{cite web|title=RIP Jörg Schilling|url=https://minnie.tuhs.org/pipermail/tuhs/2021-October/024523.html|quote=I have received message from his family that Jörg Schilling has passed away|archive-url=https://web.archive.org/web/20211013052832/https://minnie.tuhs.org/pipermail/tuhs/2021-October/024523.html|archive-date=2021-10-13}}</ref><ref name=":0">{{Cite web|title=Fraunhofer FOKUS {{!}} IT original Jörg Schilling has passed away|url=https://www.fokus.fraunhofer.de/en/news/fokus/joerg_schilling_2021_10|access-date=2022-01-01|website=www.fokus.fraunhofer.de|archive-date=1 January 2022|archive-url=https://web.archive.org/web/20220101100900/https://www.fokus.fraunhofer.de/en/news/fokus/joerg_schilling_2021_10|url-status=dead}}</ref>
The most important parts of the package are '''cdrecord''', a [[System console|console-based]] burning program; '''cdda2wav''', a [[Compact Disc Digital Audio|CD audio]] [[CD ripper|ripper]] that uses [[cdparanoia|libparanoia]]; and '''mkisofs''', a CD/DVD/BD/UDF/HFS filesystem image creator. Because these tools do not include any [[Graphical user interface|GUI]], many graphical front-ends have been created.


Because of some licensing issues,<ref>{{cite web|url=https://lwn.net/Articles/195167/|title=cdrtools - a tale of two licenses|website=lwn.net}}</ref> there is also a Debian fork of an older version of cdrtools called [[cdrkit]].
==Features==


== Features ==
The collection includes many features, such as:
The most important parts of the package are '''cdrecord''', a [[System console|console-based]] burning program; '''cdda2wav''', a [[Compact Disc Digital Audio|CD audio]] [[CD ripper|ripper]] that uses [[cdparanoia|libparanoia]]; and '''mkisofs''', a CD/DVD/BD/UDF/HFS filesystem image creator. As these tools do not include any [[Graphical user interface|GUI]], many graphical front-ends have been created.
* creation of audio, data, and mixed (audio and data) CDs.
* burning [[CD-R]], [[CD-RW]] and [[DVD-R]], [[DVD-RW]], [[DVD+R]] and [[DVD+RW]], both single and [[dual layer]] DVDs.
* several [[Optical disc recording modes|burning modes]], such as [[Optical disc recording modes#CD Track-At-Once|Track-At-Once]] and [[Optical disc recording modes#CD Disc-At-Once|Disc-At-Once]]
* [[cue sheet (computing)|cue sheet]] based writing using the control file format from cdrwin including enhancements for ExactAudioCopy
* ability to process [[Blu-ray Disc]]s
* understanding and exploitation of many vendor specific drive features.


The collection includes many features for CD, DVD and Blu-ray disc writing such as:
== Origins and name change ==
* 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 Disc]]s
* support for [[Optical disc recording modes#CD Track-At-Once|Track-At-Once]] and [[Optical disc recording modes#CD Disc-At-Once|Disc-At-Once]] recording modes
* [[cue sheet (computing)|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 (operating system)|Solaris]] fine grained privileges or similar Linux capabilities.<ref name="3.01 stable release notes">{{cite web
|url=http://sourceforge.net/projects/cdrtools/files/AN-3.01/view
|title=cdrtools 3.01 announcement and release notes
|last=Schilling |first=Jörg
|date=26 August 2015
|publisher=cdrtools.sourceforge.net
|accessdate=2015-08-28
}}</ref>


== History ==
The first releases of cdrtools were called cdrecord because they only included the <tt>cdrecord</tt> tool and a few companion tools, but not <tt>mkisofs</tt> nor <tt>cdda2wav</tt>.
In 1997, a copy of <tt>mkisofs</tt><ref>mksofs-1.11 was incorporated to cdrecord-1.5a3 on 5 July 1997 (source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/AN-1.5a3 AN-1.5a3])</ref> (developed at that time by Eric Youngdale) was included in the cdrecord package.
In 1998, a copy of an experimental version of <tt>cdda2wav</tt><ref>cdda2wav-0.95beta07 was incorporated to cdrecord-1.8a6 on 27 October 1998 (source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.8aX/AN-1.8a6 AN-1.8a6])</ref> (developed at that time by Heiko Eißfeldt) was included in the cdrecord package.


=== Origins and name change ===
In 2000, Jörg Schilling changed the name of his package from "cdrecord" to "cdrtools"<ref>cdrecord and its friends (mkisofs and cdda2wav) are distributed in a common package called cdrtools since 27 July 2000 (source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.10aX/AN-1.10a01 AN-1.10a01]).</ref> to better reflect the fact that it had become a collection of tools.
The first releases of cdrtools were called cdrecord because they only included the <code>cdrecord</code> tool and a few companion tools, but not <code>mkisofs</code> nor <code>cdda2wav</code>. A copy of <code>mkisofs</code>, created in 1993 by Eric Youngdale for [[Yggdrasil Linux/GNU/X|Yggdrasil Linux]], was incorporated in 1997.<ref>{{cite web |title=Announcing mkisofs 1.13 |url=https://savannah.gnu.org/news/?group_id=10425}}</ref><ref name="SCO">{{cite web |title=CDRTOOLS = cdrecord + cdda2wav + mkisofs |url=http://www.sco.com/skunkware/cdrecord/notes.html}}</ref> In 1998, a copy of an experimental version of <code>cdda2wav</code>, created by Heiko Eißfeldt<ref>{{cite web |title=Cdda2wav |url=http://www.cdda2wav.de/}}</ref><ref name="SCO"/> was included in the cdrecord package.<ref name=cdda2wav>{{cite web |title=cdrecord-1.8a10 (cdrtools) ready |url=https://groups.google.com/g/linux.apps.cdwrite/c/UxtzUM8UqyQ/m/8CVps88BbHAJ }}</ref><ref>{{cite web |title=NEW features of cdrecord-1.8a6 |url=https://ftp.gwdg.de/pub/misc/cdrecord/ALPHA/OLD/1.8aX/AN-1.8a6}}</ref>


In 1999 the project started to be called cdrtools<ref>{{cite web |title=cdrtools-1.8a19 ready (cdrecord+cdda2wav+mkisofs) |url=https://groups.google.com/g/linux.apps.cdwrite/c/FkjzVMWK1w4 }}</ref><ref name="cdda2wav"/><ref>{{cite web |title=Information for build cdrtools-2.01-11.fc7 |url=https://koji.fedoraproject.org/koji/buildinfo?buildID=2185}}</ref> to better reflect the fact that it had become a collection of tools.
Until 2006, cdrtools was the standard and most used software suite in its category on GNU/Linux systems as well as on several other operating systems (mainly BSD-based).{{citation needed|date=March 2014}}


== DVD and Blueray-Disc writing support ==
=== 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.<ref name="ESO">{{cite web |title=Using DVD Technology for Archiving Astronomical Data |url=https://www.eso.org/sci/publications/messenger/archive/no.93-sep98/messenger-no93-22-23.pdf |publisher=European Southern Observatory}}</ref><ref name="dvd-r">{{cite web |title=The Prospects of DVD-R for Storing Astronomical Archive Data |url=http://adsabs.harvard.edu/pdf/1999ASPC..172..269P7 |publisher=Astronomical Society of the Pacific - Provided by NASA Astrophysics Data System}}</ref><ref name="dvd-rcont">{{cite web |title=Using DVD Technology for Archiving Astronomical Data (cont'd) |url=http://articles.adsabs.harvard.edu/pdf/2000ASPC..216..137P |publisher=Astronomical Society of the Pacific - Provided by NASA Astrophysics Data System}}</ref>{{discuss|ASP paper}} 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.{{cn|date=October 2021}}
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.<ref name="debian mail archive">{{cite web |title=Re: cdrecord floating point exception |url=https://www.mail-archive.com/cdwrite@other.debian.org/msg12603.html}}</ref><ref name="suse"/> Unregistered free licenses were initially limited to single-speed writing and would expire every year.<ref name="suse">{{cite web |title=cdrecord will not burn DVD ISO's |url=https://www.suse.com/support/kb/doc/?id=000016968}}</ref> 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.<ref name="debian mail archive"/><ref name="prodvd">{{cite web |title=README |url=https://ftp.gwdg.de/pub/misc/cdrecord/ProDVD/README}}</ref> Blu-ray disc support was added starting 2007.<ref>{{cite web |title=Changelog |url=https://ftp.gwdg.de/pub/misc/cdrecord/ALPHA/Changelog |language=German}}</ref>


The lack of open-source DVD writing support in 2001 led to heated discussions on the mailing lists,<ref name="debian mail archive"/> 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,<ref>{{cite web | url=http://www.mandriva.com/de/support/security/advisories/8.2/MDKA-2002:011-1/ | title=Support / Security / Advisories / Mandrakelinux 8.2 / MDKA-2002:011-1 / Mandriva | publisher=[[Mandriva]] | accessdate=2014-10-16 | quote=cdrecord-dvdhack-1.11-0.a31.1.1mdk.ppc.rpm}} shows that Mandrake maintained a "cdrecord-dvdhack" version.</ref> whereas Redhat had dvdrecord.<ref>{{cite web|url=http://www.nongnu.org/dvdrtools/ |title=dvdrtools - dvdrecord |accessdate=2014-04-12 |url-status=dead |archiveurl=https://web.archive.org/web/20021201160106/http://www.nongnu.org/dvdrtools/ |archivedate=1 December 2002 |df=dmy }}</ref>
DVD writing support (cdrecord-ProDVD) 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 May 15th 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. Blueray Disc support was added starting 2007.


=== Hardware access controversy ===
The lack of open-source DVD writing support in 2002 led to a number of unofficial patches and forks ("bastardized variants") of cdrecord, such as Mandrakes cdrecord-dvdhack<ref>[http://www.mandriva.com/de/support/security/advisories/8.2/MDKA-2002:011-1/]</ref> and dvdrecord for Redhat,<ref>[http://web.archive.org/web/20021201160106/http://www.nongnu.org/dvdrtools/]</ref> but often were not maintained for a long time.
Unlike [[cdrkit]] and [[libburnia]], which use [[device file]]s to access the [[computer hardware|hardware]], cdrtools uses a different method known as CAM (for Common Access Method),<ref>{{cite web |url=http://standards.incits.org/apps/group_public/project/details.php?project_id=260 |title=Common Access Method Transport and SCSI Interface Module |date=29 December 2011 |publisher=[[International Committee for Information Technology Standards]] |accessdate=2016-01-24 }}</ref> 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|date=April 2018}}


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, <code>scsibus,target,lun</code>). 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 (<code>/dev/hdX</code>) and a patch was published that made identifying the burner device for cdrecord simpler by allowing the user to specify the <code>/dev/hdX</code> device name (or even default to a [[udev]] managed link such as <code>/dev/cdrw</code>). 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.<ref name="lwn-middleman" /> [[Linus Torvalds]] states that SCSI LUNs should not be used for addressing devices on Linux,<ref name="linus-lun">{{cite web |url=https://lkml.org/lkml/2006/3/27/129 |title=Re: [PATCH] Move SG_GET_SCSI_ID from sg to scsi |last1=Torvalds |first1=Linus |authorlink1=Linus Torvalds |date=2006-03-27 |website=[[LKML]] |access-date=2015-10-22 |quote=the SCSI ID simply doesn't make sense to [Many (most) Linux devices] and they have none. So it's _not_ a unique ID.}}</ref> because these numbers are not unique,<ref name="linus-lun" /> and do not make sense for many devices anymore<ref name="linus-lun2" /> (many devices will report <code>0:0:0</code> fake numbers<ref name="linus-lun2" />). Instead Torvalds recommends that devices should be addressed via their UUID, physical connection, or an alias symlink<ref name="linus-lun2">{{cite web | url=https://lkml.org/lkml/2006/3/27/117 |title=Re: [PATCH] Move SG_GET_SCSI_ID from sg to scsi |last1=Torvalds |first1=Linus |authorlink1=Linus Torvalds |date=2006-03-27 |website=[[LKML]] |access-date=2015-10-22}}</ref> as managed by [[udev]] on Linux.
== License disagreement ==
Torvalds pointed out that the ioctl's have been kept to ensure cdrecord compatibility<ref name="linus-lun3">{{cite web | url=https://lkml.org/lkml/2006/3/27/129 |title=Re: [PATCH] Move SG_GET_SCSI_ID from sg to scsi|last1=Torvalds |first1=Linus |authorlink1=Linus Torvalds |date=2006-03-27 |website=[[LKML]] |access-date=2015-10-22 | quote=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. }}</ref> and do not return a meaningful value.<ref name="lxr-lun">{{cite web | url=http://lxr.free-electrons.com/source/block/scsi_ioctl.c#L60 | title=Linux source code, scsi_ioctl.c, function scsi_get_idlun |website=Linux Cross Reference |access-date=2015-10-22 | quote=<code>return put_user(0, p);</code> [i.e. they always yield 0]}}</ref>


=== License compatibility controversy ===
Starting with version 2.01.01a09, most code from cdrtools has been relicensed under the [[Common Development and Distribution License|CDDL]], while mkisofs remains licensed under the [[GNU General Public License|GPL]]. This change led to an ongoing disagreement about whether distribution or use of precompiled cdrtools binaries is legally possible. The following is are one-sentence summaries of the different positions:
By 2004, Linux distributions were maintaining a number of unofficial changes{{snd}} such as allowing the use of <code>/dev/hdX</code> device names and (limited) DVD writing support{{snd}} that were rejected by Schilling,<ref name="lwn-middleman">{{cite web | url = https://lwn.net/Articles/97469/ | first = Jonathan | last = Corbet | title = The value of middlemen | publisher=[[LWN.net]] | date=2004-08-11 | accessdate = 2014-04-07}}</ref> who repeatedly demanded that distributions stop shipping "bastardized and defective" versions of his "legal original software".<ref name="Corbet2">{{cite web |url=https://lwn.net/Articles/346540/ |title=The unending story of cdrtools |last1=Corbet |first1=Jonathan |date=2009-08-12 |publisher=[[LWN.net]] |accessdate=26 February 2014}}</ref>
Starting with version 2.01.01a09 in May 2006, most code from cdrtools has been [[Software relicensing|relicensed]] under the [[Common Development and Distribution License|CDDL]], while mkisofs remains licensed under the [[GNU General Public License|GPL]].<ref name="license change">The license change took place on 15 May 2006, when cdrtools-2.01.01a09 was released. (Source: [//sourceforge.net/projects/cdrtools/files/alpha/OLD/3.00aX/AN-2.01.01a09/view AN-2.01.01a09])</ref> This change led to an ongoing disagreement about whether distribution or use of precompiled cdrtools binaries is legally possible (the GPL permits [[collective work]]s, 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-[[License compatibility|incompatible]] – CDDL code) and the GPL requires "build tools and scripts also be released under the GPL".<ref name="tale">{{cite web |url=https://lwn.net/Articles/195167/ |first=Jonathan |last=Corbet |title=cdrtools - a tale of two licenses |publisher=[[LWN.net]] |accessdate=2007-08-04}}</ref> <!-- Eben Moglen should be added here too, I guess -->
* 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.<ref name="joerg-no-problem">{{cite web | url=https://bugs.launchpad.net/ubuntu/+source/cdrtools/+bug/213215/comments/17 | date=2011-06-27 | title=Comment 17 for bug 213215 | publisher=Ubuntu bug tracking | first=Joerg | last=Schilling | quote=Nobody is violating a license for distributing cdrtools either in source or in binary form.}}</ref>
* Fedora says the cdrtools is a "incompatible mix of the GPL and the CDDL"<ref name="forbidden">{{cite web|url=https://fedoraproject.org/wiki/Forbidden_items|title=Forbidden items - FedoraProject|website=fedoraproject.org}}</ref> and Schilling's opinion is a "set of unorthodox opinions on licensing which are not shared by the FSF or Red Hat Legal"<ref name="forbidden"/> 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<ref name="fedoradiscussion">{{Cite web|url=https://www.redhat.com/archives/fedora-legal-list/2009-July/msg00000.html|title=Re: [Fedora-legal-list] Legal CD/DVD/BD writing software for RedHat and Fedora|website=www.redhat.com}}</ref>) and consequently available to re-open discussion about including cdrtools.
* As is [[GNU General Public License#Legal status|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:
* Jonathan Corbet, founder of the [[LWN.net]] news source argued this change makes it impossible to legally distribute cdrtools binaries according to his interpretation of the license.<ref>{{cite web
|url=http://lwn.net/Articles/195167/
|author=Jonathan Corbet
|title=cdrtools - a tale of two licenses
|accessdate=2007-08-04
}}</ref> <!-- Eben Moglen should be added here too, I guess -->
* [[Debian]],<ref>{{cite web
* [[Debian]],<ref>{{cite web
|url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377109
|url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377109
Line 68: Line 79:
|quote=moved back to version 2.01 (last GPL version), due to incompatible license issues
|quote=moved back to version 2.01 (last GPL version), due to incompatible license issues
|accessdate=2007-08-04
|accessdate=2007-08-04
}}</ref> [[Fedora]],<ref>{{cite web
}}</ref> [[Fedora (operating system)|Fedora]]<ref name="fedoradiscussion"/> and [[Ubuntu (operating system)|Ubuntu]]<ref>{{cite web
|url=https://www.redhat.com/archives/fedora-legal-list/2009-July/msg00000.html
|title=[Fedora-legal-list] Legal CD/DVD/BD writing software for RedHat and Fedora
}}</ref> [[OpenSUSE]],<ref>[http://www.novell.com/linux/releasenotes/x86_64/openSUSE/10.3/#15 OpenSuSE 10.3 release notes]</ref> [[Mandriva]]<ref>{{cite web
|url=http://lwn.net/Articles/223179/
|title=Mandriva Cooker : The Inside Man V
|accessdate=2007-08-04
}}</ref> and [[Ubuntu (operating system)|Ubuntu]]<ref>{{cite web
|url=https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-August/000472.html
|url=https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-August/000472.html
|title=Minutes from the Technical Board meeting, 2008-08-26
|title=Minutes from the Technical Board meeting, 2008-08-26
|date=26 August 2008
|accessdate=2008-09-15
|accessdate=2008-09-15
}}</ref> 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.<ref>{{cite web
}}</ref> 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.<ref>{{cite web
Line 84: Line 89:
|accessdate=2007-08-04
|accessdate=2007-08-04
}}</ref>
}}</ref>
* 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.
* [[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.
* 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.
* Jörg Schilling denies a license problem in cdrtools. In his interpretation, it consists of independent works and thus do not mix incompatible licenses. He continues to develop his version of cdrtools under the CDDL and GPL (mkisofs) licenses, whereas the cdrkit fork has received next to no updates since.
* [[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.<ref>{{Cite web|url=https://bugs.gentoo.org/show_bug.cgi?id=591778|title=591778 – app-cdr/cdrkit removal request|website=bugs.gentoo.org}}</ref>
* In fall 2013, [[OpenSUSE]] Factory added back the original cdrtools in addition to the forked version.
* [[Slackware]] only provided cdrtools (build script for cdrkit is available from SlackBuild.org,<ref>{{Cite web|url=https://slackbuilds.org/repository/14.2/system/cdrkit/|title=SlackBuilds.org - cdrkit|website=slackbuilds.org}}</ref> but the two packages could not co-exists); libburnia was introduced in November 2020 as needed by KDE Plasma 5.<ref>{{Cite web |url=https://mirrors.slackware.com/slackware/slackware64-current/ChangeLog.txt |title=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.}}</ref>
* [[Mandriva Linux]], which had dropped its cdrtools package in 2007,<ref>{{cite web|url=http://lwn.net/Articles/223179/|title=Mandriva Cooker : The Inside Man V|accessdate=2007-08-04}}</ref> was returned by [[Mandriva]] to the community<ref>{{cite web|url=http://blog.mandriva.com/en/2012/05/17/mandriva-linux-will-return-to-the-community/ |url-status=dead |title=Mandriva SA official blog: Mandriva Linux will return to the community |date=17 May 2012 |accessdate=2015-12-13 |publisher=[[Mandriva]] |archive-date=23 May 2015 |archive-url=https://web.archive.org/web/20150523070604/https://blog.mandriva.com/en/2012/05/17/mandriva-linux-will-return-to-the-community/ |df=dmy }}</ref> and became [[OpenMandriva Lx]], which ships the original cdrtools.<ref>Packages of cdrtools for [[OpenMandriva Lx]] are available from both the OpenMandriva Association at [//github.com/OpenMandrivaAssociation/cdrtools github.com] and RosaLabs's auto [[build farm]]s at [//abf.rosalinux.ru/openmandriva/cdrtools abf.rosalinux.ru]</ref>
* [[openSUSE]], which had dropped its customized cdrtools package in 2007,<ref>{{Cite web|url=http://www.novell.com/linux/releasenotes/x86_64/openSUSE/10.3/#15|title=openSUSE 10.3 Release Notes|website=www.novell.com}}</ref> added back the original cdrtools in Fall 2013.<ref>{{Cite web|url=https://lists.opensuse.org/archives/list/features@lists.opensuse.org/message/2ISNN5OLO3TXCZEZCUV72IV5VFIO3WGX/|title=[openFATE 311186] original cdrtools - openSUSE Features|website=openSUSE Mailing Lists|date=22 December 2013 }}</ref><ref>{{Cite web|url=https://build.opensuse.org/package/show/SUSE:SLE-15:Update/cdrtools|title=Joerg Schilys cdrtools|website=openSUSE Build Service|date=14 May 2013 }}</ref>
* Since building cdrtools from source is widely accepted as legal, there exist compile instructions for many Linux distributions.<ref>{{cite web | url = http://cdrtools.org/ | title=CDRTools.org : The unofficial cdrtools website to ease building cdrtools from source | accessdate = 2014-11-16}}</ref>


=== Inclusion into toolset Schily-Tools ===
As is [[GNU General Public License#Legal_status|common with the GPL]] and other open source licenses, very little case law exists to provide guidance to users.
Cdrtools are part of Jörg Schilling's toolset Schily-Tools which was originally distributed on [[SourceForge]].<ref>"The official Shily-Tools project website:" http://schilytools.sourceforge.net/</ref>


Schilling stopped updating the cdrtools-only alpha and stable branch in 2017 with version 3.02a9;<ref>{{Cite web|url=https://sourceforge.net/projects/cdrtools/files/alpha/README/view|title=cdrecord &#124; Release notes for cdrecord at SourceForge.net|website=sourceforge.net}}</ref> version 3.02a10 and higher are only included in the source package schilytools.
== Timeline of licensing disagreement ==
{{POV-section|date=March 2014}}


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, [[Source Code Control System#Jörg_Schilling's_fork|sccs]], scgcheck, scpio, sdd, sfind, sformat, smake, sh/bosh (Bourne sh), star, star_sym, strar, suntar, gnutar, tartest, termcap, and ved.
The project was originally licensed under the [[GNU General Public License]] (GPL).


The final version of Schily-Tools published by Jörg Schilling himself is the 2021-09-18 release.<ref>{{cite web|url=https://sourceforge.net/projects/schilytools/files/|title=Schily Tools: Browse files}}</ref>
CD burning is done through the [[SCSI]] interface. Burning a CD requires the user to provide a SCSI device (which is identified by a triplet of numbers). 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 a more traditional device path and made identifying the burner device for cdrecord simpler. Schilling, however, rejected this approach as well as other fixes used by linux distributions. By 2004 Linux distributions were maintaining this change, along with a number of other changes rejected by Schilling.<ref name=lwn-middleman>{{cite web | url = https://lwn.net/Articles/97469/| author = Jonathan Corbet | title = The value of middlemen | work=[[LWN.net]] | publisher=[[LWN.net]] | date=2004-08-11 | accessdate = 2014-04-07 }}</ref>
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 [[Software versioning#Semantic_versioning|semantically]] [[Software release life cycle#Alpha|alpha]]) was declared to be the new stable version 3.02 with no substantial changes.<ref>{{cite web |url=https://codeberg.org/schilytools/schilytools/commit/e44f804bf0d3c932a8f99de54cb06370655ff913 |title=cdrecord: bump version to 3.02 |last=Clausecker |first=Robert |date=2022-08-18 |website=codeberg.org|publisher=The schilytools project |access-date=2022-10-16}}</ref>


== Version history ==
With version 1.11a17 (released in 2002), a section of cdrtools' [[source code]] was modified to include an [[invariant section]], with the intent to prevent people from distributing variants with intentional bugs under the original name.<ref name=limitations>[ftp://ftp.berlios.de/pub/cdrecord/LIMITATIONS See the file LIMITATIONS]</ref> The purpose of this invariant section was to make sure any modification to cdrecord would be properly reported as such to the user. Publishing the modified cdrtools code under the restricted terms of the invariant section is still permitted if the code is distributed with a different name,<ref name=limitations/> as is common in open source projects.<ref>{{cite web|title=Trademark and OSS|url=https://www.law.washington.edu/lta/swp/law/trademark.html}}</ref> A snippet of the invariant section in cdrecord.c is shown below.


{| class="wikitable"
In May 2006, most parts of cdrtools were switched to the [[Common Development and Distribution License|CDDL]] with permission from their authors.<ref name="license change">The license change took place on 15 May 2006, when cdrtools-2.01.01a09 was released. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a09 AN-2.01.01a09])</ref>
|+ Version history of cdrtools
After this license change some parts of cdrtools (e.g. <tt>mkisofs</tt>, which is still GPL-licensed) use code that was switched to CDDL, (e.g. <tt>libscg</tt>, the [[SCSI]] Transport Layer developed by Jörg Schilling).{{efn|This claim is unimportant as the "work" mkisofs is 100% under GPL.}}

According to the [[Free Software Foundation]], the CDDL is compatible with the OpenSource definition of free software, but [[License compatibility|incompatible]] with the [[GNU General Public License]] (GPL).<ref name="fsf">{{cite web|url=http://www.gnu.org/licenses/license-list.html#SoftwareLicenses|title=Various Licenses and Comments About Them - Common Development and Distribution License|publisher=Free Software Foundation|accessdate=2006-12-31}}</ref>{{efn|This claim is unrelated to cdrtools as in cdrtools there is no license mix within a "work".}} Jonathan Corbet, founder of the [[LWN.net]] news source argued this makes it impossible to legally distribute cdrtools binaries.<ref name=Corbet>{{cite web | url = http://lwn.net/Articles/195167/ | author = Jonathan Corbet | title = cdrtools - a tale of two licenses | work=[[LWN.net]] | publisher=[[LWN.net]] | date=2006-08-12 | accessdate = 2007-08-04 }}</ref>{{efn|Corbet just repeats false claims from Debian and is unable to verify a problem in cdrtools.}}

On 31 Jan 2006, Debian had opened a bug over this license change when noticing the change in the previous version 2.01.01a03 <ref name=debianbug>{{cite web|title=RM: cdrtools -- RoM: non-free, license problems|url=https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377109|publisher=Debian Bug report logs}}</ref>{{efn|In January 2006, cdtrtools have been 100% GPL, so a license problem as claimed by Debian did not exist.}} with concerns about how the GPL license in some of its components interacted with the CDDL license in cdrtools [[makefile]]s, which fall under the requirement of the GPL license to distribute source code{{or|date=March 2014}}. GPL allows code with different licenses to be aggregated as ''[[collective work]]s'' in the same distribution when one is not derived from the other,<ref>[http://opensource.org/licenses/gpl-2.0.php]</ref> but not for software that makes a ''[[derivative work]]'' such as [[Static linking|statically linked]] code,{{or|date=March 2014}}<ref name=Determan>[http://www.cs.berkeley.edu/~tlavian/publications/article/Berkeley_Law_Journal_softwarecombinations060403.pdf Dangerous Liaisons - Software combinations as Derivative Works?], Lothar Determan</ref>{{efn|Determan explains here<ref name=Determan/> that linking is unimportant for whether a work is a derivative work or a collective work and explains why the part of the GPL that tries to redefine what a defivative work is is illegal in the US.}} so Debian developers decided that the files under the CDDL license were incompatible with their distribution<ref name=Corbet/> and removed them.<ref name=debianbug/>

Jörg Schilling's position is that any open source operating system can distribute cdrtools as long as the terms of the licenses are respected.<ref>cdrtools may be distributed in source and/or binary form, as indicated in file "COPYING" of any recent source tarball, (e.g. [https://fossies.org/linux/misc/cdrtools-3.00.tar.gz/cdrtools-3.00/COPYING COPYING] for the current stable release).</ref><ref>See [https://bugs.launchpad.net/ubuntu/+source/cdrtools/+bug/213215/comments/17 message 17] in [https://bugs.launchpad.net/ubuntu/+source/cdrtools/+bug/213215 bugs.launchpad.net/ubuntu/+source/cdrtools/+bug/213215].</ref> In September 2006, four months after the license change, Schilling added support for dynamic-linking cdrtools,<ref name="support for dynamic link added">Support for dynamic-link libraries was added to cdrtools on 18 September 2006, when cdrtools-2.01.01a15 was released (source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a15 AN-2.01.01a15])</ref> hoping this would be enough for the GNU/Linux distributions to restart distributing cdrtools.

Several GNU/Linux distributions stopped distributing the re-licensed cdrtools in 2006. [[Debian]],<ref>{{cite web | url = http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377109 | title = #377109 - RM: cdrtools -- RoM: non-free, license problems - Debian Bug report logs | accessdate = 2007-08-04 }}</ref> [[Red Hat]],<ref>{{cite web | url = http://koji.fedoraproject.org/koji/buildinfo?buildID=2185 | title = Information for build cdrtools-2.01-11.fc7 | quote = moved back to version 2.01 (last GPL version), due to incompatible license issues | accessdate = 2007-08-04 }}</ref><ref>{{cite web | url = https://www.redhat.com/archives/fedora-legal-list/2009-July/msg00000.html | title = [Fedora-legal-list] Legal CD/DVD/BD writing software for RedHat and Fedora }}</ref> and [[Mandriva]]<ref>{{cite web | url = http://lwn.net/Articles/223179/ | title = Mandriva Cooker : The Inside Man V | accessdate = 2007-08-04 }}</ref> have all either dropped cdrtools or reverted to the last non-CDDL release of cdrtools, and have not reverted that decision until now.
Just before dropping cdrtools in 2006, the Debian project created [[cdrkit]], a fork of cdrtools.{{efn|Debian stopped distributing the original code in May 2004 or even before and created a fork that introduced many bugs. This fork from Debian was later in 2006 renamed to cdrkit.}}<ref>{{cite web | url = http://lists.debian.org/debian-devel-announce/2006/09/msg00002.html | title = cdrkit (fork of cdrtools) uploaded to Debian, please test | accessdate = 2007-08-04 }}</ref> cdrkit is distributed by most of the GNU/Linux distributions which have dropped cdrtools.

In August 2008, [[Mark Shuttleworth]] offered to ask the [[Software Freedom Law Center]] for a legal opinion on whether cdrtools could be included in [[Ubuntu (operating system)|Ubuntu]], provided Schilling agreed to accept the opinion.<ref>{{cite web | url = https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-August/000472.html | title = Minutes from the Technical Board meeting, 2008-08-26 | accessdate = 2008-09-15 }}</ref> SFLC's chairman [[Eben Moglen]] published a summary of his discussion with Schilling.<ref name=archlinuxEblen>{{cite web|url=https://mailman.archlinux.org/pipermail/arch-general/2010-February/010989.html|title=Eben Moglen's view on mkisofs GPL (non-)compliance|publisher=[[Arch Linux]]}}</ref> Eblen stated that the GPL compatibility of mkisofs was broken, because fulfilling all clauses of GPL and CDDL at the same time is impossible, and that Schilling would need to allow permission to use the software under the GPL terms to make distribution of the combined work possible.

According to Moglen, Schilling disagreed that additional permissions were required, and Shuttleworth abandoned the attempt to include cdrtools in Ubuntu. However, Jörg Schilling denied the accuracy of Moglen's version, stating that his depiction of their conversation was in conflict with what really happened.<ref name=archlinuxSchilling>{{cite web|url=https://mailman.archlinux.org/pipermail/arch-general/2010-February/011009.html|title=Eben Moglen's view on mkisofs GPL (non-)compliance|publisher=[[Arch Linux]]}}</ref>

=== Invariant section in the license ===
The Linux-2.6 kernel introduced an incompatible interface change for the SCSI generic interface just when cdrtools 2.01-final have been published. This interface change affected cdrecord and for this reason, some versions of cdrtools included warnings against using [[Linux 2.6|Linux Kernel Version 2.6.x]] or [[SUSE]] Linux.<ref name="Corbet2">{{cite web |url=http://lwn.net/Articles/346540/ |title=The unending story of cdrtools |last1=Corbet |first1=Jonathan |date=2009-08-12 |website=[[LWN.net]] |publisher=[[LWN.net]] |accessdate=26 February 2014}}</ref> These warnings were wrapped in an invariant section, to prevent removal. Jörg Schilling said they are part of the "appropriate copyright" and "no warranty" notice required by the [[GPL]]. Corbet disagreed with Jörg, and stated that the GPL only requires printing of an "appropriate" copyright notice, but do not require to use the exact text provided by the original author and this warning may therefore be replaced with a neutral copyright attribution.<ref name="Corbet2" /><ref>Corbet ignores that besides the Copyright, there is Trademark law that forbids to use the original name of a program in case that there are changes that are above the bug fix level</ref><ref>Corbet also ignores the German Copyright law that allows to enforce specific Copyright comments</ref>

The snippet of the invariant section was sent to a Debian mailing list on 2 September 2004.<ref>https://lists.debian.org/debian-legal/2004/09/msg00003.html</ref>
In cdrtools 2.01, it starts at line 296 (and ends at line 408) of file <tt>cdrtools-2.01/cdrecord/cdrecord.c</tt> of the <tt>cdrtools-2.01.tar.bz2</tt> source archive.

== cdrtools versus cdrkit versus libburnia ==

GNU/Linux distributions which still ship [[cdrkit]] consider it as legacy software and plan to move to [[cdrskin#Libburnia overview|libburnia]],<ref>libburnia is expected to replace cdrkit on those distributions that do not ship cdrtools. Source: [https://inconsolation.wordpress.com/2013/09/24/cdrtools-cdrkit-and-cdrskin-untying-the-knot/ cdrtools, cdrkit and cdrskin: Untying the knot].</ref><ref>In January 2012 former Debian Project Leader [[Steve McIntyre]] wrote&nbsp;: "I’m the primary maintainer of cdrkit at this point, but I’d prefer to have it go away. Xorriso and the associated software in libisoburn is almost capable of replacing all the aging cdrtools-derived software that we have in Debian, The only missing feature that I’m aware of is creating the HFS hybrid filesystems that we use for installations on Mac systems. I’ve been talking with the upstream folks about this for some time already, and I’m hoping we can finish this soon enough that we can get it into Wheezy." Source: {{cite web | url = http://raphaelhertzog.com/2012/01/13/people-behind-debian-steve-mcintyre-debian-cd-maintainer-former-debian-project-leader/ | title = People Behind Debian: Steve McIntyre, debian-cd maintainer, former Debian Project Leader |last=McIntyre |first=Steve |authorlink=Steve McIntyre |date=13 January 2012 |work= |publisher= |accessdate=2014-02-02}} {{Asof|March 2014}} this did not happen yet, and [[Debian Wheezy|Wheezy]] was released in May 2013 [https://www.debian.org/News/2013/20130504] '''''with''''' cdrkit.</ref> which is not based on cdrtools but has a smaller feature set than cdrtools (see tables below).

{| class="wikitable mw-collapsible" border="1"
|+ style="text-align:left; width:99%;" | Main commands in each software suite
|-
! rowspan="3" | Software suite
! colspan="4" | Commands for
|-
! colspan="3" style="border-bottom-style:none;" | CD/DVD/Blu-ray
! style="border-bottom-style:none;" | CD-Audio
|-
! style="border-top-style:none;" | pre-mastering
! style="border-top-style:none;" | burning
! style="border-top-style:none;" | reading
! style="border-top-style:none;" | extraction
|-
| cdrtools
| mkisofs<ref name="mkisofs man page">[http://cdrecord.berlios.de/private/man/cdrtools-3.01axx/mkisofs.8.html mkisofs(8)] man page.</ref>
| cdrecord<ref name="cdrecord man page">[http://cdrecord.berlios.de/private/man/cdrtools-3.01axx/cdrecord.1.html cdrecord(1)] man page.</ref>
| readcd<ref name="readcd man page">[http://cdrecord.berlios.de/private/man/cdrtools-3.01axx/readcd.1.html readcd(1)] man page.</ref>
| cdda2wav<ref name="cdda2wav man page">[http://cdrecord.berlios.de/private/man/cdrtools-3.01axx/cdda2wav.1.html cdda2wav(1)] man page.</ref>
|-
| cdrkit
| genisoimage<ref name="genisoimage man page">{{man|1|genisoimage|||inline}} man page.</ref>
| wodim<ref name="wodim man page">{{man|1|wodim|||inline}} man page.</ref>
| readom<ref name="readom man page">{{man|1|readom|||inline}} man page.</ref>
| icedax<ref name="icedax man page">{{man|1|icedax|||inline}} man page.</ref>
|-
| libburnia
| xorriso<ref name="xorriso man page">[http://www.gnu.org/software/xorriso/man_1_xorriso.html xorriso(1)] man page.</ref>
| cdrskin<ref name="cdrskin man page">[http://scdbackup.sourceforge.net/man_1_cdrskin_devel.html cdrskin(1)] man page.</ref>
| telltoc
| cdrskin
|}

The following tables list some differences between cdrtools, cdrkit and libburnia. (The comparisons apply to the latest releases of each software suite.)

{| class="wikitable mw-collapsible" border="1"
|+ style="text-align:left; width:99%;" | Comparison of cdrtools, cdrkit and libburnia
|-
| rowspan="2"| Topic
! colspan="3"| Suites compared
|-
! cdrtools
! cdrkit
! libburnia
|-
| License(s)
| style="text-align:center;" | [[Common Development and Distribution License|CDDL]] (cdrecord, libscg, etc.),<br>[[GNU General Public License|GPL]] (mkisofs), [[GNU Lesser General Public License|LGPL]] (libparanoia)
| style="text-align:center;" | GPL
| style="text-align:center;" | GPL
|-
| Can be built from source code on most architectures of most operating systems
| {{Yes}}<ref>Recent releases of cdrtools compile from source code on most architectures of most operating systems, as shown in section [[#Compatible operating systems]]</ref>
| {{Some}}
| {{Some}}
|-
| Is included in most major GNU/Linux distributions
| {{Some}}{{efn|Most GNU/Linux distributions stopped distributing cdrtools after the license change. See section [[#Licensing issues]]. However, during the past years some GNU/Linux distributions did restart shipping cdrtools.}}
| {{Yes}}
| {{Yes}}
|-
| Is included in all BSD-based distributions
| {{Yes}}
| {{No}}
| {{No}}
|-
| Implements [[privilege separation]] from calling code to avoid the need of [[Information technology security audit|security auditing]] for callers
| {{Yes}}
| {{Yes}}
| {{Partial}}{{efn|No privilege separation available in case libburn is called as library.}}
|-
| Year of first public release
| style="text-align:center;" | 1996
| style="text-align:center;" | 2006
| style="text-align:center;" | 2006
|-
| Development status
| {{Site active}}
| {{Site inactive}}
| {{Site active}}
|}

{| class="wikitable mw-collapsible" border="1"
|+ style="text-align:left; width:99%;" | Comparison of cdrecord, wodim and cdrskin
|-
| rowspan="2"| Topic
! colspan="3"| Commands compared
|-
! cdrecord<ref name="cdrecord man page" /> (cdrtools)
! wodim<ref name="wodim man page" /> (cdrkit)
! cdrskin<ref name="cdrskin man page" /> (libburnia)
|-
| Has support for [[Blu-ray Disc]]s
| {{Yes}}
| {{No}}
| {{Yes}}
|-
| Has support for most existing{{weasel-inline|date=December 2013}} hardware, including models with buggy{{weasel-inline|date=December 2013}} firmware
| {{Yes}}
| {{Some}}
| {{Some}}
|-
| Has support for [[DVD]]-9 (8.5 [[gigabyte|GB]] [[DVD-R DL|dual layer DVD]]) media
| {{Yes}}
| {{No}}
| {{Yes}}
|-
| Has support for custom [[Layer Jump Recording]] (to tell the burner when to switch to the second layer on dual-layer DVDs)
| {{Yes}}
| {{No}}
| {{No}}
|-
| Has support for automatic [[Layer Jump Recording]] (the burner decides when to switch to the second layer on dual-layer DVDs)
| {{Yes}}
| {{No}}
| {{Yes}}
|-
| Has support for [[capability-based security]] (on GNU/Linux systems supporting it), which means the burn program does not need to be installed with [[setuid]] access rights (in other words, burn operations can be performed by unprivileged users with increased security)
| {{Yes}}<ref name="cdrtools-3.01a14 capability-based security">Support for [[capability-based security]] was added on 22 April 2013 with the release of cdrtools 3.01a14. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/AN-3.01a14 AN-3.01a14])</ref>
| {{No}}
| {{No}}
|-
| Supports "Disc Tattooing" [[CD-R]] and [[DVD]] media with [[DiscT@2]]-capable burners
| {{Yes}}
| {{No}}
| {{No}}
|-
| Supports "<tt>.inf</tt>" files for CD-audio
| {{Yes}}
| {{Partial}}{{efn|name=no_support_for_hidden_tracks_in_cdrkit|No support for hidden tracks and other features introduced since 2004.}}
| {{No}}
|-
| Supports "<tt>[[cue sheet (computing)|.cue]]</tt>" files for CD-audio
| {{Yes}}
| {{Partial}}
| {{Partial}}
|}

{| class="wikitable mw-collapsible" border="1"
|+ style="text-align:left; width:99%;" | Comparison of mkisofs, genisoimage and xorriso
|-
| rowspan="2"| Topic
! colspan="3"| Commands compared
|-
! mkisofs<ref name="mkisofs man page" /> (cdrtools)
! genisoimage<ref name="genisoimage man page" /> (cdrkit)
! xorriso<ref name="xorriso man page" /> (libburnia)
|-
| Has support for big files (size ≥ 4 [[Gibibyte|GiB]]) and [[ISO 9660#The 2.2F4 GiB file size limit|multi-extent]] files
| {{Yes}}
| {{No}}
| {{Yes}}
|-
| Has support for [[Universal Disk Format|UDF]] filesystems (required for video DVD/BD)
| {{Yes}}
| {{partial}}<ref>Snippet from the {{man|1|genisoimage|||inline}} man page: «UDF support is currently in alpha status and for this reason, it is not possible to create UDF-only images. UDF data structures are currently coupled to the Joliet structures, so there are many pitfalls with the current implementation. There is no UID/GID support, there is no [[POSIX]] permission support, there is no support for symlinks.»</ref>
| {{No}}<ref>«<tt>'''xorriso'''</tt> does not produce UDF filesystems which are specified for official video DVD or BD.» Source: [http://www.gnu.org/software/xorriso/ xorriso overview] and [http://www.gnu.org/software/xorriso/man_1_xorriso_devel.html xorriso(1)] man page.</ref>
|-
| Has support for [[Rock Ridge]]
| {{Yes}}
| {{partial}}<ref><tt>genisoimage</tt> is compliant with [[Rock Ridge]] version 1.10 (producing the "RRIP_1991A" signature) but not with version 1.12, which has a "[[IEEE]]_1282" signature and embeds file serial numbers in the "PX" SUSP tags.</ref>
| {{Yes}}
|-
| Has support for sub-second time stamp granularity in Rock Ridge extensions
| {{Yes}}<ref>The "<tt>-long-rr-time</tt>" option appeared with cdrtools 3.01a01 on 24 November 2010. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/AN-3.01a01 AN-3.01a01])</ref>{{efn|The time stamp granularity with [[Rock Ridge]] extensions in mkisofs is 1 [[centi-]]second with the "<tt>-long-rr-time</tt>" option (enabled by default), and 1 [[second]] with the "<tt>-short-rr-time</tt>" option.}}{{efn|name=option_-short-rr-time_of_mkisofs_is_recommended_to_Linux_users|Because Linux systems do not handle sub-second time stamp granularity in Rock Ridge extensions and show [[Epoch (reference date)#Notable epoch dates in computing{{!}}Epoch date 1 January 1970]], Linux users creating iso images with Rock Ridge extensions but without an [[Universal Disk Format{{!}}UDF]] filesystem are advised to use the "<tt>-short-rr-time</tt>" option of mkisofs.}}
| {{No}}
| {{No}}
|-
| Has support for [[microsecond]] time stamp granularity in UDF filesystems
| {{Yes}}{{efn|The time stamp granularity in [[Universal Disk Format{{!}}UDF]] filesystems created with mkisofs is 1 [[microsecond]].}}
| {{No}}
| {{No}}
|-
| Has support for all [[stat (system call)|three Unix times]] ("atime", "ctime" and "mtime") in both Rock Ridge and UDF
| {{Yes}}<ref>Support for all three Unix times for Rock Ridge extensions was already available in mkisofs 1.11 which was shipped with cdrecord 1.5a1 on 22 June 1997. (Source: lines 376 to 380 of file cdrecord-1.5/mkisofs-1.11/rock.c of archive [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/cdrecord-1.5a1.tar.gz cdrecord-1.5a1.tar.gz])</ref><ref>Support for all three Unix times for UDF was added to cdrtools 3.01a13 on 26 February 2013. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/AN-3.01a13 AN-3.01a13])</ref>
| {{Partial}}{{efn|Support for all three Unix times in genisoimage is only available for Rock Ridge.}}
| {{Partial}}{{efn|Support for all three Unix times in xorriso is only available for Rock Ridge because xorriso does not create UDF filesystems.}}
|-
| Has [[EFI System partition|EFI]] boot support (for creating bootable media)
| {{Yes}}{{efn|[[EFI System partition{{!}}EFI]] boot support in mkisofs is available with the "<tt>-eltorito-platform efi</tt>" option.}}
| {{some}}{{efn|[[EFI System partition{{!}}EFI]] boot support in genisoimage is available for [[Fedora (operating system){{!}}Fedora]]/[[Red Hat Enterprise Linux{{!}}RHEL]]/[[CentOS]] (with an <tt>-E</tt> option). But it is missing in the non modified genisoimage.}}
| {{Yes}}
|-
| Has built-in [[Jigdo]] support (for creating <tt>.jigdo</tt> and <tt>.template</tt> files along with the ISO image file)
| {{No}}{{efn|Although [[jigdo]] is a very usefull tool, the lack of built-in support for it in mkisofs is not a big issue since most users who create jigdo files already know how to use the stand-alone {{man{{!}}1{{!}}jigdo-file{{!}}{{!}}{{!}}inline}} command.}}
| {{Yes}}
| {{Yes}}
|-
| Has support for a ''built-in'' [[POSIX]]-compliant "<tt>-find</tt>" option
| {{Yes}}
| {{No}}{{efn|An external [[POSIX]]-compliant <tt>find</tt> command can of course be used with <tt>genisoimage</tt>, but if the length of its output exceeds the maximum command line lengh, then <tt>genisoimage</tt> will not get the complete list of files.}}
| {{Some}}{{efn|The <tt>-find</tt> option of <tt>xorriso</tt> is not [[POSIX]]-compliant and its syntax is very different from that of the <tt>find</tt> Unix command.}}
|-
| Can be instructed to ignore and bypass a user supplied list of errors during image masterisation (not recommended unless used with the "<tt>-print-size</tt>" option)
| {{Yes}}{{efn|Error control in mkisofs may be specified with the "<tt>errctl{{=}}</tt>" option.}}
| {{No}}
| {{Yes}}
|}

{| class="wikitable mw-collapsible" border="1"
|+ style="text-align:left; width:99%;" | Comparison of cdda2wav, icedax and cdrskin
|-
| rowspan="2"| Topic
! colspan="3"| Commands compared
|-
! cdda2wav<ref name="cdda2wav man page" /> (cdrtools)
! icedax<ref name="icedax man page" /> (cdrkit)
! cdrskin<ref name="cdrskin man page" /> (libburnia)
|-
| Has support for [[capability-based security]] (on GNU/Linux systems supporting it), which means the audio extraction program does not need to be installed with [[setuid]] access rights (in other words, ripping can be performed by unprivileged users with increased security)
| {{Yes}}<ref name="cdrtools-3.01a14 capability-based security" />
| {{No}}{{efn|icedax is not installed with [[setuid]] access rights and as a result can only use functions that are available to unpriviledged users. This prevents vendor specific commands that deliver better [[ripping{{!}}DAE]] quality in edge cases.}}
| {{No}}
|-
| Supports to use [[cdparanoia|libparanoia]] for [[ripping|audio extraction]]
| {{Yes}}
| {{Yes}}{{efn|But using an outdated version of libparanoia that does not work well with todays drives.}}
| {{No}}
|-
| Supports to display [[C2 error]]s in paranoia mode
| {{Yes}}
| {{No}}
| {{No}}
|-
| libparanoia statitstics work
| {{Yes}}
| {{No}}
| {{No}}
|-
| Supports to extract [[hidden track]]s
| {{Yes}}
| {{No}}
| {{No}}
|-
| Supports to create <tt>.inf</tt> files
| {{Yes}}
| {{Partial}}{{efn|name=no_support_for_hidden_tracks_in_cdrkit}}
| {{No}}
|-
| Supports to create <tt>[[cue sheet (computing)|.cue]]</tt> files
| {{Yes}}
| {{No}}
| {{No}}
|-
| Supports to compute [[MD5]] [[Cryptographic hash function|checksums]] for the extracted audio data
| {{Yes}}
| {{No}}
| {{No}}
|-
| Implements remote controlled mode for better [[ripping|DAE]] properties in [[GNOME]]
| {{Yes}}
| {{No}}
| {{No}}
|}

== Compatible operating systems ==
<!-- seriously: AmigaOS support? WTF? Who cares? completely irrelevant list. -->

The latest alpha release of cdrtools can be compiled on the following operating systems&nbsp;:

{{div col|colwidth=15em}}
* [[SunOS|SunOS-4.x]]<ref name="operating systems already supported by cdrecord-1.04">Support for [[SunOS]]-4.1.3 or later, [[Solaris (operating system)|Solaris]] 2.3 or later and [[Linux]] were already present in cdrecord 1.04 which was released on 23 May 1997. (Source: file AN-1.4 of archive [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/cdrecord-1.5a1.tar.gz cdrecord-1.5a1.tar.gz])</ref>
* [[Solaris (operating system)|Solaris]]<ref name="operating systems already supported by cdrecord-1.04" />
* [[Linux]]<ref name="operating systems already supported by cdrecord-1.04" />
* [[FreeBSD]]<ref name="cdrecord-1.5a3 support for FreeBSD">Support for [[FreeBSD]] was added on 5 July 1997 to cdrecord-1.5a3. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/AN-1.5a3 AN-1.5a3])</ref><ref name="additional operating systems supported by cdrecord-1.05">cdrecord 1.05, released on 15 September 1997, was the first stable release to support *[[Berkeley Software Distribution|BSD]] ([[FreeBSD]], [[NetBSD]] and [[OpenBSD]]), [[IRIX]] and [[HP-UX]].(Source: [http://ftp.berlios.de/pub/cdrecord/AN-1.05 AN-1.05])</ref>
* [[NetBSD]]<ref name="additional operating systems supported by cdrecord-1.05" /><ref name="cdrecord-1.5a4 support for NetBSD and OpenBSD">Support for [[NetBSD]] and [[OpenBSD]] was added on 8 July 1997 to cdrecord-1.5a4. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/AN-1.5a4 AN-1.5a4])</ref>
* [[OpenBSD]]<ref name="additional operating systems supported by cdrecord-1.05" /><ref name="cdrecord-1.5a4 support for NetBSD and OpenBSD" />
* [[IRIX]]<ref name="additional operating systems supported by cdrecord-1.05" /><ref name="cdrecord-1.5a6 support for IRIX">Support for [[IRIX]] was added on 26 August 1997 to cdrecord-1.5a6. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/AN-1.5a6 AN-1.5a6])</ref>
* [[HP-UX]]<ref name="additional operating systems supported by cdrecord-1.05" /><ref name="cdrecord-1.5a7 support for HP-UX">Support for [[HP-UX]] was added on 1 September 1997 to cdrecord-1.5a7. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.5aX/AN-1.5a7 AN-1.5a7])</ref>
* [[IBM AIX|AIX]]<ref name="cdrecord-1.6a7 support for AIX">Support for [[IBM AIX|AIX]] was added on 29 November 1997 to cdrecord 1.6a7. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.6aX/AN-1.6a7 AN-1.6a7])</ref>
* Apple [[Rhapsody (operating system)|Rhapsody]]<ref name="cdrecord-1.6a8 binary support for Apple Rhapsody">First Apple [[Rhapsody (operating system)|Rhapsody]] support (binary only) added on 8 February 1998 to cdrecord 1.6a8. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.6aX/AN-1.6a8 AN-1.6a8])</ref><ref name="cdrecord-1.8a28 support for Apple Rhapsody, OS X and NeXTSTEP">Support for Apple [[Rhapsody (operating system)|Rhapsody]], [[OS X]] and [[NeXTSTEP]] was added on 16 September 1999 to cdrecord 1.8a28. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.8aX/AN-1.8a28 AN-1.8a28])</ref><ref name="additional operating systems supported by cdrecord-1.08" />
* [[BSD/OS]]<ref name="cdrecord-1.6.1a1 support for BSD-OS">Support for [[BSD/OS]] was added on 23 August 1998 to cdrecord 1.6.1a1 with a new [[SCSI]] transport code. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.6.1aX/AN-1.6.1a1 AN-1.6.1a1])</ref>
* [[Microsoft Windows|Windows]] [[Windows 9x|9x]]/[[Windows ME|ME]]/[[Windows NT|NT]]<ref>cdrecord compiles on [[Windows NT]] with [[Cygwin]] since 23 August 1998. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.6.1aX/AN-1.6.1a2 AN-1.6.1a2])</ref><ref name="cdrecord-1.8a22 support for W9x, WNT35 and SCO OpenServer">Support for [[Microsoft Windows|Windows]] [[Windows NT|NT]]/[[Windows 9x|9x]] and [[SCO OpenServer]] was added to cdrtools/cdrecord 1.8a22 on 13 May 1999 and also works on newer releases of [[Windows NT]]. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.8aX/AN-1.8a22 AN-1.8a22])</ref><ref>cdrtools builds without any patch on [[Microsoft Windows|Windows]] with [[MinGW]] since 4 January 2014. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/AN-3.01a21 AN-3.01a21]).</ref>
* [[Tru64 UNIX#OSF/1|OSF-1]]<ref name="cdrecord-1.6.1a4 support for OSF-1">Support for [[Tru64 UNIX#OSF/1|OSF-1]] was added on 6 October 1998 to cdrecord 1.6.1a4. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.6.1aX/AN-1.6.1a4 AN-1.6.1a4])</ref>
* [[OS/2]]<ref name="additional operating systems supported by cdrecord-1.08">cdrecord 1.08, released on 28 January 2000, was the first stable release to support [[OS/2]], [[BeOS]], [[SCO OpenServer]], Apple [[Rhapsody (operating system)|Rhapsody]], Mac [[OS X]], [[NeXTSTEP]] and [[QNX]]. The QNX port, however, does not yet have SCSI transport. (Source: [http://ftp.berlios.de/pub/cdrecord/AN-1.08 AN-1.08])</ref><ref name="cdrecord-1.8a11 support for OS_2">Support for [[OS/2]] was initiated on 22 November 1998 with cdrecord 1.8a11. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.8aX/AN-1.8a11 AN-1.8a11])</ref>
* [[BeOS]]<ref name="additional operating systems supported by cdrecord-1.08" /><ref name="cdrecord-1.8a14 support for BeOS">Support for [[BeOS]] was added on 6 December 1998 to cdrecord 1.8a14. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.8aX/AN-1.8a14 AN-1.8a14])</ref>
* [[SCO OpenServer]]<ref name="additional operating systems supported by cdrecord-1.08" /><ref name="cdrecord-1.8a22 support for W9x, WNT35 and SCO OpenServer" />
* Mac [[OS X]]<ref name="cdrecord-1.8a28 support for Apple Rhapsody, OS X and NeXTSTEP" /><ref name="additional operating systems supported by cdrecord-1.08" />
* [[NeXTSTEP]]<ref name="cdrecord-1.8a28 support for Apple Rhapsody, OS X and NeXTSTEP" /><ref name="additional operating systems supported by cdrecord-1.08" />
* [[QNX]]<ref name="additional operating systems supported by cdrecord-1.08" /><ref name="cdrecord-1.8a39 partial support for QNX">Partial support for [[QNX]] (without SCSI transport code) was added on 7 January 2000 to cdrecord 1.8a39 (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.8aX/AN-1.8a39 AN-1.8a39])</ref>
* SCO [[UnixWare]]<ref name="cdrecord-1.10a03 support for SCO UnixWare">Support for SCO [[UnixWare]] was added on 26 August 2000 to cdrecord 1.10a03 (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/1.10aX/AN-1.10a03 AN-1.10a03])</ref>
* [[AmigaOS]]<ref>cdrtools builds without any patch on [[AmigaOS]] since 18 January 2002. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/2.0aX/AN-1.11a13 AN-1.11a13])</ref>
* [[DOS]]<ref name="cdrtools-2.01a20 support for DOS">Support for [[DOS]]/[[DJGPP]] was added on 10 December 2003 to cdrtools 2.01a20. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/2.01aX/AN-2.01a20 AN-2.01a20])</ref>
* [[DragonFly BSD]]<ref name="cdrtools-2.01.01a05 support for DragonFly BSD">Support for [[DragonFly BSD]] was added on 30 January 2006 to cdrtools 2.01.01a05. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a05 AN-2.01.01a05])</ref>
* [[magnussoft ZETA|Zeta]]<ref name="cdrtools-2.01.01a06 support for Zeta">Support for [[magnussoft ZETA|Zeta]] was added on 9 February 2006 to cdrtools 2.01.01a06. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a06 AN-2.01.01a07])</ref>
* Atari [[MiNT]]<ref name="cdrtools-2.01.01a54 support for Atari MiNT">Support for Atari [[MiNT]] was added on 25 December 2008 to cdrtools 2.01.01a54. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a54 AN-2.01.01a54])</ref>
* [[Haiku (operating system)|Haiku]]<ref name="cdrtools-2.01.01a58 support for Haiku and Syllable">Support for [[Haiku (operating system)|Haiku]] and [[Syllable Desktop|Syllable]] was added on 9 March 2009 to cdrtools 2.01.01a58. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a58 AN-2.01.01a58])</ref>
* [[Syllable Desktop|Syllable]]<ref name="cdrtools-2.01.01a58 support for Haiku and Syllable" />
* [[OpenVMS]]<ref name="cdrtools-2.01.01a67 support for OpenVMS">Support for [[OpenVMS]] was added on 1 November 2009 to cdrtools 2.01.01a67. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a67 AN-2.01.01a67])</ref>
* [[Debian GNU/kFreeBSD|GNU/kFreeBSD]]<ref>cdrtools builds without any patch on [[Debian GNU/kFreeBSD]] since 15 August 2012. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/AN-3.01a08 AN-3.01a08])</ref>
{{div col end}}

== Availability of precompiled binary packages ==

Many operating system vendors, but not all, do distribute cdrtools.
Because some major GNU/Linux distributions do not, several dedicated individuals have decided to help the community by providing unofficial 3rd-party builds of cdrtools.
This table lists some popular operating systems, as well as some GNU/Linux distributions that ship cdrtools.{{efn|Most GNU/Linux distributions, however, do not ship cdrtools because most of them are based on major distributions that only ship cdrkit.}}

{| class="wikitable sortable collapsible" border="1"
|+ style="border-style:solid; border-width:thin; border-bottom-style:none; border-radius:1em 1em 0 0; border-color:darkgray; background:#f2f2f2" | Availability of precompiled cdrtools
|-
! rowspan="2" | Operating system
! rowspan="2" | Kernel family
! colspan="2" style="width:12em;" | Builds of cdrtools
|-
! official
! 3rd-party
|-
| [[Arch Linux]]
| Linux
| {{Ya}}
|
|-
| [[Calculate Linux]]
| Linux
| {{Ya}}
|
|-
| [[CentOS]]
| Linux
| {{Na}}
| {{Ya}}{{efn|name=negativo17|[[Yellowdog Updater, Modified|YUM]] repositories for supported versions of Fedora and RHEL is available at [http://negativo17.org/cdrtools/].}}
|-
| [[Debian]]
| Linux
| {{Na}}
|
|-
| [[DragonFly BSD]]
| xBSD (DragonFly)
| {{Ya}}
|
|-
| [[Fedora (operating system)|Fedora]]
| Linux
| {{Na}}
| {{Ya}}{{efn|name=negativo17}}
|-
| [[FreeBSD]]
| xBSD (FreeBSD)
| {{Ya}}
|
|-
| [[Frugalware Linux]]
| Linux
| {{Ya}}
|
|-
| [[Gentoo Linux]]
| Linux
| {{Ya}}
|
|-
| [[GoboLinux]]
| Linux
| {{Ya}}
|
|-
| [[Haiku (operating system)|Haiku]]
| [[BeOS]] clone
| {{Ya}}
|
|-
| [[Illumos]]
| [[OpenSolaris]] fork
| {{Ya}}
|
|-
| [http://kaosx.us/ KaOS]
| Linux
| {{Ya}}
|
|-
| [http://www.kwheezy.com/ Kwheezy]
| Linux
| {{Ya}}
|
|-
| [[Linux Mint]]
| Linux
| {{Na}}
|
|-
| [http://sourceforge.net/projects/magiclinux-plus/ magiclinux-plus]
| Linux
| {{Ya}}
|
|-
| [[Manjaro Linux]]
| Linux
| {{Ya}}
|
|-
| [[NetBSD]]
| xBSD (NetBSD)
| {{Ya}}
|
|-
| [[OpenBSD]]
| xBSD (OpenBSD)
| {{Ya}}
|
|-
| [http://www.openmamba.org/ openmamba]
| Linux
| {{Ya}}
|
|-
| [[openSUSE]]
| Linux
| {{Ya}}
|
|-
| [[Oracle Linux]]
| Linux
| {{Na}}
| {{Ya}}{{efn|name=negativo17}}
|-
| [[Solaris (operating system)|Oracle Solaris]]
| Solaris
| {{Ya}}
|
|-
| [[OS X]]
| [[Mach (kernel)|Mach]]
| {{Na}}
| {{Ya}}{{efn|Users of OS X may build cdrtools with this [https://trac.macports.org/browser/trunk/dports/sysutils/cdrtools/Portfile cdrtools portfile] from the [[MacPorts]] Project.}}
|-
| [[Pardus (operating system)|Pardus]]
| Linux
| {{Na}}
|
|-
| [[Parted Magic]]
| Linux
| {{Ya}}
|
|-
| [[PC-BSD]]
| xBSD (FreeBSD)
| {{Ya}}
|
|-
| [[Porteus (operating system)|Porteus]]
| Linux
| {{Ya}}
|
|-
| [[Red Hat Enterprise Linux|RHEL]]
| Linux
| {{Na}}
| {{Ya}}{{efn|name=negativo17}}
|-
| [[Sabayon Linux|Sabayon]]
| Linux
| {{Ya}}
|
|-
| [[Salix OS]]
| Linux
| {{Ya}}
|
|-
| [[Scientific Linux]]
| Linux
| {{Na}}
| {{Ya}}{{efn|name=negativo17}}
|-
| [[Slackware]]
| Linux
| {{Ya}}
|
|-
| [http://sourceforge.net/projects/slavankaos/ SlavankaOS]
| Linux
| {{Ya}}
|
|-
| [[Slax]]
| Linux
| {{Ya}}
|
|-
| [[SystemRescueCD]]
| Linux
| {{Ya}}
|
|-
| [[Ubuntu (operating system)|Ubuntu]]
| Linux
| {{Na}}
| {{Ya}}{{efn|name=BrandonSnider|Brandon Snider's [[Personal Package Archive{{!}}PPAs]] for cdrtools are [https://launchpad.net/~brandonsnider/+archive/cdrtools/ available here] for Ubuntu.}}
|-
| [[Microsoft Windows|Windows]]
| Windows
| {{Na}}
| {{Ya}}
|}

Note that while [[Arch Linux]] carries an official cdrecord package in its repositories, packages such as [[Brasero (software)|Brasero]] and [[k3b]] depend on "cdrkit" and will pull the package cdrkit by default.{{efn|name=archrepo|See [https://www.archlinux.org/packages/extra/i686/cdrkit/ cdrkit] on the Arch Linux packages database}} This also applies to other distributions derived from Arch such as [[Manjaro]].

== Version history ==
{| class="wikitable mw-collapsible" border="1"
|+ style="text-align:left; width:99%;" | Version history of cdrtools
|-
|-
! rowspan="2"| Project Name
! rowspan="2"| Project name
! colspan="2"| Preview Releases
! colspan="2"| Preview releases
! colspan="2"| Stable Release
! colspan="2"| Stable release
! rowspan="2"| Notes
! rowspan="2"| Notes
|-
|-
Line 641: Line 124:
! rowspan="11"| cdrecord
! rowspan="11"| cdrecord
| rowspan="5" colspan="2"|
| rowspan="5" colspan="2"|
| {{Version |o |1.00}}
| 1.00
| 1996-02-04
| 1996-02-04
|
|
|-
|-
| {{Version |o |1.01}}
| 1.01
| 1996-10-04
| 1996-10-04
|
|
|-
|-
| {{Version |o |1.02}}
| 1.02
| 1996-12-20
| 1996-12-20
|
|
|-
|-
| {{Version |o |1.03}}
| 1.03
| 1997-05-16
| 1997-05-16
|
|
|-
|-
| {{Version |o |1.04}}
| 1.04
| 1997-05-23
| 1997-05-23
|
|
Line 663: Line 146:
| 1.5a1
| 1.5a1
| 1.5a9
| 1.5a9
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.05 1.05]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.05/view 1.05]
| 1997-09-15
| 1997-09-15
|
|
Line 669: Line 152:
| 1.6a01
| 1.6a01
| 1.6a15
| 1.6a15
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.06 1.06]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.06/view 1.06]
| 1998-04-18
| 1998-04-18
|
|
Line 675: Line 158:
| 1.6.1a1
| 1.6.1a1
| 1.6.1a7
| 1.6.1a7
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.06.1 1.06.1]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.06.1/view 1.06.1]
| 1998-10-19
| 1998-10-19
|
|
Line 681: Line 164:
| 1.8a01
| 1.8a01
| 1.8a40
| 1.8a40
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.08 1.08]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.08/view 1.08]
| 2000-01-28
| 2000-01-28
|
|
Line 687: Line 170:
| 1.8.1a01
| 1.8.1a01
| 1.8.1a09
| 1.8.1a09
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.08.1 1.08.1]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.08.1/view 1.08.1]
| 2000-04-27
| 2000-04-27
|
|
Line 693: Line 176:
| 1.9a01
| 1.9a01
| 1.9a05
| 1.9a05
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.09 1.09]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.09/view 1.09]
| 2000-07-20
| 2000-07-20
|
|
|-
|-
! rowspan="6" | cdrtools
! rowspan="7" | cdrtools
| 1.10a01
| 1.10a01
| 1.10a19
| 1.10a19
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-1.10 1.10]}}
| [//sourceforge.net/projects/cdrtools/files/AN-1.10/view 1.10]
| 2001-04-22
| 2001-04-22
|
|
Line 706: Line 189:
| rowspan="2" |1.11a01<br />2.0pre1
| rowspan="2" |1.11a01<br />2.0pre1
| rowspan="2" |1.11a40<br />2.0pre3
| rowspan="2" |1.11a40<br />2.0pre3
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-2.00 2.00]}}
| [//sourceforge.net/projects/cdrtools/files/AN-2.00/view 2.00]
| 2002-12-25
| 2002-12-25
| [[DVD-Video]] support since July 2002.<ref name="cdrtools-1.11a27 support for DVD-Video">Full [[DVD-Video]] support (in mkisofs), contributed by Olaf Beck, was added to preview release 1.11a27 on 21 July 2002 (Source: [//sourceforge.net/projects/cdrtools/files/alpha/OLD/2.0aX/AN-1.11a27/view AN-1.11a27]) and to stable release 2.00 on 25 December 2002 (Source: [//sourceforge.net/projects/cdrtools/files/AN-2.00/view AN-2.00])</ref>
|
|-
|-
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-2.00.3 2.00.3]}}
| [//sourceforge.net/projects/cdrtools/files/AN-2.00.3/view 2.00.3]
| 2003-05-28
| 2003-05-28
|
|
Line 716: Line 199:
| 2.01a01
| 2.01a01
| 2.01a38
| 2.01a38
| {{Version |o |[http://ftp.berlios.de/pub/cdrecord/AN-2.01 2.01]}}
| [//sourceforge.net/projects/cdrtools/files/AN-2.01/view 2.01]
| 2004-09-09
| 2004-09-09
| This series was the last GPL-licensed version and was used as base for the fork [[cdrkit]].
| This series was the last GPL-licensed version and was used as base for the fork [[cdrkit]].
Line 722: Line 205:
| 2.01.01a01
| 2.01.01a01
| 2.01.01a80
| 2.01.01a80
| {{Version |c |[http://ftp.berlios.de/pub/cdrecord/AN-3.00 3.00]}}<ref name="3.00 stable release announcement">{{cite web |url=http://cdrecord.berlios.de/private/R-3.0.html |title=cdrtools 3.00 release announcement |last=Schilling |first=Jörg |date=18 May 2010 |work= |publisher= |accessdate=2010-05-18}}</ref><ref name="3.00 stable release notes">{{cite web |url=http://ftp.berlios.de/pub/cdrecord/AN-3.00 |title=cdrtools 3.00 release notes |last=Schilling |first=Jörg |date=2 June 2010 |work= |publisher= |accessdate=2010-06-02}}</ref>
| [//sourceforge.net/projects/cdrtools/files/AN-3.00/view 3.00]<ref name="3.00 stable release announcement">{{cite web |url=http://cdrecord.org/private/R-3.0.html |title=cdrtools 3.00 release announcement |last=Schilling |first=Jörg |date=18 May 2010 |accessdate=2010-05-18}}</ref><ref name="3.00 stable release notes">{{cite web |url=http://sourceforge.net/projects/cdrtools/files/AN-3.00/view |title=cdrtools 3.00 release notes |last=Schilling |first=Jörg |date=2 June 2010 |accessdate=2010-06-02}}</ref>
| 2010-06-02
| 2010-06-02
| On May 2006, most parts of cdrtools were switched to the CDDL,<ref name="license change" /> resulting in a package containing both GPL-ed and CDDL-ed sources. However, 4 months later, the author added support for dynamic-linking.<ref name="support for dynamic link added" /> Blu-ray support is available since July 2007<ref name="cdrtools-2.01.01a29 support for Blu-ray">Support for [[Blu-ray Disc]]s was added on 4 July 2007 to cdrtools 2.01.01a29. (Source: [http://ftp.berlios.de/pub/cdrecord/alpha/OLD/3.00aX/AN-2.01.01a29 AN-2.01.01a29])</ref>
| In May 2006, most parts of cdrtools were switched to the [[CDDL]].<ref name="license change" /> Blu-ray support is available since July 2007<ref name="cdrtools-2.01.01a29 support for Blu-ray">Support for [[Blu-ray Disc]]s was added on 4 July 2007 to cdrtools 2.01.01a29. (Source: [//sourceforge.net/projects/cdrtools/files/alpha/OLD/3.00aX/AN-2.01.01a29/view AN-2.01.01a29])</ref>
|-
|-
| 3.01a01
| 3.01a01
| 3.01a31
| {{Version |cp |3.01a23}}<ref name="latest preview" />
| [//sourceforge.net/projects/cdrtools/files/AN-3.01/view 3.01]<ref name="3.01 stable release notes"/>
|
| 2014-03-04<ref name="latest preview" />
| 2015-08-26<ref name="3.01 stable release notes" />
|
|-
|-
| 3.02a01
| colspan="6" | {{Version |l |show=110110}}
| 3.02a09<ref name="latest preview" />
|}
| 3.02

| 2022-09-18
== Examples of use ==
| [[DVD-Audio]] support since December 2015.<ref name="cdrtools-3.02a04 support for DVD-Audio">[[DVD-Audio]] support (in mkisofs), contributed by the [http://dvd-audio.sourceforge.net/howto.shtml DVD audio Tools] project {{em dash}}credits to authors Jerome Brock and Fabrice Nicol are in source file mkisofs/udf.c{{em dash}} and available in the [//sourceforge.net/projects/dvd-audio/files/dvda-author/dvda-author-dev/external%20packages external packages folder of dvda-author] as a [[Patch (computing)|patch]] against cdrtools 3.00, has been refreshed and included in cdrtools 3.02a04 on 16 December 2015. (Source: [//sourceforge.net/projects/cdrtools/files/alpha/AN-3.02a04/view AN-3.02a04])</ref>

=== mkisofs ===

<tt>mkisofs</tt> has many options,<ref name="mkisofs man page" /> but only a few are usefull for most basic uses.
{| class="wikitable floatright mw-collapsible mw-collapsed" border="1"
|+ style="border-style:solid; border-width:thin; border-radius:1em 1em 0 0; border-color:darkgray; background:#f2f2f2" | Main options of mkisofs
|-
|-
! Option
! Purpose
|-
| style="white-space:nowrap" | <tt>-V ''volid''</tt>
| Specify a volume identifier (i.e. a string of at most 32 characters) that will appear as the name or label of the CD/DVD/BD.
|-
| <tt>-J</tt>
| Enable [[Joliet (file system)|Joliet]] (recommended to allow long names to be seen on Windows systems).
|-
| <tt>-r</tt>
| Enable "rationalized" [[Rock Ridge]], i.e. with Rock Ridge but using default file ownerships and modes (recommended to allow long names on [[Unix-like]] systems).
|-
| style="white-space:nowrap" | <tt>-o ''filename''</tt>
| File name to use for the ISO image.
|}
|}


== See also ==
The examples given below show how to create a simple ISO image for a data CD/DVD/BD.
{{Portal|Free and open-source software}}
{{Clear}}


=== Forks ===
* Simplified syntax:
mkisofs [ -J ] [ -r ] [ -V "''my dvd''" ] -o ''image.iso'' ''source''

* To create an image with both Rock Ridge and Joliet, using the contents of the ''source'' directory:
mkisofs -J -r -o ''image.iso'' ''source''

* The same as above, but with a title for the CD/DVD/BD, and without Rock Ridge:
mkisofs -J -V "''my dvd''" -o ''image.iso'' ''source''

* To create an image with Rock Ridge but no Joliet, using the contents of the ''source'' directory, but using short Rock Ridge time stamps (option "<tt>-short-rr-time</tt>" is recommended on Linux{{efn|name=option_-short-rr-time_of_mkisofs_is_recommended_to_Linux users}}):
mkisofs -r -short-rr-time -o ''image.iso'' ''source''

* To print the estimated filesystem size (in multiples of 2048 bytes) of an image but without creating it, replace "<tt>-o ''image.iso''</tt>" by "<tt>-print-size</tt>", like this:
mkisofs -J -r -print-size ''source''

=== cdrecord ===

<tt>cdrecord</tt> has many options,<ref name="cdrecord man page" /> but only a few are usefull for most basic uses.

* To show the available [[optical disc drive]]s:
cdrecord -scanbus

* To eject the media of the default optical disc drive, or just open its tray:
cdrecord -eject

* To close the tray of the default optical disc drive:
cdrecord -load

* To show the capabilities of the default optical disc drive:
cdrecord -prcap

* To show the table of contents of a media in the default optical disc drive:
cdrecord -toc

* To burn an image in [[Optical disc recording modes#CD Disc-At-Once|Disc-At-Once]] mode to an [[optical disc]]:
cdrecord -dao ''image.iso''

* The same as above, but with the "<tt>-overburn</tt>" option, if the image is bigger than the default media size:
cdrecord -dao -overburn ''image.iso''

In all commands above, it is possible to specify a device using the "<tt>dev=''x'',''y'',''z''</tt>" syntax (where "<tt>''x'',''y'',''z''</tt>" is the identifier of the optical disc drive as listed by the "<tt>-scanbus</tt>" option). This is required unless there is only one possible choice.

== Forks ==
* [[cdrkit]]
* [[cdrkit]]
* dvdrtools<ref name="dvdrtools">{{cite web
* DVD-R Tools
| url = http://savannah.nongnu.org/projects/dvdrtools
| title = dvdrtools - Summary
| quote = dvdrtools is a fork of cdrtools/cdrecord with support for writing to DVDs.
| date = 2002-01-28
| publisher = [[GNU Savannah]]
| accessdate = 2016-01-24
}}</ref><ref>{{cite web
| url = http://savannah.nongnu.org/forum/forum.php?forum_id=3584
| title = dvdrtools - News: dvdrtools 0.2.0 released
| quote = dvdrtools 0.2.0 has been released.
| date = 2005-02-05
| publisher = [[GNU Savannah]]
| accessdate = 2016-01-24
}}
(This was the last release of dvdrtools before the project was abandoned.)</ref> (not to confuse with [[dvd+rw-tools]])


== Software that can use cdrtools ==
=== Software that can use cdrtools ===
* [[Brasero (software)|Brasero]] (Unix-like)
* [[Brasero (software)|Brasero]] (Unix-like)
* [http://cdrtfe.sourceforge.net/ cdrtfe] (Windows)
* [http://cdw.sourceforge.net/ cdw] (Unix-like)
* [[GnomeBaker]] (Unix-like)
* [[InfraRecorder]] (Windows)
* [[InfraRecorder]] (Windows)
* [[K3b]] (Unix-like)
* [[K3b]] (Unix-like)
* [http://getsilicon.org/ Silicon Empire] ([[cross-platform]])
* [[X-CD-Roast]] (Unix-like)
* [[X-CD-Roast]] (Unix-like)
* [[:ru:cdrtfe|cdrtfe]]<sup>(ru)</sup><ref>{{cite web

| url = http://cdrtfe.sourceforge.net/cdrtfe/index_en.html
==Notes==
| title = cdrtfe - open source CD/DVD/BD burning program for Microsoft Windows
{{Notelist|30em}}
| publisher = cdrtfe.[[SourceForge|sourceforge]].net
| access-date = 2015-11-28
| quote= cdrtfe is a win32 frontend for the cdrtools (cdrecord, mkisofs, readcd, cdda2wav), Mode2CDMaker, VCDImager and other well-known tools.
}}</ref> (Windows)


== References ==
== References ==
{{Reflist|30em}}
{{Reflist|30em}}


==External links==
== External links ==
* {{Official website|http://cdrecord.berlios.de/}}
* Old {{Official website}}
* Currently hosted on [https://codeberg.org/schilytools/schilytools Codeberg]


{{Optical disc image software}}
{{Optical disc image software}}


[[Category:Console CD ripping software]]
[[Category:Free DVD burning software]]
[[Category:Free optical disc authoring software]]
[[Category:Free optical disc authoring software]]
[[Category:Free DVD burning software]]
[[Category:Free software programmed in C]]
[[Category:Linux CD ripping software]]
[[Category:Linux CD/DVD writing software]]
[[Category:Linux CD/DVD writing software]]
[[Category:Optical disc authoring software]]
[[Category:Optical disc authoring software]]
[[Category:Console CD ripping software]]
[[Category:MacOS CD ripping software]]
[[Category:Linux CD ripping software]]
[[Category:Software using the CDDL license]]
[[Category:OS X CD ripping software]]

Latest revision as of 07:33, 17 April 2024

cdrtools
Original author(s)Jörg Schilling, Eric Youngdale, Heiko Eißfeldt, James Pearson
Developer(s)schilytools team
Initial release4 February 1996; 28 years ago (1996-02-04)
Stable release3.02 (18 September 2022 (2022-09-18)) [±][1]
Preview release3.02a09 (10 December 2017 (2017-12-10)) [±][2]
Repository
Written inC
Operating systemCross-platform
Available inEnglish
TypeOptical disc authoring software
LicenseCDDL, GNU GPL and GNU LGPL
Websitecodeberg.org/schilytools/schilytools

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.[3][4]

Because of some licensing issues,[5] there is also a Debian fork of an older version of cdrtools called cdrkit.

Features[edit]

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:

History[edit]

Origins and name change[edit]

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.[7][8] In 1998, a copy of an experimental version of cdda2wav, created by Heiko Eißfeldt[9][8] was included in the cdrecord package.[10][11]

In 1999 the project started to be called cdrtools[12][10][13] to better reflect the fact that it had become a collection of tools.

DVD and Blu-ray disc writing support[edit]

DVD writing support (cdrecord-ProDVD) in cdrecord started in early 1998, at the request of the data archivists of the European Southern Observatory.[14][15][16][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.[17][18] Unregistered free licenses were initially limited to single-speed writing and would expire every year.[18] 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.[17][19] Blu-ray disc support was added starting 2007.[20]

The lack of open-source DVD writing support in 2001 led to heated discussions on the mailing lists,[17] 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,[21] whereas Redhat had dvdrecord.[22]

Hardware access controversy[edit]

Unlike cdrkit and libburnia, which use device files to access the hardware, cdrtools uses a different method known as CAM (for Common Access Method),[23] 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.[24] Linus Torvalds states that SCSI LUNs should not be used for addressing devices on Linux,[25] because these numbers are not unique,[25] and do not make sense for many devices anymore[26] (many devices will report 0:0:0 fake numbers[26]). Instead Torvalds recommends that devices should be addressed via their UUID, physical connection, or an alias symlink[26] as managed by udev on Linux. Torvalds pointed out that the ioctl's have been kept to ensure cdrecord compatibility[27] and do not return a meaningful value.[28]

License compatibility controversy[edit]

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,[24] who repeatedly demanded that distributions stop shipping "bastardized and defective" versions of his "legal original software".[29] 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.[30] 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".[31]
  • 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.[32]
  • Fedora says the cdrtools is a "incompatible mix of the GPL and the CDDL"[33] and Schilling's opinion is a "set of unorthodox opinions on licensing which are not shared by the FSF or Red Hat Legal"[33] 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[34]) 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,[35] Red Hat,[36] Fedora[34] and Ubuntu[37] 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.[38]
  • 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.[39]
  • Slackware only provided cdrtools (build script for cdrkit is available from SlackBuild.org,[40] but the two packages could not co-exists); libburnia was introduced in November 2020 as needed by KDE Plasma 5.[41]
  • Mandriva Linux, which had dropped its cdrtools package in 2007,[42] was returned by Mandriva to the community[43] and became OpenMandriva Lx, which ships the original cdrtools.[44]
  • openSUSE, which had dropped its customized cdrtools package in 2007,[45] added back the original cdrtools in Fall 2013.[46][47]
  • Since building cdrtools from source is widely accepted as legal, there exist compile instructions for many Linux distributions.[48]

Inclusion into toolset Schily-Tools[edit]

Cdrtools are part of Jörg Schilling's toolset Schily-Tools which was originally distributed on SourceForge.[49]

Schilling stopped updating the cdrtools-only alpha and stable branch in 2017 with version 3.02a9;[50] 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.[51] 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.[52]

Version history[edit]

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.[53]
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[54][55] 2010-06-02 In May 2006, most parts of cdrtools were switched to the CDDL.[30] Blu-ray support is available since July 2007[56]
3.01a01 3.01a31 3.01[6] 2015-08-26[6]
3.02a01 3.02a09[2] 3.02 2022-09-18 DVD-Audio support since December 2015.[57]

See also[edit]

Forks[edit]

Software that can use cdrtools[edit]

References[edit]

  1. ^ Clausecker, Robert (19 September 2022). "New features with AN-2022-09-18". The schilytools project. Retrieved 16 October 2022.
  2. ^ a b Schilling, Jörg (10 December 2017). "cdrtools 3.02a09 announcement". cdrtools.sourceforge.net. Retrieved 21 December 2017.
  3. ^ "RIP Jörg Schilling". Archived from the original on 13 October 2021. I have received message from his family that Jörg Schilling has passed away
  4. ^ "Fraunhofer FOKUS | IT original Jörg Schilling has passed away". www.fokus.fraunhofer.de. Archived from the original on 1 January 2022. Retrieved 1 January 2022.
  5. ^ "cdrtools - a tale of two licenses". lwn.net.
  6. ^ a b c Schilling, Jörg (26 August 2015). "cdrtools 3.01 announcement and release notes". cdrtools.sourceforge.net. Retrieved 28 August 2015.
  7. ^ "Announcing mkisofs 1.13".
  8. ^ a b "CDRTOOLS = cdrecord + cdda2wav + mkisofs".
  9. ^ "Cdda2wav".
  10. ^ a b "cdrecord-1.8a10 (cdrtools) ready".
  11. ^ "NEW features of cdrecord-1.8a6".
  12. ^ "cdrtools-1.8a19 ready (cdrecord+cdda2wav+mkisofs)".
  13. ^ "Information for build cdrtools-2.01-11.fc7".
  14. ^ "Using DVD Technology for Archiving Astronomical Data" (PDF). European Southern Observatory.
  15. ^ "The Prospects of DVD-R for Storing Astronomical Archive Data". Astronomical Society of the Pacific - Provided by NASA Astrophysics Data System.
  16. ^ "Using DVD Technology for Archiving Astronomical Data (cont'd)". Astronomical Society of the Pacific - Provided by NASA Astrophysics Data System.
  17. ^ a b c "Re: cdrecord floating point exception".
  18. ^ a b "cdrecord will not burn DVD ISO's".
  19. ^ "README".
  20. ^ "Changelog" (in German).
  21. ^ "Support / Security / Advisories / Mandrakelinux 8.2 / MDKA-2002:011-1 / Mandriva". Mandriva. Retrieved 16 October 2014. cdrecord-dvdhack-1.11-0.a31.1.1mdk.ppc.rpm shows that Mandrake maintained a "cdrecord-dvdhack" version.
  22. ^ "dvdrtools - dvdrecord". Archived from the original on 1 December 2002. Retrieved 2014-04-12.
  23. ^ "Common Access Method Transport and SCSI Interface Module". International Committee for Information Technology Standards. 29 December 2011. Retrieved 24 January 2016.
  24. ^ a b Corbet, Jonathan (11 August 2004). "The value of middlemen". LWN.net. Retrieved 7 April 2014.
  25. ^ a b Torvalds, Linus (27 March 2006). "Re: [PATCH] Move SG_GET_SCSI_ID from sg to scsi". LKML. Retrieved 22 October 2015. the SCSI ID simply doesn't make sense to [Many (most) Linux devices] and they have none. So it's _not_ a unique ID.
  26. ^ a b c Torvalds, Linus (27 March 2006). "Re: [PATCH] Move SG_GET_SCSI_ID from sg to scsi". LKML. Retrieved 22 October 2015.
  27. ^ Torvalds, Linus (27 March 2006). "Re: [PATCH] Move SG_GET_SCSI_ID from sg to scsi". LKML. Retrieved 22 October 2015. 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.
  28. ^ "Linux source code, scsi_ioctl.c, function scsi_get_idlun". Linux Cross Reference. Retrieved 22 October 2015. return put_user(0, p); [i.e. they always yield 0]
  29. ^ Corbet, Jonathan (12 August 2009). "The unending story of cdrtools". LWN.net. Retrieved 26 February 2014.
  30. ^ a b The license change took place on 15 May 2006, when cdrtools-2.01.01a09 was released. (Source: AN-2.01.01a09)
  31. ^ Corbet, Jonathan. "cdrtools - a tale of two licenses". LWN.net. Retrieved 4 August 2007.
  32. ^ Schilling, Joerg (27 June 2011). "Comment 17 for bug 213215". Ubuntu bug tracking. Nobody is violating a license for distributing cdrtools either in source or in binary form.
  33. ^ a b "Forbidden items - FedoraProject". fedoraproject.org.
  34. ^ a b "Re: [Fedora-legal-list] Legal CD/DVD/BD writing software for RedHat and Fedora". www.redhat.com.
  35. ^ "#377109 - RM: cdrtools -- RoM: non-free, license problems - Debian Bug report logs". Retrieved 4 August 2007.
  36. ^ "Information for build cdrtools-2.01-11.fc7". Retrieved 4 August 2007. moved back to version 2.01 (last GPL version), due to incompatible license issues
  37. ^ "Minutes from the Technical Board meeting, 2008-08-26". 26 August 2008. Retrieved 15 September 2008.
  38. ^ "cdrkit (fork of cdrtools) uploaded to Debian, please test". Retrieved 4 August 2007.
  39. ^ "591778 – app-cdr/cdrkit removal request". bugs.gentoo.org.
  40. ^ "SlackBuilds.org - cdrkit". slackbuilds.org.
  41. ^ "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".
  42. ^ "Mandriva Cooker : The Inside Man V". Retrieved 4 August 2007.
  43. ^ "Mandriva SA official blog: Mandriva Linux will return to the community". Mandriva. 17 May 2012. Archived from the original on 23 May 2015. Retrieved 2015-12-13.
  44. ^ 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
  45. ^ "openSUSE 10.3 Release Notes". www.novell.com.
  46. ^ "[openFATE 311186] original cdrtools - openSUSE Features". openSUSE Mailing Lists. 22 December 2013.
  47. ^ "Joerg Schilys cdrtools". openSUSE Build Service. 14 May 2013.
  48. ^ "CDRTools.org : The unofficial cdrtools website to ease building cdrtools from source". Retrieved 16 November 2014.
  49. ^ "The official Shily-Tools project website:" http://schilytools.sourceforge.net/
  50. ^ "cdrecord | Release notes for cdrecord at SourceForge.net". sourceforge.net.
  51. ^ "Schily Tools: Browse files".
  52. ^ Clausecker, Robert (18 August 2022). "cdrecord: bump version to 3.02". codeberg.org. The schilytools project. Retrieved 16 October 2022.
  53. ^ 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)
  54. ^ Schilling, Jörg (18 May 2010). "cdrtools 3.00 release announcement". Retrieved 18 May 2010.
  55. ^ Schilling, Jörg (2 June 2010). "cdrtools 3.00 release notes". Retrieved 2 June 2010.
  56. ^ Support for Blu-ray Discs was added on 4 July 2007 to cdrtools 2.01.01a29. (Source: AN-2.01.01a29)
  57. ^ 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)
  58. ^ "dvdrtools - Summary". GNU Savannah. 28 January 2002. Retrieved 24 January 2016. dvdrtools is a fork of cdrtools/cdrecord with support for writing to DVDs.
  59. ^ "dvdrtools - News: dvdrtools 0.2.0 released". GNU Savannah. 5 February 2005. Retrieved 24 January 2016. dvdrtools 0.2.0 has been released. (This was the last release of dvdrtools before the project was abandoned.)
  60. ^ "cdrtfe - open source CD/DVD/BD burning program for Microsoft Windows". cdrtfe.sourceforge.net. Retrieved 28 November 2015. cdrtfe is a win32 frontend for the cdrtools (cdrecord, mkisofs, readcd, cdda2wav), Mode2CDMaker, VCDImager and other well-known tools.

External links[edit]