Util-linux 2.35 Is Released With hwclock Re-Licensed To GNU GPL v3
The Linux utility package util-linux provides a number of core programs that are essential to any GNU/Linux distribution. It provides tools like dmesg
, hwclock
, kill
, lscpu
, man
, mount
, mkswap
, su
and a lot of other basic tools. The list of changes since 2.34 was released is quite long. One of those changes is barely mentioned: hwclock has been re-licensed to GNU GPL v3.
written by Öyvind Sæther 2020-01-25 - last edited 2020-01-25. © CC BY
My close-up inspection of hwclock-parse-date.c reveals that is is not dual-licensed, it is only available under the GNU GPL version 3.
The release notes for util-linux 2.35 causally mention that the documentation is changed to "add GPLv3 text". The full text of the The GNU General Public License Version 3 is indeed added as a file called COPYING.GPL-3.0-or-later
in Documentation/licenses/
.
That change does not magically re-license the entire existing util-linux codebase to the GNU GPL v3 license.
All the files in util-linux have a SPDX-License-Identifier statement clarifying the license of the particular file in the header. A close-up inspection of the entire util-linux 2.35 codebase reveals that there are only two files licensed under the GNU GPL v3 in the entire package: sys-utils/hwclock-parse-date.c
(auto-generated) and sys-utils/hwclock-parse-date.y
. sys-utils/hwclock-parse-date.y
is a modified version of parse-datetime.y
from GNU gnulib. parse-datetime.y
is only available under the GNU GPL v3 license which makes modified versions subject to the GNU GPL v3 as well. The inclusion a GNU GPL v3 licensed file in hwclock
makes hwclock
a GPL v3 licensed utility as of this release.
The Linux kernel "has _always_ been under the GPL v2" and util-linux has, so far, also been available under the GNU GPL v2. This is no longer true as far as hwclock
is concerned.
An employee at the Brazilian telecommunications equipment manufacturing corporation DATACOM has raised concerns regarding hwclocks license change:
"That's a problem. It makes hwclock hard to include in embedded systems due to the GPLv3 restrictions."
replying to "[ANNOUNCE] util-linux v2.35"
January 24th, 2020
Most of the changes between the GPLv2 and the GPLv3 licenses were made to stop hardware manufacturers from including free software in devices which prevent users from changing the software running on them.
"Our goal is to make clear that GPL'd software may not to be used to create forms in which tinkered versions will not run or will not run for the same purposes and on the same data. It is fine, as Richard says, with us for people to use our software for purposes that do not attempt to turn the mechanisms of freedom against itself, but when the mechanisms of freedom are used to create unfreedom it goes further than the GPL can possibly be expected to follow and we will not go there."
at the first international GPLv3 conference
January 16th, 2006
Corporations who want to use free software and restrict their users will have to use an older version of hwclock
or use something else to sync the system clock with the hardware clock.
The rest of the changes in util-linux 2.35 are small and trivial.
dmesg
, which prints the contents of the kernels ring-buffer, is provided by the util-linux
package.
dmesg
supports a new --noescape
option which disables its default filtering of unprintable and potentially unsafe characters.
kill
has a new --timeout
option which uses the kernels pidfs
feature.
script
has many new logging features for logging signals, stdin and other session information. That information can be extracted using scriptreplay
. There is also a new scriptlive
command for re-running session typescripts,
mount
(and libmount) have gained built-in dm-verify
support. This is optional for now, util-linux needs to be configured with --with-cryptsetup
to enable that feature. mount
ahs also a new --target-prefix
option for mounting files listed in fstab
to alternative locations. This can be handy for those working with containers or chroots. mount
can also combine -o
with --all
as of this release.
lsblk
has two new columns: File system version (FSVER) and partition type (PARTTYPENAME).
sfdisk
, a utility for manipulating disk partition tables, is no longer using fsync during data moves as of this release. That potentially unsafe new default can be disabled with a new -move-use-fsync
option. There is also a new progress bar for its typically time-consuming --move-data
feature.
The source for util-linux 2.35 is available at kernel.org/pub/linux/utils/util-linux/v2.35/.
Enable comment auto-refresher