From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id OJA/OTtP6WSEGQAA9RJhRA:P1 (envelope-from ) for ; Sat, 26 Aug 2023 03:02:52 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id OJA/OTtP6WSEGQAA9RJhRA (envelope-from ) for ; Sat, 26 Aug 2023 03:02:52 +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 5AEC26DC7B for ; Sat, 26 Aug 2023 03:02:51 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=dI63P3XW; 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-Seal: i=1; s=key1; d=yhetil.org; t=1693011771; a=rsa-sha256; cv=none; b=DoJJLCBG7W4XLi9WdnCTAuc2lIdMVBegDpQIAx4qrzyaj8w560FdbM7hhMRPcND4FnNYGq QI1rJB0wyzrpMYd9DyVurhWllKXSbUhoqafkiB0bdrst7idQSFs/lIDOlVg9isILZWlxWc QmcayZcCt1tBe/iWwVg5kT9GLIHI6/4kRc3HdI5yH2KmflXmbRaopuBm8hfvQ4zgGBwJDm mLxgkRgn0fhJxilfA6s5oae6yM6IoK+oXEs8phEdZsD9czowrPzbS2euk7/eKzMnbYSZEu Pdd8voRzaRdHuHbHc73rUDZAMfZyNH/L7Ny0KBK4Q/GTm5kHlsN3IgtDqvldRw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=dI63P3XW; 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=1693011771; 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=0sUW1VfL11DkMbsspl3ZMUz/YQVU5KmGyFShXZQ3734=; b=u3xlK2sY0K2K7a3UDo00CeeSVhum84/3e3jR50hLyT+pJ2czxYNuTzUDE5wo+0OtOa249b oR4YSVMUuK+Piy5cRJrn9sgw1f8qhXXfzKDol/YGMuKgqy9WQv3cI02pWdJbxdCU19mb+3 Bt00M4FKSY6ykeZyH6q++lq/c3SFenJavER4OdGEuTNKlHGNsNGPSeL9IAS63z5C9n4u/l Xc3riCMlm1jAgGg3GCidIMQyreWcko75HnKGlQtVPpSNgdg1CnhVxB56KENhXpg4T8SSJD 96rNHO7ArS4Dzy8AdibYe4mXACMD1DwQ+Lp6Z2sjIROV65BqIPGQfjSdlR+eNw== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qZhgs-0003lG-Tj; Fri, 25 Aug 2023 21:02:14 -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 1qZhgr-0003l1-Ss for guix-devel@gnu.org; Fri, 25 Aug 2023 21:02:13 -0400 Received: from mail-io1-xd2d.google.com ([2607:f8b0:4864:20::d2d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qZhgo-0000gJ-Ce for guix-devel@gnu.org; Fri, 25 Aug 2023 21:02:13 -0400 Received: by mail-io1-xd2d.google.com with SMTP id ca18e2360f4ac-7923ae72111so54478239f.0 for ; Fri, 25 Aug 2023 18:02:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693011729; x=1693616529; h=content-transfer-encoding:in-reply-to:from:references:newsgroups:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=0sUW1VfL11DkMbsspl3ZMUz/YQVU5KmGyFShXZQ3734=; b=dI63P3XWLz42FNVk/mqtkoNGrYip2uIValrai9IwTznVaUTU2IIPd5nZQ/NiuB9Pry ookttmDsVBxR/zIU2aMa5cYhR10egFGQSZafTsk8Xy4fG9Nh0ztJmtdDhIdUdRq+KNsq t4FLBfeN9jFvi2j6+rZLHFlmrDLMOSs6U89tXAeL22uHbQjsX+khmtxCk+aYVUB8u17s EwpFDG5UCqcEG/qN8wfhkzGTcdXt80cVhrQ/J3O1zeqlKfmdkZjbnmzS2P60NZCGZRef 7wtstPXoEmkIpynJjzzEYrUCIzKNhfX96hpUMMlPI/1zlzSF0m+RP/AsIv5ZSSJJhdW1 JGCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693011729; x=1693616529; h=content-transfer-encoding:in-reply-to:from:references:newsgroups:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0sUW1VfL11DkMbsspl3ZMUz/YQVU5KmGyFShXZQ3734=; b=L4+l8NU3RcEhWf7pjgtUcO9FIsrMsl7UXCu+IiIVhmG2FiIVVIyekUhY0NmTTCeGLq 2WrCdgflg0Gb2oh+qzJ6Jd29WgVjWJhiGn9odOh21tAZsFovNCvdApJCtYLKGwsz4BEF dsSLbOniq+qf/Y676QSOwnK02bFQ1BKrpQqghS6yRuwFaNG3F9yyVxQrcGgdt86AVrHN LB/+OXPSV2p3hjlLXI/p52V8ZivR/0dAHQx+qlFoyDRSpCU5IaRrKBSsIJbWzKqWRmeY MesR2KZ35ZhsQsP0RR80b5cAcF1/B0MPFWGdwCZubEHuhKOGp8B0LwJieJcUX8BhVnvp WfxA== X-Gm-Message-State: AOJu0Yw/GowmGo37Sq380uoRuKSfNMNwX+2BIaRfxIkT5YyaPy364c7j ZaNJNjAts6QUup7Z30GsY9Y= X-Google-Smtp-Source: AGHT+IF6jdWn6Jzc6j7yg0fxV4/5jrPHkExC7JHKLT0tt0SKQ82onz49ZrzKX46kzCB89V4yqhGC4A== X-Received: by 2002:a5d:9c12:0:b0:792:1666:fb9c with SMTP id 18-20020a5d9c12000000b007921666fb9cmr11210335ioe.6.1693011728906; Fri, 25 Aug 2023 18:02:08 -0700 (PDT) Received: from [10.0.2.153] (c-174-51-218-141.hsd1.co.comcast.net. [174.51.218.141]) by smtp.gmail.com with ESMTPSA id a2-20020a02ac02000000b0042b39b2289asm847053jao.102.2023.08.25.18.02.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 25 Aug 2023 18:02:08 -0700 (PDT) Message-ID: <8e74c4ac-a6f3-9127-7e13-593a2eb70432@gmail.com> Date: Fri, 25 Aug 2023 19:02:07 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: How can we decrease the cognitive overhead for contributors? Content-Language: en-US To: Simon Tournier , guix-devel Newsgroups: gmane.comp.gnu.guix.devel References: <871qfsuvad.fsf@gmail.com> From: Katherine Cox-Buday In-Reply-To: <871qfsuvad.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::d2d; envelope-from=cox.katherine.e@gmail.com; helo=mail-io1-xd2d.google.com X-Spam_score_int: -36 X-Spam_score: -3.7 X-Spam_bar: --- X-Spam_report: (-3.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, NICE_REPLY_A=-1.57, 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-Scanner: mx0.migadu.com X-Spam-Score: -8.59 X-Migadu-Queue-Id: 5AEC26DC7B X-Migadu-Spam-Score: -8.59 X-TUID: CCvSzA6FgS8D On 8/24/23 12:53 PM, Simon Tournier wrote: > 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. Yes, and imagine that between every step, it is likely that something pulls your attention away. Maybe you have ADHD, maybe a kiddo is asking you endless (but interesting) questions. This is where the overhead begins to erode contributions. People can end up spending their limited resources managing the workflow instead of improving Guix. > 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? I think a good start is to eliminate toil for everyone. It doesn't matter how something is done if it doesn't need doing! Manually organizing/pruning imports is a good example. The good news is that we are working with computers which, among other things, are purpose-built for automating away toil :) > Well, from my point of view, we are using here the term “contribution” > 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’s not the same 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. That's a good point, but even along that gradient, there's a baseline of toil which is not a function of the complexity of the code. But also, even for complicated things, a tight loop of exploration is useful for getting things right. For some, as I alluded to above, it's even a critical component for even completing the task. >> * 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 “new” web-based > workflow using Merge Request is increasing the number of submissions > and/or increasing the number of occasional contributors. It's a good question. > 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. I think there's utility in distinguishing between familiarity and eliminating toil. I think it was incorrect of me to suggest forming habits in my original message. I think it's better to focus on eliminating toil so that whatever workflow remains can more easily be habituated. > 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) > > 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 “cognitive > overhead” 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 “that’s not perfect so I postpone the submission” is something I > often hear by people attending to Café 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… :-( > > 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/ Similarly, I think there's utility in distinguishing between learning and cognitive overhead. I can learn anything, but there are factors beyond my control that cause high levels of cognitive overhead to cause enough friction to stop me. Mentorship is a great thing, and I'm sure I"d learn a lot from a mentor, but it wouldn't solve the problem I've raised unless the mentor somehow showed me how to eliminate the cognitive overhead, in which case: let's just do that for everyone. > 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? :-) A fast feedback loop with as few points of interruption between writing code and submitting a patch. -- Katherine