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 iDgYNmLG+GIlOgEAbAwnHQ (envelope-from ) for ; Sun, 14 Aug 2022 11:54:43 +0200 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 UF41NWLG+GIAkQAAG6o9tA (envelope-from ) for ; Sun, 14 Aug 2022 11:54:42 +0200 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 7205E11923 for ; Sun, 14 Aug 2022 11:54:42 +0200 (CEST) Received: from localhost ([::1]:45466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNAKP-0007qT-Ex for larch@yhetil.org; Sun, 14 Aug 2022 05:54:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40740) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNAJf-0007nZ-Nd for help-guix@gnu.org; Sun, 14 Aug 2022 05:53:57 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:41759) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oNAJd-0003zu-Nd for help-guix@gnu.org; Sun, 14 Aug 2022 05:53:55 -0400 Received: by mail-wr1-x436.google.com with SMTP id p10so5910344wru.8 for ; Sun, 14 Aug 2022 02:53:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beadling-co-uk.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:date:message-id:in-reply-to :subject:cc:to:from:user-agent:references:from:to:cc; bh=1323zADQY2S0fXO5XrEL6Xe4C4g38lZbbuCt4DyuU0Q=; b=Etn6S+ZnfBTS0bV79vHxw03vZJ+XG/bdNwLNfUvY6gzkO5ZhKzparrEuWsdOWsxn1z uOAN0WYwJhFfeZj8QnFRD47dR9diozBuYaiqAgjgiGooM/3sxbbTd5+NY5mLg78d8Dij GfS2IGfJWw2mqrbTGHNTY4X9YtsZGotBIYQwg5DQB6H0eywBF9DKkIZ5QTTnY64vzQbU SdCkqnTYeSpLHRNL70QaLCRHJCjue0OWvAAft+fDyejAVkluQ/OWYKo8aS2c23SF9H4O GYNBWWkOhgbNnNgFK03XYXxzhkNy449rLgZgHRuueRw5RaZJ1GYBKjX4nyfVynclJWIb WxyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:date:message-id:in-reply-to :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to :cc; bh=1323zADQY2S0fXO5XrEL6Xe4C4g38lZbbuCt4DyuU0Q=; b=wzDFfvZ1XcS2/NE5BEvMKXlhYY+RZHLIgsmluJu1f+BGdQBg69azUqFB3JO182tJX3 Pr9dSQyGfdD4mj4cFUjxJ8YThmjGZ3AMlioXcOs7lVrMKybplv/lchw7BnATWQ5yHKFU Ys5pN5E6S2GECDrVtSEiiy0gL2UvrHW0v2eLsHe7UmnXinXIpMmNeWoS5zOJqwZLStgR q0/E/L5qhhfojlfJ058ZEFIDLMc0vIs4s+taCbd4BsNEdyZF0K9XiPAOresVIoSpe3RN sOBaPAB8ZBS7JKK81M+zx3AkPVneJS2ngoNrYe59OtHCtkeO19XDpeGXSPBdeQiNhsQD JKxg== X-Gm-Message-State: ACgBeo3K9G3f0f7ysGPW8ku9gkjW4nmR7TdRYVN2ZHF0izV+J35L7qOz zML2cYuSct3O5udcFy3yA29PRj1refRCCMM8 X-Google-Smtp-Source: AA6agR7meglPFmFzfjKxBmPPnBp/QyveN+PzCVdHuuvgGesLFBXe3KQP+xfYaqgE/0WXRP3HkIBNHA== X-Received: by 2002:adf:ec92:0:b0:21f:f65:2e57 with SMTP id z18-20020adfec92000000b0021f0f652e57mr5788459wrn.95.1660470820128; Sun, 14 Aug 2022 02:53:40 -0700 (PDT) Received: from xps13 ([2a02:6b61:757c:0:1a28:93e8:532:465c]) by smtp.gmail.com with ESMTPSA id n5-20020a05600c3b8500b003a302fb9df7sm5662905wms.21.2022.08.14.02.53.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Aug 2022 02:53:39 -0700 (PDT) References: <87edy2a7xb.fsf@beadling.co.uk> <961019EF-219A-4DAE-BED3-4DCB7BC386B8@yasuaki.com> <0c1f853a-f613-4ad2-9eda-05940cee5a23@gmail.com> <87bkt5a6mi.fsf@beadling.co.uk> <875yj140i1.fsf@gnu.org> User-agent: mu4e 1.4.15; emacs 27.2 From: Phil To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Benjamin Slade , Yasuaki Kudo , Olivier Dion , help-guix@gnu.org Subject: Re: Enterprise Guix Hosting? In-reply-to: <875yj140i1.fsf@gnu.org> Message-ID: <8735dzqhge.fsf@beadling.co.uk> Date: Sun, 14 Aug 2022 10:53:37 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: none client-ip=2a00:1450:4864:20::436; envelope-from=phil@beadling.co.uk; helo=mail-wr1-x436.google.com 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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" 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=1660470882; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=1323zADQY2S0fXO5XrEL6Xe4C4g38lZbbuCt4DyuU0Q=; b=Dy2lSXDthtz1BtPr/az+Mjq+XdiT53y7Z+ZTJ3qzzuzxkk1wmJnkLHm/bH7Bo7mW7r9XdP DZRJ2poh19liCzO9vllrlDdZJVViJXKtdtOqcjl9D/bymmo8eFnulnVieuOvhQqFn6NQAG 7swvOkzNSxo5bjD02RqSbBPJPuA2EXB/0yegx0Y0ZGwCiP5jjzjDVOHZSzDOKPG8UL8Slt GdVbQucOVZpvlvBRbkGAaS/YAb9BIKVYJzMCLDs7j7xsV13+6xqo6Fo7kgSp4SwsfFxrfA pTfCBI01ghZXnO8xa6tFjx6JpUHQWAfknFjPZJwDoo6hlPAPZzciZO/40v0CQA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660470882; a=rsa-sha256; cv=none; b=SdY9c8jhTzt3vYxY68Rsqs3wHOQcIsYSuJr4weOMldj2rEYoTgblJnNPKD7pL6FEmLtLFt vwu3YMs5hsNBdmTsRbtCGcQcOMsN41Zm0mFsmFLA8UkUxKIMoOAtyAWaqeCvjfVQ5yS18M eRSTKizLVVQWbJ63Qc0Ee4xvTqfdqlQ3kBZCC75E1+hIidzytwZlD/fAp5B3KX9kgdD2Ro 5/WXNMfvMb0BwX9v5p/nolnH4SQDMOTqmea7iKHRih/WkRyEFt6E+pfD0/ehJ1qQPw61wj zoot0IwgYkirvMrAvEJSvRtcMg9QL/DP6p8PZbrLIq1Vxe4IglKWbR4mb+nhgw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=beadling-co-uk.20210112.gappssmtp.com header.s=20210112 header.b=Etn6S+Zn; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.36 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=beadling-co-uk.20210112.gappssmtp.com header.s=20210112 header.b=Etn6S+Zn; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 7205E11923 X-Spam-Score: -2.36 X-Migadu-Scanner: scn1.migadu.com X-TUID: v0deoB+AS4wM Hi Ludo, Comments inline. I'm also aiming to be at the Guix 10 Year thing in Paris - sadly only for the Friday, so happy to discuss this informally there too! Ludovic Court=C3=A8s writes: > Hi Phil, > > Phil skribis: > > > From your experience, would you say that persuading was hard primarily > because Guix was unknown (to them), or because getting started is > difficult? It's a bit of both, in the commercial space there are some mundane practical concerns. One example would be when 2 companies security audit each other before using each other's services. If you're using a prebuilt image of a well known OS, served by AWS or Azure, then the reality is that this is often easier for a security team to tick this off as a known platform - for no other reason than they've seen it before. Auditing Guix isn't impossible but it can lead to more questions, simply because of lack of familiarity. This can be somewhat mitigated by using Guix as just a package manager on top of a foreign distro, but this doesn't fully harness the potential of Guix, so it's a trade-off. Internally speaking the lack of familiarity wasn't as much of a barrier. Python is the main language where I work, so I sold it as a better version of Virtual Environments - which work for all languages not just Python. There was an significant initial effort from me and my team to convert all the current venvs to Guix packages and integrate it with the various Runtimes and IDEs we use, but once we'd done this, people were largely happy to transition. I did have to do some tutorials and write a bit of documentation that meant people could start using Guix without really getting into the details of what Guix is doing. My argument to most developers was, "you don't really know all the details of how virtual environments work, so why do you care about Guix's internals?". Most happily accepted this argument, providing you give them good docs on how to use Guix in the workplace. Whilst I like Guix's own documentation, some developers did feedback to me that it was to complex for people who just wanted to get-on and use Guix, rather than setup, understand and maintain Guix. So this is the area I ended-up documenting - "Guix Up-and-running for Python Developers". One day I'd like to publish it properly, but it's very much a WIP at the moment! One advantage I did have is that I rewrote the CI/CD system to work around Guix, and the old system was showing it's age, so people were happy to trade Python venvs, for a better build and deployment experie= nce. We now have 5 developers working at least part of the time writing Guix packages, or tweaking small bits of the Guix core code (I keep meaning to make more of an effort to get our efforts back into Guix proper!). As more developers slowly try-out more advanced stuff in Guix this number is growing, and most developers that invest the time end up liking Guix - so I think there's plenty of hope to grow it further! > > Personally I think we need to make Guix approachable to a wide audience, > meaning not just developers=E2=80=94that goes beyond your target audience= , let=E2=80=99s > be ambitious! I=E2=80=99d like to think that =E2=80=98guix install=E2=80= =99, =E2=80=98guix shell=E2=80=99, and > the likes have a rather low barrier to entry to someone who=E2=80=99s use= the > command line before, but I=E2=80=99ve also seen newcomers confused because > =E2=80=9Cenvironment variables are hard=E2=80=9D and get in the way. Yep I do review how Guix is being used at work, and occasionally do find people using it in weird and wonderful ways. All I do is build up my documentation so we have a cookbook like format which covers recommended ways for developers to do things, and things for them to avoid doing too! Environment variables can be a common one, when people fiddle with their PYTHONPATH in their code, or .bashrc, and this can have knock-on issues with Guix. Best practice documentation helps with this. > > Are there any takeaways from your experience in terms of UX/UI > improvements we could work on? 3 things which lowers the barrier to entry in my experience commercially would be: - Push button WSL support (I know this has some momentum eg https://lists.gnu.org/archive/html/guix-patches/2022-08/msg00945.html). At the moment I tend to use a custom image I made which is just WSL on top of Ubuntu. I have made it work with busybox, but it's not yet robust enough to wheel out over the enterprise like this. - Perhaps a set of videos aimed directly at converting a vanilla Python environment into one running in Guix. Try to entice the communities off their current tooling by making it as easy as possible to switch. I even went as far as writing a requirements file to guix package converter at work to help with this. - Excellent Javascript support would help. I'm aware of some of the difficulties this presents Guix, and am not a fan of npm, etc - but it's so often used by developers I think not having support for it is always going to be tricky to sell to a wider audience. > > Thanks, > Ludo=E2=80=99.