From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-devel-bounces+larch=yhetil.org@gnu.org>
Received: from mp0 ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms11 with LMTPS
	id wPCnKa1q5F+1WQAA0tVLHw
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Thu, 24 Dec 2020 10:17:17 +0000
Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp0 with LMTPS
	id aPl/Ja1q5F8MEAAA1q6Kng
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Thu, 24 Dec 2020 10:17:17 +0000
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id 6C703940418
	for <larch@yhetil.org>; Thu, 24 Dec 2020 10:17:15 +0000 (UTC)
Received: from localhost ([::1]:48760 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	id 1ksNgI-0000Cu-7v
	for larch@yhetil.org; Thu, 24 Dec 2020 05:17:14 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:50190)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mhw@netris.org>) id 1ksNfw-0000Cm-7Q
 for guix-devel@gnu.org; Thu, 24 Dec 2020 05:16:52 -0500
Received: from world.peace.net ([64.112.178.59]:54346)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mhw@netris.org>) id 1ksNfu-0002ZE-BA
 for guix-devel@gnu.org; Thu, 24 Dec 2020 05:16:51 -0500
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <mhw@netris.org>)
 id 1ksNfr-00084t-MO; Thu, 24 Dec 2020 05:16:47 -0500
From: Mark H Weaver <mhw@netris.org>
To: Raghav Gururajan <rg@raghavgururajan.name>, guix-devel@gnu.org
Subject: Re: Linux-Libre-LTS
In-Reply-To: <cc0da93a-f58d-339a-f771-87d363725a80@raghavgururajan.name>
References: <cc0da93a-f58d-339a-f771-87d363725a80@raghavgururajan.name>
Date: Thu, 24 Dec 2020 05:15:45 -0500
Message-ID: <877dp7ik5v.fsf@netris.org>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=64.112.178.59; envelope-from=mhw@netris.org;
 helo=world.peace.net
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: guix-devel@gnu.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: "Development of GNU Guix and the GNU System distribution."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=subscribe>
Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org
Sender: "Guix-devel" <guix-devel-bounces+larch=yhetil.org@gnu.org>
X-Migadu-Flow: FLOW_IN
X-Migadu-Spam-Score: -0.83
Authentication-Results: aspmx1.migadu.com;
	dkim=none;
	dmarc=none;
	spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org
X-Migadu-Queue-Id: 6C703940418
X-Spam-Score: -0.83
X-Migadu-Scanner: scn0.migadu.com
X-TUID: usj9787UQQmO

Hi Raghav,

Raghav Gururajan <rg@raghavgururajan.name> writes:

> I think it is good to have a package-variable "linux-libre-lts", as 
> mentioned in the table at https://jxself.org/linux-libre/
>
> This way, users don't have to remember and change the version numbers in 
> their operating-system-configuration or package-manifest, whenever there 
> is new LTS release.
>
> Thoughts?

I have one concern.

It seems to me that the main reason to specify an LTS kernel is to avoid
the unscheduled breakage that can occur when updating to a new kernel
release series (i.e. to a new major+minor version).  Using
"linux-libre-lts" would fail to avoid these unscheduled updates; it
would merely reduce their frequency.

The only way to reliably avoid unscheduled major+minor kernel updates is
to specify "linux-libre-5.10" or similar.  The cost of this approach is
trivial: editing a few characters in the OS configuration when one
wishes to update to a newer LTS series.  The benefit is that the user
gains control over when these updates will happen, and thus when any
associated breakage will occur.

To my mind, the benefit of this approach is so compelling, and its cost
so trivial, that I can hardly understand why anyone who wishes to use an
LTS kernel would choose otherwise.

If we add "linux-libre-lts" to Guix, I worry that some users would use
it without understanding what they are sacrificing, and later get burned
by breakage when we modify its binding next year, or in some future
year.

A user who does not understand Guix in depth might reasonably expect
that when choosing "linux-libre-lts", upgrades to a later LTS series
would be postponed until the user gives explicit consent.  In theory,
Guix could be modified to behave this way, although I doubt it would be
worth the added complexity.  In any case, since it *could* be done, a
user might reasonably expect it.

If the goal is to solve the problem of users forgetting to update to
newer LTS kernels, I suggest exploring other approaches.  Perhaps we
could implement some system where Guix provides periodic reminders to
consider upgrading, when an older LTS kernel is specified in the OS
configuration and a newer LTS is available.  There'd need to be a way to
silence the warnings though.

What do you think?

      Regards,
        Mark