From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id cN7VEuiApmNs/gAAbAwnHQ (envelope-from ) for ; Sat, 24 Dec 2022 05:32:40 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id OPTFEuiApmOyQwAAauVa8A (envelope-from ) for ; Sat, 24 Dec 2022 05:32:40 +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 0F18C31E7D for ; Sat, 24 Dec 2022 05:32:40 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p8wCd-0000Ez-Qc; Fri, 23 Dec 2022 23:32:07 -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 1p8wCS-0000CS-Gk for guix-devel@gnu.org; Fri, 23 Dec 2022 23:32:00 -0500 Received: from cascadia.aikidev.net ([2600:3c01:e000:267:0:a171:de7:c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8wCP-0004jp-Sn for guix-devel@gnu.org; Fri, 23 Dec 2022 23:31:55 -0500 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:7:77:0:20]) (Authenticated sender: vagrant@cascadia.debian.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id B2B881AC50; Fri, 23 Dec 2022 20:31:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=debian.org; s=1.vagrant.user; t=1671856308; bh=+aRQZADYk+NBrJHNAu3i6IEKpuhkffOyHN0z4hFEeIU=; h=From:To:Subject:In-Reply-To:References:Date:From; b=Vo3yq3Gy82k2SEYcO8xxL6V5mUY21vFdT4A930aj0VuQ2vM6DoRyNTHAY2btKXftD M4sataoRHvTD5EZxtencdIADYoBN53WTkfn72K1g8oZXxnc8gyZtWmNLCPfxMFiCd3 l13avYcFfOvWnES5b1BGbKoSKng/09fyFZ3SrPvu6ceORDIVFuzZ2UfHub9E4Y2WZH /ZaHgf3hJvWTWwdKdCrnRUmw4wHMmJF3BZ5p2c+ikS/c9aW1SM6ohEel/a4JR5888A vKFax/LTHkvgh4AV4t+DFp12cRgrcWVPJnFk7EnsM11/yud0OI69dTd0q72SZBhhOt fG8ORBRMlVTRg== From: Vagrant Cascadian 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: Fri, 23 Dec 2022 20:31:43 -0800 Message-ID: <87cz894e34.fsf@contorta> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: none client-ip=2600:3c01:e000:267:0:a171:de7:c; envelope-from=vagrant@debian.org; helo=cascadia.aikidev.net 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=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-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1671856360; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=H79kW0Ri4M9TVoSi+Oy7Q8nNRWUhOjdO/6fnyLR7N9o=; b=i0SCT9ioxqGlOSYopORrw7Y5D5meT7SxhKlrT/Mf7yC79SCj5QqBPQkBNngvwZNe3m5/Fb MAEySWwIkxs0KfkW38GJdDoscz7rISMOlefJgOk7rR5ao7Owk7uT2/8JP1fWAiqFvQ11Py SrUCTk30TRDRHCSzR2+Dnp1X2it+EE5MmN1uvVkdiUlnVogi+N9Wpvy6+esCRik9ZYrVIb AKLT2RUgP3+QSgadY7vqAKHpHwn+avBsYoUDLRNwUDozkoLyJD00BneN2ZlYDphOR5PAPw z3pKJqku2jcFrrFTC1JL7qnXUMZFf2GVh5rroZF2o35mfmyKMoyiZ0vjmUInSA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=debian.org header.s=1.vagrant.user header.b=Vo3yq3Gy; 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=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1671856360; a=rsa-sha256; cv=none; b=TVnrIx8NfzrnFHoDW4i4fD48XylMkMkO1duTCV6+o7JFFAp5Ee6wa6/mLC81tySy6ucTvi 8mGe5GjDpbrqU59ZaMNB02lLUHnt3ogDHqG3hF8N6E663somTBvkgrWm9ItePrt9KgVZgd iUqcrbMQFx2AnyEN8zgZ6nZJjIyH/yyvuSYICRcjL7Z8IlhfUF06oGogfMLdhjN9bME8l4 eN4aiYttwZnqzNR/HFxGShM4uq3FhcAe1THBFuKpmnoeffxQmsQu+lnG5QEmcTTNt5fqoI Gxp6HDEKC3JN42zw0IpS4CpvZiIw+dak5EuBcEfZkplMluQTgGOY08E95QffrA== X-Spam-Score: -7.87 X-Migadu-Queue-Id: 0F18C31E7D Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=debian.org header.s=1.vagrant.user header.b=Vo3yq3Gy; 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=none X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -7.87 X-TUID: Td6lHsSs03Er --=-=-= Content-Type: text/plain On 2022-12-24, jgart wrote: > I wanted to ask you what are your thoughts on this idea. This is a > thought experiment at this stage. > > Should GNU Guix be a small core of packages (and services?)? > > For example, GNU Guix would be a core channel containing the reduced > binary seed bootstrap and a few other core packages to bootstrap the > system. That's it. Users subscribe to this channel to get started. I definitely am excited and hopeful to think this *could* be possible! > 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: > > python-channel > rust-channel ... > scheme-channel > etc... > > The above channels would still be maintained under the auspices of GNU. > > What do you think would be the pros and cons of the stratified > approach versus the monorepo approach that we currently have? The pros would be only having to pull the small bits you actually want, and that could be faster to run "guix pull". This would certainly make it much easier to package a "core" subset of guix for other distros (e.g. I work on packaging guix in Debian) that having to package the whole entire guix universe. I suspect the "small bootstrap core set" to eventually pull in quite a bit of other things, and continually be at risk of needing to pull in more things... You would probably need to have inter-channel dependencies... which makes me wonder how many cyclic dependencies might result... git alone pulls in dependencies for perl, python, git, subversion, openssl ... and what is the dependency cycle for each of those? Guix apparently can generate pretty charts for this stuff, though I have yet to try. :) I have the (perhaps mininformed) impression nix has a split more along these lines with the core of nix being one thing, and then collections of packages being other repositories. > GNU Guix proper would be a solid core of packages that is very easy to > maintain. This would greatly reduce the maintenance burden since > maintaining a world of rust, golang, or python packages is opt in by > those who want to do that particular work. If it is possible, it seems likely to make releasing more regularly and less stressfully... > Would being subscribed to just the hypothetical small core channel in > this proposal increase download/installation speeds given the > availability of substitutes? I suspect it would significantly increase guix pull speeds, at the very least. live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCY6aAsAAKCRDcUY/If5cW qqcaAP4p1EslAaE9MWq85BMpp1rfIGi79HwxcPB2guoNf6aFNAD8DA07m5PVxlVI 0xA8OUon/heAJgRE9vnwzZWdC3zm8gY= =Okns -----END PGP SIGNATURE----- --=-=-=--