Util-linux 2.35 Is Released With hwclock Re-Licensed To GNU GPL v3

From LinuxReviews
Jump to navigationJump to search

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."

DATACOM asset on the LKML
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."

Eben Moglen, then General Counsel of FSF,
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/.

(0 votes)

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.