Misplaced Pages

Cdrtools: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 10:08, 24 January 2014 edit178.2.132.136 (talk) cdrtools versus cdrkit versus libburnia← Previous edit Revision as of 10:59, 24 January 2014 edit undoSchily (talk | contribs)Extended confirmed users2,524 edits Unsourced POV revertedNext edit →
Line 44: Line 44:
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: ).</ref> to better reflect the fact that it had become a collection of tools. 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: ).</ref> to better reflect the fact that it had become a collection of tools.


Until the licensing change 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). It is still the most used{{cn}} software suite (in its category) on many{{weasel-inline}} operating systems, ''except'' for several major GNU/Linux distributions which consider the license to be inconsistent and therefore no longer can include cdrtools. 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). It is still the most used software suite (in its category) on many operating systems, '''except''' for several major GNU/Linux distributions.


== The licensing issue == == The licensing issue ==
Line 129: Line 129:


Because of this license issue, most of the major GNU/Linux distributions<ref>According to , Redhat/CentOS/Fedora and Debian/Ubuntu dominate the GNU/Linux market with 95% market share; both of these families of GNU/Linux distributions no longer distribute cdrtools</ref> stopped distributing cdrtools in 2006. Because of this license issue, most of the major GNU/Linux distributions<ref>According to , Redhat/CentOS/Fedora and Debian/Ubuntu dominate the GNU/Linux market with 95% market share; both of these families of GNU/Linux distributions no longer distribute cdrtools</ref> stopped distributing cdrtools in 2006.
The author has a different point of view and has always claimed that any open source operating system can distribute cdrtools as long as the terms of the licenses are respected.{{weasel-inline}}<!-- "respecting the licenses" is what the others say is impossible --> The author has a different point of view and has always claimed that any open source operating system can distribute cdrtools as long as the terms of the licenses are respected.


In September 2006, four months after the license change, Jörg 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: )</ref> hoping this would be enough for the GNU/Linux distributions to restart distributing cdrtools. In September 2006, four months after the license change, Jörg 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: )</ref> hoping this would be enough for the GNU/Linux distributions to restart distributing cdrtools.
Line 204: Line 204:
|- |-
| Number of active developers | Number of active developers
| 2+
| 2+{{cn}}<!-- cdrtools changelogs show that it is a one man show. -->
| 0 | 0
| 3+ | 2+
|- |-
| Year of first public release | Year of first public release

Revision as of 10:59, 24 January 2014

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Cdrtools" – news · newspapers · books · scholar · JSTOR (January 2012) (Learn how and when to remove this message)
This article or section possibly contains synthesis of material that does not verifiably mention or relate to the main topic. Relevant discussion may be found on the talk page. (November 2012) (Learn how and when to remove this message)
This article's factual accuracy is disputed. Relevant discussion may be found on the talk page. Please help to ensure that disputed statements are reliably sourced. (December 2013) (Learn how and when to remove this message)
(Learn how and when to remove this message)


cdrtools
Original author(s)Jörg Schilling, Eric Youngdale, Heiko Eißfeldt, James Pearson
Developer(s)Jörg Schilling
Initial release4 February 1996 (1996-02-04)
Stable release3.02 (18 September 2022 (2022-09-18)) [±]
Preview release3.02a09 (10 December 2017 (2017-12-10)) [±]
Repository
Written inC
Operating systemSee Compatible operating systems
Available inEnglish
TypeCD/DVD/Blu-ray writing
LicenseCDDL, GNU GPL
Websitecdrecord.berlios.de

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

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. Because these tools do not include any GUI, many graphical front-ends have been created.

Features

The collection includes many features, such as:

History and name change

The first releases of cdrtools were called cdrecord because they only included the cdrecord tool and a few companion tools, but not mkisofs nor cdda2wav. In 1997, a copy of mkisofs (developed at that time by Eric Youngdale) was included in the cdrecord package. In 1998, a copy of an experimental version of cdda2wav (developed at that time by Heiko Eißfeldt) was included in the cdrecord package.

In 2000, Jörg Schilling changed the name of his package from "cdrecord" to "cdrtools" to better reflect the fact that it had become a collection of tools.

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). It is still the most used software suite (in its category) on many operating systems, except for several major GNU/Linux distributions.

The licensing issue

The project was originally licensed under the GNU General Public License (GPL).

With version 1.11a17 (released in 2002), a section of cdrtools' source code was modified to include an invariant section, in order to prevent people from distributing variants with intentional bugs under the original name. Publishing modified code under another name is still permitted, making the file compatible with the OpenSource definition and specific licenses like the GPL. In fact, the sole purpose of this invariant section was to make sure any modification to cdrecord would be properly reported as such to the user.

In May 2006, for reasons that belong to the author, most parts of cdrtools were switched to the CDDL with the permission from their authors . This license change has had (and still has) an important consequence because some parts of cdrtools (e.g. mkisofs, which is still GPL-licensed) use code that was switched to CDDL, (e.g. libscg, the SCSI Transport Layer developed by Jörg Schilling).

According to the Free Software Foundation, the CDDL is incompatible with the GNU General Public License (GPL). Jonathan Corbet, founder of the LWN.net news source argued this makes it impossible to legally distribute cdrtools binaries. Other observers claim that this license issue could be solved by using dynamic-link libraries (also called shared objects), that is, code under the GPL license may use code under the CDDL license (and vice-versa) as long as the codes are stored in distinct files (one runtime and one or more shared objects).

Because of this license issue, most of the major GNU/Linux distributions stopped distributing cdrtools in 2006. The author has a different point of view and has always claimed that any open source operating system can distribute cdrtools as long as the terms of the licenses are respected.

In September 2006, four months after the license change, Jörg Schilling added support for dynamic-linking cdrtools, hoping this would be enough for the GNU/Linux distributions to restart distributing cdrtools.

Debian, Red Hat, OpenSuSE and Mandriva 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. 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, provided Schilling agreed to accept the opinion.

cdrtools versus cdrkit versus libburnia

This article contains promotional content. Please help improve it by removing promotional language and inappropriate external links, and by adding encyclopedic text written from a neutral point of view. (December 2013) (Learn how and when to remove this message)
This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (December 2013) (Learn how and when to remove this message)

Important note: Most GNU/Linux distributions which still ship cdrkit consider it as legacy software and plan to move to libburnia, which is not based on cdrtools. Libburnia is actively maintained and does not have the limitations cdrkit has.

The following table indicates the correspondence between the names of the main commands in each software suite (cdrttols, cdrkit, and libburnia).

Software suite Commands for
CD/DVD/Blu-ray CD-Audio
pre­-mas­ter­ing burn­ing reading extraction
cdrtools mkisofs cdrecord readcd cdda2wav
cdrkit genisoimage wodim readom icedax
libburnia xorriso cdrskin telltoc cdrskin

The following tables list some of the most notable differences between cdrtools, cdrkit and libburnia. (The comparison applies to the latest releases of each software suite.)

Topic Suite compared
cdrtools suite cdrkit suite libburnia suite
License(s) GPL and CDDL GPL GPL
Can be built from source code on most architectures of most operating systems Yes Some Some
Is included in all major GNU/Linux distributions Eliminated Yes Yes
Number of active developers 2+ 0 2+
Year of first public release 1996 2006 2006
Topic Commands compared
cdrecord (cdrtools) wodim (cdrkit) cdrskin (libburnia)
Has support for Blu-ray Discs Yes No Yes
Has support for most existing hardware, including models with buggy firmware Yes Some Some
Has support for DVD-9 (8.5 GB 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 No No
Supports "Disc Tattooing" CD-R and DVD media with DiscT@2-capable burners Yes No No
Supports ".inf" files for CD-audio Yes Partial No
Supports ".cue" files for CD-audio Yes Partial Partial
Topic Commands compared
mkisofs (cdrtools) genisoimage (cdrkit) xorriso (libburnia)
Has support for big files (size ≥ 4 GiB) and multi-extent files Yes No Yes
Has support for UDF filesystems (required for video DVD/BD) Yes Partial No
Has support for Rock Ridge Yes Partial Yes
Has support for sub-second time stamp granularity in Rock Ridge extensions Yes No No
Has support for microsecond time stamp granularity in UDF filesystems Yes No No
Has EFI boot support (for creating bootable media) Yes Some Yes
Has built-in Jigdo support (for creating .jigdo and .template files along with the ISO image file) No Yes Yes
Has support for a built-in POSIX-compliant "-find" option Yes No Some
Can be instructed to ignore and bypass a user supplied list of errors during image masterisation (not recommended unless used with the "-print-size" option) Yes No Yes

Distinctions with cdrkit fork

This section may need to be rewritten to comply with Misplaced Pages's quality standards, as This section is A) unreadable, and B) completely irrelevant for an encyclopedia. It belongs into the cdrecord documentation, but not here.. You can help. The talk page may contain suggestions. (December 2013)
This section may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (December 2013) (Learn how and when to remove this message)

Since the licensing change, cdrtools added numerous new features as well as bug fixes to the codebase.

The list of events in cdrtool's changelog (Softpedia mirror) documents numerous changes that make it increasingly distinct from cdrkit. These alterations cover a broad range of functionality, power, and flexibility which ranges from EFI boot to "suid" (3.01a14). See recent changes

Early additions/changes included the ability to use UTF-8, create multi extent files (> 4 GB), and create correct hard links with mkisofs — as well as burning Blu-ray Discs using cdrecord.

Error handling

By default genisoimage (and mkisofs) will stop building the ISO 9660 filesystem once certain types of errors are encountered. In order to provide the end-user with an alternative to this behavior, the developer of cdrtools included this option in mkisofs:

ERRCTL="WARN|ALL *"

Including that in the command line invocation instructs mkisofs to simply ignore ANY and all errors (issues/problems) that it encounters when accessing source files during the building process. This is particularly useful when those source files are not locally stored but instead are accessed over a network connection. This option isn't in genisoimage from the cdr-kit fork.

Additionally ...

Timestamps

UDF

Since (so-called) alpha release 13 (cdrtools 3.01a13),

UDF, supports all three Unix times with microsecond granularity in UDF

That is just one of many improvements made to handling of UDF filesystem overhead, including permissions and security.

long RockRidge times

Before that—in November 2010, with the first incremental "alpha" release after 3.00, "3.01a01"—the long-rr-time switch was added:

Mkisofs now supports sub-second time stamp granularity with Rock Ridge and the option "-long-rr-time".

Unfortunately, the Linux kernel can't read these timestamps properly and instead the epoch is displayed. This is not the case with BSD-based distros.

Compatible operating systems

This article contains wording that promotes the subject in a subjective manner without imparting real information. Please remove or replace such wording and instead of making proclamations about a subject's importance, use facts and attribution to demonstrate that importance. (December 2013) (Learn how and when to remove this message)

The current release of cdrtools can be compiled on the following operating systems, though some may require additional patches. See the official website for more information.

Version history

Project Name Preview Releases Stable Release Notes
first last version date
cdrecord Old version, no longer maintained: 1.00 1996-02-04
Old version, no longer maintained: 1.01 1996-10-04
Old version, no longer maintained: 1.02 1996-12-20
Old version, no longer maintained: 1.03 1997-05-16
Old version, no longer maintained: 1.04 1997-05-23
1.5a1 1.5a9 Old version, no longer maintained: 1.05 1997-09-15
1.6a01 1.6a15 Old version, no longer maintained: 1.06 1998-04-18
1.6.1a1 1.6.1a7 Old version, no longer maintained: 1.06.1 1998-10-19
1.8a01 1.8a40 Old version, no longer maintained: 1.08 2000-01-28
1.8.1a01 1.8.1a09 Old version, no longer maintained: 1.08.1 2000-04-27
1.9a01 1.9a05 Old version, no longer maintained: 1.09 2000-07-20
cdrtools 1.10a01 1.10a19 Old version, no longer maintained: 1.10 2001-04-22
1.11a01
2.0pre1
1.11a40
2.0pre3
Old version, no longer maintained: 2.00 2002-12-25
Old version, no longer maintained: 2.00.3 2003-05-28
2.01a01 2.01a38 Old version, no longer maintained: 2.01 2004-09-09 Version 2.01a37 contained a warning for the users of SuSE Linux. This series was the last GPL-licensed version and was used as base for cdrkit.
2.01.01a01 2.01.01a80 Current stable version: 3.00 2010-06-02 On May 2006, most parts of cdrtools were switched to the CDDL, resulting in a package containing both GPL-ed and CDDL-ed sources. However, 4 months later, the author added support for dynamic-linking.
3.01a01 Latest preview version of a future release: 3.01a22 2014-01-20
Legend:Old versionOld version, still maintainedLatest versionLatest preview versionFuture release

Forks

Software that can use cdrtools

References

  1. Clausecker, Robert (19 September 2022). "New features with AN-2022-09-18". The schilytools project. Retrieved 2022-10-16.
  2. ^ Schilling, Jörg (10 December 2017). "cdrtools 3.02a09 announcement". cdrtools.sourceforge.net. Retrieved 2017-12-21. Cite error: The named reference "latest preview" was defined multiple times with different content (see the help page).
  3. mksofs-1.11 was incorporated to cdrecord-1.5a3 on 5 July 1997 (source: AN-1.5a3)
  4. cdda2wav-0.95beta07 was incorporated to cdrecord-1.8a6 on 27 October 1998 (source: AN-1.8a6)
  5. cdrecord and its friends (mkisofs and cdda2wav) are distributed in a common package called cdrtools since 27 July 2000 (source: AN-1.10a01).
  6. ^ The license change took place on 15 May 2006, when cdrtools-2.01.01a09 was released (source: AN-2.01.01a09)
  7. "Various Licenses and Comments About Them - Common Development and Distribution License". Free Software Foundation. Retrieved 2006-12-31.
  8. Jonathan Corbet. "cdrtools - a tale of two licenses". Retrieved 2007-08-04.
  9. According to W3Techs, Redhat/CentOS/Fedora and Debian/Ubuntu dominate the GNU/Linux market with 95% market share; both of these families of GNU/Linux distributions no longer distribute cdrtools
  10. ^ Support for dynamic-link libraries was added to cdrtools on 18 September 2006, when cdrtools-2.01.01a15 was released (source: AN-2.01.01a15)
  11. "#377109 - RM: cdrtools -- RoM: non-free, license problems - Debian Bug report logs". Retrieved 2007-08-04.
  12. "Information for build cdrtools-2.01-11.fc7". Retrieved 2007-08-04. moved back to version 2.01 (last GPL version), due to incompatible license issues
  13. "[Fedora-legal-list] Legal CD/DVD/BD writing software for RedHat and Fedora".
  14. OpenSuSE 10.3 release notes
  15. "Mandriva Cooker : The Inside Man V". Retrieved 2007-08-04.
  16. "cdrkit (fork of cdrtools) uploaded to Debian, please test". Retrieved 2007-08-04.
  17. "Minutes from the Technical Board meeting, 2008-08-26". Retrieved 2008-09-15.
  18. ^ mkisofs(8) man page.
  19. ^ cdrecord(1) man page.
  20. readcd(1) man page.
  21. cdda2wav(1) man page.
  22. ^ genisoimage man page.
  23. ^ wodim man page.
  24. readom man page.
  25. icedax man page.
  26. ^ xorriso(1) man page.
  27. ^ cdrskin(1) man page.
  28. Most GNU/Linux distributions stopped distributing cdrtools after the license change. See section #The_licensing_issue.
  29. Support for capability-based security was added on 22 April 2013 with the release of cdrtools 3.01a14. (Source: AN-3.01a14)
  30. No support for hidden tracks and other features introduced since 2004
  31. Snippet from the genisoimage 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.»
  32. «xorriso does not produce UDF filesystems which are specified for official video DVD or BD.» Source: xorriso overview and xorriso(1) man page.
  33. genisoimage 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.
  34. The time stamp granularity with Rock Ridge extensions in mkisofs is 1 centi-second with the "-long-rr-time option (enabled by default), and 1 second with the "-short-rr-time" option. The "-long-rr-time" option appeared with cdrtools 3.01a01 on 24 November 2010 (see AN-3.01a01). Warning: Linux systems can not handle sub-second time stamp granularity in Rock Ridge extensions and show 1 January 1970. This is why Linux users creating iso images with Rock Ridge extensions but without an UDF filesystem are advised to use the "-short-rr-time" option.
  35. The time stamp granularity in UDF filesystems created with mkisofs is 1 microsecond.
  36. EFI boot support in mkisofs is available with the "-eltorito-platform efi" option.
  37. EFI boot support in genisoimage is available for Fedora/RHEL/CentOS (with an -E option). But it is missing in the non modified genisoimage.
  38. 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 jigdo-file command.
  39. An external POSIX-compliant find command can of course be used with genisoimage, but if the length of its output exceeds the maximum command line lengh, then genisoimage will not get the complete list of files.
  40. The -find option of xorriso is not POSIX-compliant and its syntax is very different from that of the find Unix command.
  41. Error control in mkisofs may be specified with the "errctl=" option.
  42. cdrtools ("cdrecord" sic) changelog, page 2 " 3.01a13 26 Feb 2013 19:17"
  43. cdrtools ("cdrecord" sic) changelog, page 2 " 3.01a01 25 Nov 2010 12:35"
  44. ^ Support for SunOS-4.1.3 or later, 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 cdrecord-1.5a1.tar.gz)
  45. Support for FreeBSD was added on 5 July 1997 to cdrecord-1.5a3. (Source: AN-1.5a3)
  46. ^ cdrecord 1.05, released on 15 September 1997, was the first stable release to support *BSD (FreeBSD, NetBSD and OpenBSD), IRIX and HP-UX.(Source: AN-1.5)
  47. ^ Support for NetBSD and OpenBSD was added on 8 July 1997 to cdrecord-1.5a4. (Source: AN-1.5a4)
  48. Support for IRIX was added on 26 August 1997 to cdrecord-1.5a6. (Source: AN-1.5a6)
  49. Support for HP-UX was added on 1 September 1997 to cdrecord-1.5a7. (Source: AN-1.5a7)
  50. Support for AIX was added on 29 November 1997 to cdrecord 1.6a7. (Source: AN-1.6a7)
  51. Support for BSD/OS was added on 23 August 1998 to cdrecord 1.6.1a1 with a new SCSI transport code. (Source: AN-1.6.1a1)
  52. Support for OSF-1 was added on 6 October 1998 to cdrecord 1.6.1a4. (Source: AN-1.6.1a4)
  53. cdrtools builds without any patch on AmigaOS since 18 January 2002. (Source: AN-1.11a13)
  54. Support for DragonFly BSD was added on 30 January 2006 to cdrtools 2.01.01a05. (Source: AN-2.01.01a05)
  55. cdrtools builds without any patch on Debian GNU/kFreeBSD since 15 August 2012. (Source: AN-3.01a08)
  56. cdrtools builds without any patch on Windows NT with Cygwin since 23 August 1998 (source: AN-1.6.1a2) as well as with MinGW since 4 January 2014 (source: AN-3.01a08).
  57. "SuSE Linux is known to ship bastardized and defective versions of cdrecord. SuSE is unwilling to cooperate with the authors"
  58. Schilling, Jörg (18 May 2010). "cdrtools 3.00 release announcement". Retrieved 2010-05-18.
  59. Schilling, Jörg (2 June 2010). "cdrtools 3.00 release notes". Retrieved 2010-06-02.

External links

Optical disc image software
Cross-platform
Windows
macOS
Unix-like
Categories: