From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id UPjcB/t2pmM4RgAAbAwnHQ (envelope-from ) for ; Sat, 24 Dec 2022 04:50:19 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id wBijBvt2pmNLIQEAG6o9tA (envelope-from ) for ; Sat, 24 Dec 2022 04:50:19 +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 906CB12B5A for ; Sat, 24 Dec 2022 04:50:18 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p8vXY-0005mw-Kj; Fri, 23 Dec 2022 22:49:40 -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 1p8vXW-0005me-Uj for guix-devel@gnu.org; Fri, 23 Dec 2022 22:49:38 -0500 Received: from mx1.dismail.de ([78.46.223.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8vXU-0005Pm-VC for guix-devel@gnu.org; Fri, 23 Dec 2022 22:49:38 -0500 Received: from mx1.dismail.de (localhost [127.0.0.1]) by mx1.dismail.de (OpenSMTPD) with ESMTP id 2de297b9 for ; Sat, 24 Dec 2022 04:49:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=dismail.de; h= mime-version:date:content-type:content-transfer-encoding:from :message-id:subject:to; s=20190914; bh=gHNSh0qDogX9rSlkkPlfQYqEp Hpug4xErNlLdpL/ZlU=; b=FRS4SnvG87VVF3DNNbtaqTuUaicfxls9B9alE8emb /nTHs6pgynByyFcPLXrdWG6SVDZuSR3XngKbgAgtYZiX9Ek8WR5IE5BR/ktJ0oJg 9CrOkSAl3OWXx6NGlwvve4ihbr2yFNOqxs9fRO6L51rNSjO+ryFN4m1/d2/TyZEA 3+FWss41XxHDF3szsifEqm//OHqYWucvpmNCjxM7Q32llG7popBQG3K65Q+ahCyU vEDrl8OcYeZKYRtJ2nuC3HBiG3dRKt6IvMVAiUjfdnbmsxyrrD7PGKp3NteHEk35 ot582Ri9Di8KLzk3EJDL8SyROxM7vhoT39vIVQ2eYlMfg== Received: from smtp1.dismail.de ( [10.240.26.11]) by mx1.dismail.de (OpenSMTPD) with ESMTP id 95db2577 for ; Sat, 24 Dec 2022 04:49:31 +0100 (CET) Received: from smtp1.dismail.de (localhost [127.0.0.1]) by smtp1.dismail.de (OpenSMTPD) with ESMTP id ba812a33 for ; Sat, 24 Dec 2022 04:49:31 +0100 (CET) Received: by dismail.de (OpenSMTPD) with ESMTPSA id 6743d3eb (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for ; Sat, 24 Dec 2022 04:49:30 +0100 (CET) MIME-Version: 1.0 Date: Sat, 24 Dec 2022 03:49:30 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: RainLoop/1.16.0a From: "jgart" Message-ID: <84400bcea3eee39dc15d82812a8006bb@dismail.de> Subject: Stratification of GNU Guix into Independent Channels To: guix-devel@gnu.org Received-SPF: pass client-ip=78.46.223.134; envelope-from=jgart@dismail.de; helo=mx1.dismail.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, 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=1671853818; a=rsa-sha256; cv=none; b=qFfZrst4TJN5pUPttb9+52EEBa6qToUkd+ISHFKw5WR9fllj6TwqwG6dF+KXQWnTZM6ANm h8hIJtnR1YhchUMloLfB6CTFDgiFpJ9MR0AW4vX7OJBFgfxmpwc7ijwL15rXWLDfe83tCD l9N3SdJIDLDQX9jSQ1H8EyTHbjLBEtATJG4ThEVwM236H/kzTJMEe7xnaH1NJvrO+PI484 /0OHX0dcb0FPzbkPKNg1AvbtGBx0XdRLv6xB2WtSMs+bZWGEb6R5fJ0fB+jawKCpVDjvm6 mSf1UOivER/HPrkKR9gqAvw2N1ubdt21bF0YDuzpbIRWf/LRAUCBPxkBq9E6zw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=dismail.de header.s=20190914 header.b=FRS4SnvG; 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=reject) header.from=dismail.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1671853818; 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:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=gHNSh0qDogX9rSlkkPlfQYqEpHpug4xErNlLdpL/ZlU=; b=mGTOq+M+2EvjV0rh/FQoOLsl1UBrmsRxc8lufaFhbXqRs8B7fzCILXlysPth5N5REuFDbz fTRLFsInzonPubauTv01+/gNXsWdGOGXadRi3kltXRB1uapfBaVf8QepwLQrbsDLBZKKO8 sVUfI9lAGYhn1Ci6XiVQA9L4aaT5TCPqCg4aDVxQmHxWPtxszjkRYdAt3NmvPfbaNQRKI1 1et2HNP3hHiA5hKzmbjyp5DY5NHD6A2pVuUxzqiX+rMcElqCVd0D+T6RmxBMKCJOOpGFe1 X+9AmShzZsEyx5L/XepumfQJ5Zv7/zuEcfH7iHyUOq511FHM5aRVkzYl85EBgA== X-Spam-Score: -8.05 X-Migadu-Queue-Id: 906CB12B5A Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=dismail.de header.s=20190914 header.b=FRS4SnvG; 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=reject) header.from=dismail.de X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -8.05 X-TUID: cSAaJJ22P+pG Hi Guixers, I wanted to ask you what are your thoughts on this idea. This is a though= t 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 bina= ry seed bootstrap and a few other core packages to bootstrap the system. = That's it. Users subscribe to this channel to get started. 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 lisp-channel node-channel ocaml-channel clojure-channel chicken-channel go-channel haskell-channel erlang-channel elixir channel (maybe elixir and erlang are together in one channel) elm-channel gaming-channel texlive-channel ruby-channel linux-channel (kernel) java-channel emacs-channel vim-channel perl-channel php-channel julia-channel r-channel dlang-channel purescript-channel mozilla-channel chromium-channel browsers-channel coq-channel agda-channel idris-channel kde-channel gnome-channel xfce-channel enlightenment-channel pantheon-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 v= ersus the monorepo approach that we currently have? This is mostly a thought experiment as implementing something like this, = I imagine, would be quite ambitious and radically different from the appr= oach we are currently following.=20 I'm=20curious to know what the community thinks about the stratified appr= oach. I'm also curious to learn more about the history of why we chose th= e monorepo approach. Are there any references that I can read for the lat= ter? Here are some pros I can foresee with the stratified approach. Pros =3D=3D=3D=3D=3D=3D=3D=3D=3D GNU Guix proper would be a solid core of packages that is very easy to ma= intain. This would greatly reduce the maintenance burden since maintainin= g a world of rust, golang, or python packages is opt in by those who want= to do that particular work. Users can opt out of certain channels. For example, there might be some u= sers that want absolutely no rust or some other language or ecosystem of = packages from being downloaded on their machine for whatever reason. Same= goes for any other languages. Would being subscribed to just the hypothetical small core channel in thi= s proposal increase download/installation speeds given the availability o= f substitutes? WDYT