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 ms0.migadu.com with LMTPS id oNyRMkedNWJvCAAAgWs5BA (envelope-from ) for ; Sat, 19 Mar 2022 10:07:19 +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 GIMCMEedNWL3AQAA9RJhRA (envelope-from ) for ; Sat, 19 Mar 2022 10:07: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 783533B16D for ; Sat, 19 Mar 2022 10:07:19 +0100 (CET) Received: from localhost ([::1]:35794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVV3N-0002X4-SK for larch@yhetil.org; Sat, 19 Mar 2022 05:07:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVV35-0002Ww-Vc for guix-devel@gnu.org; Sat, 19 Mar 2022 05:06:59 -0400 Received: from [2a00:1450:4864:20::644] (port=39698 helo=mail-ej1-x644.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVV34-0003vx-AQ for guix-devel@gnu.org; Sat, 19 Mar 2022 05:06:59 -0400 Received: by mail-ej1-x644.google.com with SMTP id dr20so20718539ejc.6 for ; Sat, 19 Mar 2022 02:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=Nd/3LseEWZfVsWLrO6Bx/hSpv/Ct0TQliP5ENFYGD/0=; b=SHchgwAfF586RDRSoUFL3dnClisK2b7qqM6CHN+EkF5QzrhYB6nDeskMb1v8kN/n/d nB+COedNykyXPR5NTqgBewS3w1p8lzMAnJp2Rn1bJwp6ecnXwU7p4i4i291juSrwzmzN yegcNgaB0dHxnYmed/wHhigkklMAPFIkKD7IH+MzCaVQEWpCRr6oSR0NqopKcnBWjJ9A 9M2OHrE6HxfOAtuiRfqJ2ixTC/edVyLeaasyhw9EoXS4XPXIZ5jnfD7AFdCif1EQ0Ddt cnQAluk8dLWBbTXIYejMhyu6FLotUzuPpZEBKJJJSYVfmSf/fooTxdbUFe7+oZNIFoC4 07Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=Nd/3LseEWZfVsWLrO6Bx/hSpv/Ct0TQliP5ENFYGD/0=; b=fXcceGWwi1dy5aEFm/MqFwc8UpvVF26zwhNKLRtnyF4qJDrVXE9UTfRddPWScQepPq 3KQnOkPyZJE2Vsppa/MAc9lIX+m4SMqTePftYkIqpt0j+4xaBb0oZvgJsTJ7t0DglL6l L3Tj1naBRjSW4zvTqql1ObGtWJoy4orE5P5SKXfnp7UvRAzz35+OfEZoU0Z9U7hT6gmY 8ykeeDQb/gkaC/mjDzsPGm+56S6repY5MURTKSFk0wCz8hD7zjon3RuAoexVWGXfgWQ1 PfPjCZtHMQ2J+6ciX1VVJfFw77L3CMFLeHoooxZaLVEJGmWs8lS/3ylShJ32Z9/b8M6C +xwQ== X-Gm-Message-State: AOAM530UUUFWAN7QYjAeGhhzWJcjcEj8gqHT+LwEQyhWr8tvdX1vzQEw nh0GEkaP2W0lcCzuyfhGTXY= X-Google-Smtp-Source: ABdhPJxQdW6zXityKXuLjxjADlwKlLAN1R2ynxLq2kUUEKaWV+y8jg0dB8qFSunBf45S0lNUg9eLxg== X-Received: by 2002:a17:907:7284:b0:6df:9120:d935 with SMTP id dt4-20020a170907728400b006df9120d935mr11145747ejc.276.1647680815650; Sat, 19 Mar 2022 02:06:55 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id n9-20020a05640205c900b00418d79d4a61sm5577630edx.97.2022.03.19.02.06.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Mar 2022 02:06:55 -0700 (PDT) Message-ID: <70e65f6536e4addfb133e523b00043214b845ec2.camel@gmail.com> Subject: Re: Guix as a system vs as an end-user dev tool (re: Building a software toolchain that works) From: Liliana Marie Prikler To: Ryan Prior , Guix Devel Date: Sat, 19 Mar 2022 10:06:53 +0100 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::644 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::644; envelope-from=liliana.prikler@gmail.com; helo=mail-ej1-x644.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1647680839; 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=Nd/3LseEWZfVsWLrO6Bx/hSpv/Ct0TQliP5ENFYGD/0=; b=nL67O5YICXEASHfExQ+XmTQrQaMUSnmPWCYN3fu3i3cBjND5G0ysmUP+/7sNsqDBShx90D kB7wbyZh+RUcXv7eWrekJ3P+biX9VHXnGYcp4p+DZ09IkBaFq8O6Je6G0fa+kume4ZPjVN suVGeEjDnqYjfhfXEyeY37Uvh1f8LOBMC92f9YIfhhWZnkuJVJsZp11wCphC5ByHRdLehu DTYDxN9lP8r+FnMp1/OMphX3cMTBGGz85Wdc57XCl24EDsN0N3W329Wil34YYRkB0QDuXw BRpVCJgvv3mHJKyv3pcTY4xPm3qaS4qMLRC2BAjqHqk/iZgK4Aby/GH1fzH4EA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1647680839; a=rsa-sha256; cv=none; b=Xi3eVzkrAcwEROrljUlTGG7iujJKw6DJZKpPlH7I8Gbk+ek8viSphm2SDQHjta0LiAcK2b EOjp450AnnTeg3pFp7JA3ySTWmNlS9Ina2Hdp6tUwLf+i1CK0YB0nFXFVBs6B5eTIlFfcc AOPqBu8x6j88qzlOh8Lg2LAwIS/zpGVuIlZ9sp8JkAdC1X8Xaw1wrcG/tqGIyYjb4uxlhY tgvV2G++RNJEQGqAjbjNIdTAhs3Ms6Y/yLRw+McvL2L3eft6RcYLrLZR9w/ShM24X5t4kV pZdd6fUqN3Q+XrtlLO81bzqO/OFLDj9DfhMBnA8NuLg28WqjTL428O1IuI/MHA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=SHchgwAf; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Spam-Score: -5.64 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=SHchgwAf; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Queue-Id: 783533B16D X-Spam-Score: -5.64 X-Migadu-Scanner: scn0.migadu.com X-TUID: 05PfiJpktNYV Hi, Am Samstag, dem 19.03.2022 um 00:20 +0000 schrieb Ryan Prior: > One side-thread in "Building a software toolchain that works" notes > that Guix faces challenges for adoption because it's not readily > available to users of proprietary operating systems like macOS and > Windows. That's true to an extent for most Linux-first applications. > I've witnessed over the past decade that GNU/Linux development on > other platforms has become widespread, in large part due to the > availability of the Docker for Desktop application which packages a > lightweight, automagically managed GNU/Linux virtual machine running > the Docker daemon with Docker client software built for the target > platform. > > A user of Docker for Desktop on a proprietary OS can run "docker" > commands which transparently execute commands inside a GNU/Linux > container, making building and testing software quite convenient and > reproducible without needing to set up cross-compile toolchains or > spend time managing VM software. > > It makes absolute sense to me that Guix is not interested in building > a native distribution for the Windows or macOS toolchains. One of > Guix System's unique strengths is its adherence to the GNU FSDG and I > don't think that's incompatible with making the Guix tools more > generally available to end-user devs hacking on software using a > proprietary OS. But who are those users of Docker for Desktop? For me, that seems to be a niche even smaller than flatpak et al. Even if they exist, Guix already caters to them by providing `guix pack', which among others can distribute docker containers. Running a full-blown distro inside docker defeats the purpose of docker, which is to run only the parts necessary to keep your microservice alive. > Technically, I think we could use a similar approach to the Docker > for Desktop system: a "Guix for Desktop" installs software to create > and manage a minimal Guix System virtual machine which automatically > updates and reconfigures itself, requiring no manual administration > by the end-user. And it would install a Guix client that connects to > the Guix daemon running in the VM using a shared socket, enabling > users to incorporate Guix transparently into their workflows. > > I think this would be a compromise for certain, the same way it is > for Emacs and other GNU flagship projects that run on non-free > systems. On the one hand, it serves to make those systems more > valuable, which undermines our cause. But on the other hand it > provides a major on-ramp to free software and superior build tooling, > positively impacting the practical freedoms available to the end- > users who adopt Guix. Automatic updates suck on proprietary systems and Guix could not do anything to address that.  Even in free software, there are arguments to avoid them, see anything NPM has done ever. With the rolling release model of Guix, a package that the user relies on can break at any time; it's better to play towards Guix strengths, among them roll- backs. FWIW you can already run Guix inside containers such as qemu or even WSL, so apart from small technical hurdles, it shouldn't be hard to deploy Guix on a proprietary system assuming the "end user" is themselves a "dev". However, in this picture, devs are not the end users. It is one thing to deploy Guix on their machine, but asking them to deploy Guix on the machines of their "end users" (i.e. often their clients), as is done e.g. by NPM is a totally different thing. For this, ironically, you need Guix as a system, and targeting Guix as a system has little financial incentive to technically not ransomware developers. Cheers