From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OCmvA6UvtGMDSQEAbAwnHQ (envelope-from ) for ; Tue, 03 Jan 2023 14:37:41 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id GAq8A6UvtGMGeQEA9RJhRA (envelope-from ) for ; Tue, 03 Jan 2023 14:37:41 +0100 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 AB2D023511 for ; Tue, 3 Jan 2023 14:37:40 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pChTd-0008Pw-Oy; Tue, 03 Jan 2023 08:37:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pChT3-0008Cj-Dg for guix-devel@gnu.org; Tue, 03 Jan 2023 08:36:41 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pChT1-0006YF-IE for guix-devel@gnu.org; Tue, 03 Jan 2023 08:36:37 -0500 Received: by mail-wm1-x336.google.com with SMTP id g10so8872239wmo.1 for ; Tue, 03 Jan 2023 05:36:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3/vgl/AY6nUaucI7LnnYaYniKJuin+A4XBlIqN9KKr4=; b=aZyEOfMozgyHVzdEqV3yibtP42EsjJiJTnaTwCGnEtnOEWRVmqPhku6rDDzGOJ+EjJ SeoDj8pBOX6BXflqg+VA0rcam6V5u5WMnnQNvLZvDrhq+sQJIRWtvYBEEyRkeqx3rOy7 Do4/N7/Gpd/W4+pmIYYrNBL9boKxgbmxmwO/OtWAtMvqrk1EJhjQTO1cVxdLokEllWz3 C7hl8uskdpWZw3nV9epCY4NJQlHHbD25NLzN6ZOk0GobpaVImolQAQb+1vh0472xVByG zCCawPPzPLe8tFf0xdVsQKyUJQzHMVELFBCdofN4G194295dmxQsoN/PUcS+jv03QLt4 GyyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=3/vgl/AY6nUaucI7LnnYaYniKJuin+A4XBlIqN9KKr4=; b=TtQVU/ywZJc4Kjl4C6SbgPpZWnyPt/pTUWK9niMj9nWKp2Q3J+KYF5voRB6psxzkm0 iF/OEduhRyKJT7Q6Y1sf0J1801bVpEBPW+0bkA+1oWkvC2xj2WkjQIuyf2b5xeML5/51 jhOpa0Awmut2tCtalb3mR+IHMpoaV7L2rMUUqHOqpWkDN5L0h9xsN68hriskg4kP86Dz SMasAWdzh2Qn+9THqw4HICcsm3cS7D9H6OU6/5KxQsXwDiGBP1eEHhgns+sfgw3GkUPd 5gYQjL5IGzK87Ltz11RmGcVvLvJMipuZ6FZdAbr4rgvhnm/tvz0/cZJxjch7GLtXCrYx 2yNw== X-Gm-Message-State: AFqh2kp4CAmRDljxmVe7phXkjWknwC0jD8ptAou+qFPOiOfg2XxUWHop tYNt50CYEux1P4VVyN2YtuxiJhWsaAU= X-Google-Smtp-Source: AMrXdXsb/BvIR8p1AcmDJjjQg6dmwl1p9N4ENJay4ql7J7TbBf0TCv+kJiLtp+1gWkfbQL3Z6IIgiA== X-Received: by 2002:a05:600c:5108:b0:3cf:e850:4444 with SMTP id o8-20020a05600c510800b003cfe8504444mr8487712wms.1.1672752993465; Tue, 03 Jan 2023 05:36:33 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id p12-20020a05600c468c00b003cf57329221sm46585062wmo.14.2023.01.03.05.36.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jan 2023 05:36:32 -0800 (PST) From: zimoun To: jgart , guix-devel@gnu.org Subject: Re: Stratification of GNU Guix into Independent Channels In-Reply-To: <84400bcea3eee39dc15d82812a8006bb@dismail.de> References: <84400bcea3eee39dc15d82812a8006bb@dismail.de> Date: Tue, 03 Jan 2023 14:26:57 +0100 Message-ID: <86zgaz7nq6.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1672753060; a=rsa-sha256; cv=none; b=uJ4wxtCvVnbllKgBMTbDjfoV5UdDGDvX7uNbUo2o5G83QEJjm1H4YXhRGtsbxMlNvHfAIE McOQ1RR+M7ETy/ZQnnMB+u04fqQbQuLVE77jLcqyaYZjZnKtFPjwlKPC1kj80YvSfi5j1o txSr/eZn4N674fkRMzfVUX+f6rvLXH2e+x7NHP3HOuPWLtejihPXUTmObiSIy6dKZ8njyF wmFziwqkEtHD+yRBL5ejRYkoufRwq/pAIcgKIWnSLlyc90dX9U892uuBuVgCcgskNf3xf0 228yzBGQYVo9XpsmZaGaMT1rApVxggkcEg/QJL9ruahMj+dyo+qzq3GNEYbXRA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=aZyEOfMo; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1672753060; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=3/vgl/AY6nUaucI7LnnYaYniKJuin+A4XBlIqN9KKr4=; b=ElWBB4GXfQ02mcDxOVAXI8G3uwFrcjwmyDcd2hScW8F4UDbTtwhKLeL9XhPAbABw/1FwEy hl5NMFdB4TsITz9LBcdOvCHM40Lm65LovsTBgr3wsad/LWZ5EuCtGt0xG85VFpW5DTi1GS bFUuguT9ltXoXEmQYDr/zsX40rHMwazyUzKqRCdBse15DCHgo87e6usWdjYddzRa6DeLPI PHEuO+44Rf7OYmKZjX1gWTQ+WfPiNt1utst2iVmTk/wSY0jieTSJ6eMFbsLbJyn2dSuIjB dheu46YdCdZfhphAWxVk/nUD0cb0+pTS2+D++2LBwong9GWnPBMNB2nuEUPc/Q== X-Spam-Score: -7.47 X-Migadu-Queue-Id: AB2D023511 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=aZyEOfMo; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -7.47 X-TUID: cOwcaNH3sV/+ Hi, On Sat, 24 Dec 2022 at 03:49, "jgart" wrote: > Users could then decide what channels they'd like to subscribe to/opt > in to by adding any of the following channels as they please:=20 > > python-channel > rust-channel [...] > etc... > > The above channels would still be maintained under the auspices of > GNU.=20 > > What do you think would be the pros and cons of the stratified > approach versus the monorepo approach that we currently have? The Big cons is about maintenance. It is possible to have a look at the complete current state [1] but it would be hard, if not impossible, when using many many many channels. When using other channels [2], time to time it breaks. Somehow, you have a combinatorial problem. Consider that some Git tools are part of one channel and for instance Julia packages are part of another channel. The update of Git from its channel could have an impact on the packages defined in some other channels; for concrete case: Git update from 2.38.0 to 2.38.1 breaks julia-documenter [3]. Using few channels, it makes doable to tackle such issues (guix refresh, guix graph, etc.). Using many many channels, it makes it hard to detect; although CI and QA are improving a lot and for sure they can help, the situation is not good enough yet, IMHO. Moreover, many channels would be dependant from one to the other. Give a look at (gnu packages python-xyz). If the packages defined here would become the channel =E2=80=99python-channel=E2=80=99 then this =E2=80=99pyth= on-channel=E2=80=99 would depend on many others =E2=80=93 this (gnu packages python-xyz) module requi= res 103 other (gnu packages =E2=80=A6) modules. Concretely, the split would be a painful, boring and tedious work where I am doubtful about the practical outcome. >From my point of view, solutions for improving the situation of =E2=80=9Cgu= ix pull=E2=80=9D are: + more modular; maybe split *package-modules* in (guix self) =20 + transform subcommands as extensions; here we would have a better control for the Guix feature dependencies via the Scheme API 1: 2: 3: Cheers, simon