From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id ADA99138247 for ; Wed, 22 Jan 2014 07:00:25 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 14371E0EBC; Wed, 22 Jan 2014 07:00:20 +0000 (UTC) Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DD172E09A7 for ; Wed, 22 Jan 2014 07:00:18 +0000 (UTC) Received: by mail-wi0-f176.google.com with SMTP id hi8so5276414wib.3 for ; Tue, 21 Jan 2014 23:00:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=SbeoVe+TTDyaXWKAu+6TtWXnTZXfXPxKZFVtOXyoTEg=; b=OoKq9SEMHaXfZa93ImBoJLOLLVThPBO9DYeOjtCqJELszP7ByK/CI9dXtJ0JIFbkG3 2gx/nb/xUO9Xt0ZO+OYHbxxg3PT5cnxDOSpx3QRtXeZq61DyXMzGiXANJRMTep1IrZ9b PWqJs5HEq1zvDb5gfr5thoImXzMO72ZFlbaJE7bobBgzUkNYzjTs3jz3pZHDtEj+14pm HFCfIAT0hrOpjJLGQEN76a1dc7otJgH4d+peUTEDCugpLzAh5X9QbrnOrAfIga12EnTz mLeEA+fCKLHrQTW7B+co5abrm+3R+8AfwHIRRFMBqbcDfUBMBETO1Ce+ris1yq6F9lLt pSyw== X-Received: by 10.180.79.38 with SMTP id g6mr1377127wix.60.1390374017654; Tue, 21 Jan 2014 23:00:17 -0800 (PST) Received: from [10.1.20.200] (dustpuppy.is.co.za. [196.14.169.11]) by mx.google.com with ESMTPSA id ea4sm16541404wib.7.2014.01.21.23.00.15 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 21 Jan 2014 23:00:16 -0800 (PST) Message-ID: <52DF6C7E.8020908@gmail.com> Date: Wed, 22 Jan 2014 09:00:14 +0200 From: Alan McKinnon User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] rfc: formally allow qa to suspend commit rights References: <20140119050224.GA7898@laptop.home> <20140120035446.063a31be@TOMWIJ-GENTOO> <52DD2E2A.2020303@gmail.com> <20140121155616.6a8cdf9b@TOMWIJ-GENTOO> In-Reply-To: <20140121155616.6a8cdf9b@TOMWIJ-GENTOO> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: dbb79074-ceea-4ebe-a211-984e52a7c65f X-Archives-Hash: bdf0d98054becd00170793220dd0533d I don't want to appear rude, but when reading this entire mail all I see is someone who has probably never had to do it for real. People are not machines. Volunteers really do not like having their freely given time nullified and access removed because one person thought it was deserved. Do you realise the message that is sent by denying someone access? You are saying that person is not good enough to work on Gentoo. Do you really want to send that message? Vast wholescale breakage is very rare and not something you can base policy on. Rich's most recent reply is the most sane proposal I've seen so far. Revoking access is a human problem and is solved with human solutions. Do beware the law of unintended side-effects. On 01/21/14 16:56, Tom Wijsman wrote: > On Mon, 20 Jan 2014 16:09:46 +0200 > Alan McKinnon wrote: > >> Speaking as someone who had this power in his day job, for QA to be >> able to suspend accounts is a very bad idea indeed. It always ends >> badly. I suspended 20+ accounts in my current job over the years and >> the number of cases where it was the right thing to do is precisely 0. > > The relation between "using power" and "having power is a bad idea" is > non-existing; it is rather how that power is used that determines > whether it is a good idea than whether one is able to use that power. > >> It was always a case of ill-advised action taken out of frustration, >> or bypass the training step, or don't try hard enough to reach the >> "infringer" and communicate like grown adults. Yup, I did all three. > > The prior experience demonstrated here shows how frustration or lack of > proper communication are really good symptoms to investigate and learn > from; however, these symptoms seem non-existing with our QA lead. > >> Suspending an account is a very serious thing to undertake, the >> effects on the suspended person are vast and this power should never >> lie with the person who is feeling the pain. > > This is the core symptom of the way you do QA, if you are the person > that is feeling pain then you need to reconsider your QA position; the > thing feeling the pain here is the Portage tree, and the QA team is > just ensuring its quality and thus should not get emotional or > personally affected by the developers' changes to some bits 'n bytes. > > Of course one could see QA as defending the Portage tree with our heart; > but not that literally, at least not up to the point that one gets > painfully hurt or even just frustrated... > >> Instead, there are well established channels to the body who can make >> the decision. If QA has a problem with a dev for any reason >> whatsoever, then QA should make a well-thought out case to that other >> body for decision. > > Adding extra bodies adds more delay; furthermore, these bodies have > less time, understanding and more about the technical QA issue at hand. > > If a developer does an unannounced mass action that breaks the tree > severely or is heavily prohibited by policy, is unreachable while he > continues to commit this; then it would be handy to "temporarily" be > able to withdraw the commit access to bring it to that developer's > attention. This is under the assumption that we have tried to contact > the person multiple time and after a reasonable amount of time the > person has not responded; if we still then need to wait for another > team to notice, investigate and finally take action whereas we have > already took the decision, ... > > This is rather to note that we need have a talk to coordinate that mass > action and unbreak the tree, than it is to punish that developer by > hitting with a ruler on his/her hand; in a sense of "let's fix the > damage to the tree and proceed". > > There even can happen worse things; like misusing 'pkgmove', the > @system set or similar that can cause some real havoc. It is in this > occasion where a developer hasn't discussed or talked to anyone earlier > before proceeding with a change he knows he shouldn't do, as well as > ignoring us afterwards; that we simply temporarily cannot allow further > commits, simply because the developer seems "technically unable to > follow the policy and its enforcement". > > This is similar to how you have Gentoo support ops in #gentoo, Gentoo > chat ops in #gentoo-chat and individual ops in individual IRC channels; > if they had to rely on another body which would be the group contacts or > FreeNode, you would have to wait a long for them to kick, ban or mute. > > If the non-technical ComRel lead has this power, then why doesn't the > technical QA lead have this power? After all, the technical lead assures > the quality of what the developer has access to; like I stated above, > the technical lead has more time, understanding and knows the issue. > > You can see this as ComRel improving the QA of the community relations, > whereas QA is improving the QA of the Portage tree and its commits; to > some extent it even becomes questionable why ComRel can suspend access > to the Portage tree, but I guess for revert wars between developers. > >> Anything else is madness and open invitation for it to all go south. > > This is a too broad generalization on the basis of one use case. > > See power as an useful temporary tool for when it is absolute necessary, > don't see it as a permanent tool for whenever something goes wrong; the > former usefulness leads to success, the latter madness leads to sadness. > -- Alan McKinnon alan.mckinnon@gmail.com