From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id 0MGHDqin52SMmAAASxT56A (envelope-from ) for ; Thu, 24 Aug 2023 20:55:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id kGJoDqin52TeiwAA9RJhRA (envelope-from ) for ; Thu, 24 Aug 2023 20:55:36 +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 711255851E for ; Thu, 24 Aug 2023 20:55:35 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=e7KwRuDk; 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=1692903336; 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=OPnWrnG6hOUbPv4U66tLEARYpq5LGRIo7fnt7kf0htg=; b=er3NmMcx2zEqXsdizHT2ftKXwz5SmkH6jo/qeUkNCqobv7yTEfmEFnd80bSI97b2syvX8F Xf0n9EVtN2Ia0jx64fg1l5oSC80ez/+C6p9r8hRGXpW4RFv9W6bKUfX5uOSxhGWcxdfURf y/cQyUXw282eEA4WfrwBXbf4+8MyWGfwWSnHT3IF06CGyxp9P2NIOpVWiXhdTGK+Pyht36 i7CzjwhKiAS8tv06YjdLrBddq81D6k3H12DCT0bBfDLIpICSw4wl8jeIhYqYlgbEMPdBej TbLjcstezPecTcbDWSJucj46uGFUakXXsEeyrUku5OhViCVIPBedsjR6WvjYHQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1692903336; a=rsa-sha256; cv=none; b=T9HipleQ8WyBcopH3mcbP2EmdwBZgJYXwmV8YQ7T/sYhdtipY4sTo0nU6EeKY86plOXCO7 6NdwLdpCZIcV91AvliDrejJZTD8q0Q+XM0P6bqGvUkI2m71zhE+hXt377SCY/Wj1CeFaD3 Ac6Y1nX8jyh2gxaBHG6Cp6Tso56KLHjdry4fMuKBZaAms74DmE36jY4YPPPpZNEvj6PXYg soiSUjBu/Y6zd9WWU12+51L3+uZsKR37EEviqd7qa/zNyBRdkUPiUhPmvmAOhgppj92oZw xf/MteUwiySsGhrgOqgYkGYW2Yp5D0Qqb9ELzYOP2ntRXuMjZs4bhA5JmhCgEA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=e7KwRuDk; 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 Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qZFU3-0006cj-9o; Thu, 24 Aug 2023 14:55:07 -0400 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 1qZFU1-0006cE-B6 for guix-devel@gnu.org; Thu, 24 Aug 2023 14:55:05 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qZFTw-0002gh-Kn for guix-devel@gnu.org; Thu, 24 Aug 2023 14:55:03 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-3fefaf4e3c6so435075e9.0 for ; Thu, 24 Aug 2023 11:54:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692903298; x=1693508098; 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=OPnWrnG6hOUbPv4U66tLEARYpq5LGRIo7fnt7kf0htg=; b=e7KwRuDkg6VsZN1Bat7+cSPRzrH535iNDo6ZVhyVfNkjibxmlZK/LiMZwu5KTkS9Ei dpUNvftiZtRFHJKWcemoACAlcqAFjI3A+s8wK7QR5yirww9s0nwA4dTsDC5A2Gva6NJV ah2Ef+3XDwGqGBL5IUosuEJwnc6re8R5OIcJ/AEGOFRKMIi/tNbbH0uB2XMhlHJNrcYm TKt9dt7sEQEiXB+NEQQgNGgOyXjWIj7sHezH0WdSoTpnVwyff+Fu6Ghvg5kjK4qW2ZOm MF3c/UiKOliDYCDBl6SqU6owMV5VlLn8UpJLGAu9XeiqqxOQFP/RJR2NHsWo/P1KEsjl ESXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692903298; x=1693508098; 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=OPnWrnG6hOUbPv4U66tLEARYpq5LGRIo7fnt7kf0htg=; b=gV3xAxg6ggMo5SRHmyI4yx/aUwPrdST/x9jlwUl/7rpfB3sz1CMe2eBlj6jpAh+FfN 4JPYb1lW2cqE22IcnJyjNdYETy9MQoFZmAbJQ1B7PQGNSgVhpaES1HjUacDD8NZytfvK yC8XKdJ2DSt5/VXBs1dFA6nFuDJhu5egy5NiZcpIscO0rTpsIeE1VvynjPS2X22IdpxK 3+NmGWsBcjim1ViyZ3l263DGByrqjiICjK+W4kniYygVWDLNZ4p2pq/gwI+pzb1QjOAW 100M7RnFl2A92h6U3zgdA0Qo2VAh9M4DD8wJTc0x33q/VjphkIGn/IgKvAOUur9df7JB CW/Q== X-Gm-Message-State: AOJu0YzfmkWWrPWHAuHrvuzy3Kuo2PbIWUSNC4BIWT/P1L0YOn9Ntpci Cs61j2kONe3VN+vl2Ikc8VG8MAa6QkI= X-Google-Smtp-Source: AGHT+IGDaW1rJYMTNPUJDQszjHpexxYYnNyAkJjloPdyQnSlsdBAs/0UnA65qwEJiJVnduSEQIJFDw== X-Received: by 2002:adf:fc42:0:b0:31a:e29f:5eab with SMTP id e2-20020adffc42000000b0031ae29f5eabmr11925064wrs.7.1692903297769; Thu, 24 Aug 2023 11:54:57 -0700 (PDT) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id m17-20020a05600c281100b003fef19bb55csm174209wmb.34.2023.08.24.11.54.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Aug 2023 11:54:57 -0700 (PDT) From: Simon Tournier To: Katherine Cox-Buday , guix-devel Subject: Re: How can we decrease the cognitive overhead for contributors? In-Reply-To: References: Date: Thu, 24 Aug 2023 20:53:14 +0200 Message-ID: <871qfsuvad.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::332; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x332.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-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.58 X-Spam-Score: -5.58 X-Migadu-Queue-Id: 711255851E X-Migadu-Scanner: mx1.migadu.com X-TUID: kLwvCY43IA1N Hi, At some point, I sympathize. On Wed, 23 Aug 2023 at 10:25, Katherine Cox-Buday wrote: > I don't use the email-based patch workflow day-to-day, so this is > another area where I spend a lot of time trying to make sure I'm doing > things correctly. I agree that Debbugs is not handy at all for submitting patches. Send the cover letter, wait, refresh email, wait, refresh email, loop until an issue number is assigned, and then send the series. Well, Debbugs is an issue tracking system and not a patch tracking system, from my understanding. And thus this annoyance is not about email-based workflow. It is just about using Debbugs for tracking patches, IMHO. > I have given a list of issues to a group of people who are presumably > analytical, and I think the natural inclination is to go > point-by-point and make arguments for/against. Instead of that[*], I > invite you to address the more abstract issue: (should/how do) we > reduce friction for making contributions? Reduce friction for making contributions? Yes, we all want that, I guess. The question is how? What is the right balance between the change of habits and the satisfaction of people used to these habits? Well, from my point of view, we are using here the term =E2=80=9Ccontributi= on=E2=80=9D as it was one homogeneous thing. Instead, I think the term refers to a range with a gradual complexity. And the improvements or tools maybe also need to be gradual depending on this range. For example, a two-line patch trivially updating one package is not the same contribution as several-to-many two-line patches more some package additions for updating all the R ecosystem. And that=E2=80=99s not the sam= e as rewriting the Python build system or as packaging the last version TensorFlow. The cognitive overhead for these 3 contributions is not the same. Therefore, the way to reduce the friction will not be the same, IMHO. > * It's OK to make lots of mistakes > > The people who have reviewed my code have been generous both with > their time and fixing my mistakes and then applying. Maybe this model > is OK? I still feel guilty every time a reviewer has to correct an > oversight I've made. I also want to become a committer, but I don't > know how that would work if I'm regularly making mistakes. Obviously > people would still be reviewing my commits, but presumably a committer > should not regularly be making mistakes. Considering this range of contributions above, I do not see this =E2=80=9Cm= ake lots of mistakes=E2=80=9D. Or, let say all the mistakes are not equivalent. I do not think it is all good or all bad. From my point of view, all the contributions are a gift. I appreciate equally the gift of my sister who knits a tiny half-done scarf and the gift of my father who crafts a complete wood-chair. I empathise both with the busy life of my sister and with the retired full-of-free-time life of my father. And I use or reuse the gifts as I am able to. Well, no pressure. Software is done by craftperson who internalizes one step, then another, and it builds the habits above. I guess. I am not avoiding tools. I think tools as guix style and guix lint deserve improvements. Therefore, let open bug report when you notice wrong or not the expected behaviour. For example, Vagrant suggested nice improvements for guix lint and spellchecker. And QA, partially based on these tools, is also improving a lot. It helps to detect mistakes. > * We could support a managed web-based workflow Here, I am very doubtful that it would help. For instance, Debian is based on Gitlab since their switch from Alioth to Salsa. It would be interesting to know if this =E2=80=9Cnew=E2=80=9D we= b-based workflow using Merge Request is increasing the number of submissions and/or increasing the number of occasional contributors. Another example is Software Heritage (SWH). Their web-based workflow is a Gitlab instance [1]. As an occasional person who deal with the SWH archive, I am never able to find my way and I just roam on #swh-devel IRC channel asking for help. Another example: the channel guix-science [2] based on GitHub. Well, I am able to count using one of my hands the number of PRs. ;-) (And I do not speak about other channels as nonguix) =20 Well, reading the item above about mistake and the item below about "Guix 'R Us", and maybe I am wrong, somehow I feel that one =E2=80=9Ccognit= ive overhead=E2=80=9D is the willing to submit a perfect patch. Again, maybe I= am wrong, somehow I feel that one part of the issue is a lack of self-confidence. Do not take me wrong, I am speaking about submitting a patch by occasional contributor and not about the personality of person that I do not personally know. :-) This =E2=80=9Cthat=E2=80=99s not perfect so I postpone the submission=E2=80= =9D is something I often hear by people attending to Caf=C3=A9 Guix [3]. Hum, I do not know what we could do differently for reducing this barrier. The idea of the team Mentor is in this direction but it does not seem working=E2=80=A6 :-( 1: https://gitlab.softwareheritage.org/explore 2: https://github.com/guix-science/guix-science 3: https://hpc.guix.info/events/2022/caf%C3%A9-guix/ > * Encourage upstream communities like "Guix 'R Us"=20 > (https://sr.ht/~whereiseveryone/guixrus/) > > Maybe Guix proper continues as is and we foster various upstream > communities that utilize different styles and batch their > contributions? For sure, I think it=E2=80=99s a very good thing. In the same direction, I= also find helpful the initiative by Guixers based on London to physically meet. We did similar a couple of times in Paris. Demoing and showing that nothing is perfect is helping in reducing some barrier. During lockdown, we (J=C3=A9r=C3=A9my and I) did some remote-pair programmi= ng [4]. I think this kind of thing could also be a solution because being two with an appointment and a fixed slot of time, etc. all that keep the motivation up and help in reducing some barrier. 4: https://10years.guix.gnu.org/video/remote-pair-programming/ For sure, I think that part of the solution is by finding the way to collaborate. Somehow, what would be your expectations for contributing more? Or for easing your contributions? :-) Cheers, simon