From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.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 CGGnA4kz5mRZLgAASxT56A (envelope-from ) for ; Wed, 23 Aug 2023 18:27:53 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 6C86A4kz5mQkVAAAauVa8A (envelope-from ) for ; Wed, 23 Aug 2023 18:27:53 +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 6BD124FEA5 for ; Wed, 23 Aug 2023 18:27:52 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Lf+zRAqE; 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=1692808072; 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=0hLDO3b/svkCeT9pRfZLVPbkoI+coCs3STnaesDe9zU=; b=YEsDxkEOlQpmlE/xYekWXQFsHJ3ooidBYjAncRshGy5xrK0C6wndDSXJN+TeHkVwSaEmZ7 WZgkigT6cNDpQWDPUSUiX+luesq1k3QEgfwgFl67FghuMd74u6+qHJjBuLJH7RsKgRS0+I JYhNRpfILw8mx6rS/tKGUgM/MtYSpKipjCOZHmz3b0mLXsgoCuCtvJ/tFqiR53vliKnMOj Z6vDI8PFxmSiEd1208UEZD7l7z6S8B+6cpWOu2Z9ynaqIDbU4xMu0z2Jti2Qr5jO7nEDFC wO2TjRNpqyfIa6wDKuUkDHdsKmZXyAP5pJJNLKK6/TYtHiRIc+i+iI+rW5Vmlw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1692808072; a=rsa-sha256; cv=none; b=DCFoYc32KDObiftaGdgTjdwyts36Z24RhfDky40sUomdmmo9IIxmhm97eSe0aCEK9XEpWg m2KPe9DM4lfYoKcvO/oblKIckkQSfOlLc4Lzs37dqmAWDeWc8LpyOl0NX5q8lKI9J6F5LX Q8tPRJQ7MJuWphFrdKjdx+0nmi8P/URtj/olRAtPNK2LbbTSr5j6lxIbVQHwuwXeutoRrk kiJrKcWMKtMbDTElQ6g6p7jJ1R4dIbWLi695VRuVQ+Z5i2PvzTKBHPm2W6lAi1OQRvQxyq kqZvd3iaQ7EwaN4m5p8F63kW8he2AkekcNqdEfNEWuAvpJqdTxKRCFUpOzvC4Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Lf+zRAqE; 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 1qYqhP-0005h6-6f; Wed, 23 Aug 2023 12:27:15 -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 1qYqgF-0005YR-K0 for guix-devel@gnu.org; Wed, 23 Aug 2023 12:26:03 -0400 Received: from mail-il1-x136.google.com ([2607:f8b0:4864:20::136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYqgD-0001UJ-1R for guix-devel@gnu.org; Wed, 23 Aug 2023 12:26:03 -0400 Received: by mail-il1-x136.google.com with SMTP id e9e14a558f8ab-34961362f67so68945ab.0 for ; Wed, 23 Aug 2023 09:26:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692807959; x=1693412759; h=content-transfer-encoding:to:content-language:subject:from :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=0hLDO3b/svkCeT9pRfZLVPbkoI+coCs3STnaesDe9zU=; b=Lf+zRAqEDDRnCSC4nEoPoLSw6WhegTPLFaiyHyApM+EhfZzl94yvSFlJ7xaDszn2Jd U4vID/jnKhzEyjRiiBq3Fiqd7H1fAlWi9nFwi2mEDE+65H1VCOe3mgPvr9qRjg3auw+U jcH4f2zUkknfaQ3O/pFIBCSHPeS8MJKDqYXDjUIm8xgGGxNP51ozZELtsKajbtAjs+H4 1Z7C5Spzh+G+MOqJWTQzhmqgr/H0ek6OAysqZCWuG2efDPspwZkCrwj5q0vEfJH2ADbE U7gPMtU+XQ69dDKkHGDUG0VqEnx0CtjfBGI/KEOhpcs0cJEWzYafp9ayDC4jObOXN2/L gn2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692807959; x=1693412759; h=content-transfer-encoding:to:content-language:subject:from :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0hLDO3b/svkCeT9pRfZLVPbkoI+coCs3STnaesDe9zU=; b=T3Yaz4rw0Mk2eV+u4YMJfXgf9jooeQyKCx7YCer4XBOnZccwVUUD/0vULOajQuFyd/ +g9Q5ZLTzEQ9LsBBNMwDFhLgDgsIzHZO1oPJhuoA4kqtQw2pm9kggWZ3i0XrGfnN3x/O 6/HvXsQJStm9ANeQMkyGQQbuSqMFUTMoqtv3XLL1BEraaQRGrmv31e+gr8OCXI8JqJdN +o1lIwpdHHsiUqRLPerp+unrX0gkzKQIY2Oyc88nGM8GDGUGde+P4+udbKVe8g/9gOfP 7ChRqpslZL8f4H3cHpb82QwqHsjcaQKheLgBlpru9WGu5oxxDiIdSAuUHRVtsaOBUI2o Tv0A== X-Gm-Message-State: AOJu0YyLkbi78fmetLk2MTHLCLq4j+a8qtOjxnirRGeOmQ3YXMZIDzp2 hiUJaDgsdvm5Qz9HZ1KP5wjP1438T2w= X-Google-Smtp-Source: AGHT+IFBYAsAtVuCpsajlAewqzi9jwT+HOsTVHR9T0XVuMHlH4VxKF6RhX2mzKNsChKEfY1bQffUHA== X-Received: by 2002:a92:cd87:0:b0:34c:b4b5:765 with SMTP id r7-20020a92cd87000000b0034cb4b50765mr2659362ilb.5.1692807959547; Wed, 23 Aug 2023 09:25:59 -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 h12-20020a056638062c00b0042bae96eba7sm3822223jar.7.2023.08.23.09.25.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 23 Aug 2023 09:25:59 -0700 (PDT) Message-ID: Date: Wed, 23 Aug 2023 10:25:58 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 From: Katherine Cox-Buday Subject: How can we decrease the cognitive overhead for contributors? Content-Language: en-US To: guix-devel Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::136; envelope-from=cox.katherine.e@gmail.com; helo=mail-il1-x136.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: -8.58 X-Spam-Score: -8.58 X-Migadu-Queue-Id: 6BD124FEA5 X-Migadu-Scanner: mx1.migadu.com X-TUID: m5zZiq/LtJEI Summary: for people who don't contribute to Guix a lot, each contribution has very high cognitive overhead. Can we work to reduce that? Hey all, Contributing to Guix is currently pretty difficult for me. I'm a Mom with a full-time job, and anything outside of my job that requires a lot of executive functioning (e.g. lots of manual, detailed, steps) is very difficult for me to get correct. That last part is what I wanted to discuss, because that's the part that prevents me from contributing more than I do, and I think there are probably others whom are impacted by this. When I have some time to contribute, I usually stall out at the "submit this for review" because of the amount of cognitive overhead required. I've written a script for myself that tries to perform all the steps including running the git command to submit the patch, and this has helped me, but that this is necessary for me to do might be something that, if addressed, could help others. Here are some examples of things that cause issues for me. This is not a list of grievances; it's my way of attempting to demonstrate the "shape" of the issue:     I signed up on Savannah with the intention of applying to be a committer.     Savannah closed my account one or two days later due to inactivity.     I can't ever seem to get the GNU style commit messages correct. I use the     templates provided, but those don't cover all cases, and I've even gotten     feedback in a review to change a message it created.     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.     My script runs `guix style` and `guix lint`, but its suggestions aren't     always correct. I suspect I've submitted some patches with nonsensical     changes due to implicitly trusting these tools.     Maybe https://lists.gnu.org/archive/html/guile-devel/2023-02/msg00030.html     addresses this, but manually managing Guile imports is laborious. As a     fledgling schemer, I often forget which imports I needed just for     development. I think I would summarize the core of these examples as:     "At every step of the contribution process, I must manually check that     multiple things are correct. With limited available executive functioning,     and no automation, this is very difficult to do correctly, and an easy place     for contributors to stop." I think that if I were working on Guix more frequently, I would build habits I didn't have to think about, and these wouldn't be the large issues they are for me. But because of the nature of a project like Guix, we want contributions from people of all kinds of backgrounds, not just people who have the privilege to work on Guix a lot. 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? Here are some things I've considered: * Contributing to Guix is not for you     I would be really sad if someone ever said this, but I guess it's a     possibility. Maybe someone like me just can't be a contributor to Guix until     I have the bandwidth to manage all the details. I would preemptively argue     that diversity of thought and experiences usually leads to better things. * 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. * We could support a managed web-based workflow     I think this has been brought up a lot of times, and I don't have a clear     idea of what's been said. But I think a lot of developers these days are     more familiar with this style, and we could still maintain self-sovereignty     if we hosted something. * Encourage upstream communities like "Guix 'R Us" (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? What do you all think? Does this affect anyone else? [*] But if you have workflow suggestions, I'm all ears! -- Katherine