Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp789118ybt; Wed, 8 Jul 2020 11:41:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+USvRXmOFnvjlWhphWtlhnMW1kMn2lAM+lZIedZ4aJ6l2HgvgfUPbYAAwnjK5Lq6I8vrx X-Received: by 2002:a05:6402:164f:: with SMTP id s15mr69000098edx.239.1594233711139; Wed, 08 Jul 2020 11:41:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594233711; cv=none; d=google.com; s=arc-20160816; b=tSVtStemp2h+KMHT4YX4PPz1FlW7jLxVCYHwxmbpCl8t4Q27p32JJNvmiE1N1Vixwm mLcT0ZQR4rOWe12TLdE9V2oj2gC/cPmUnQUz1HUwWDBE3qoPSxlGgobTe6D9Smk5Iiox a7VZzp2OABlE5W8/IJFtYeb6Q0hJ3DvmubEmtdYB6sD8ksB8r2FoEMHpXCcIewjpuY3b Af76rSfTuylOOUDNj3JLxR+RVtE+M09poDiUps4Ci1cEN8Zs4yh6oHg2ARNEqPL32h+k wTgsHH76tJylH3wnEss5gGN4Hvu6M5UomE3lPblLfWkjvWJKeQqXTXLL7KlZKMotubW2 ILnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:mail-followup-to:message-id:subject:cc:to :from:date:dkim-signature; bh=TyJd61Ud3JFeQX2MII1TODTLqptF/ehQnsgglVDOJNw=; b=SeZirfw7+fXxcy84owj4edWFJ9s5VswZDEgLxqtus1GgaTBNYGS6f44yB1r6VyDrlr tXTeZlqEcbgGHd2sofaljh2TNd7iNnrgKwmUzbzjNySdDUwDVUClYpz7UDQGcc7Q/CoC /vsgRY1c7/RTfHQawNe6BVf4jRgpivvDTKheCTDbcMtwLLuW/eCBsRWtqW7yZPSpHd0y rUKJMoe0sEjagTsyLumfiO+leTiQYYRbZ02SEgSiiOLTgl1U+3rCn/fSKFcfQ+jQieiX 4Ex9YBr0CXzVX/vQKquT8MpqhW7Mx70GL09aVKbS5aZt+woOtkIHx/wMgHS0jhbmmi3p DNuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=bgkuzPve; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h27si435191ejd.184.2020.07.08.11.41.27; Wed, 08 Jul 2020 11:41:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=bgkuzPve; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726289AbgGHSkP (ORCPT + 99 others); Wed, 8 Jul 2020 14:40:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60812 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725937AbgGHSkP (ORCPT ); Wed, 8 Jul 2020 14:40:15 -0400 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D38DEC061A0B for ; Wed, 8 Jul 2020 11:40:14 -0700 (PDT) Received: by mail-wm1-x341.google.com with SMTP id f18so4246236wml.3 for ; Wed, 08 Jul 2020 11:40:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to; bh=TyJd61Ud3JFeQX2MII1TODTLqptF/ehQnsgglVDOJNw=; b=bgkuzPveQejCGDpMcXrhlbc5B85RFDJXpYWN2dmGWB3P08Y96yj27ZEw2wgY2r0Pe4 idyejdYEAlgJKcsxmJ2tSYv1nVV1OaOBy8WgyIcxJGAPkiv6zGY/mf8fISwOzYDR0lx1 L1k8RR9O6P5++q1U4aBISf2iJm0XNxBCUSJGo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to; bh=TyJd61Ud3JFeQX2MII1TODTLqptF/ehQnsgglVDOJNw=; b=TDZJhYN6dUaOg19cV18Hj7PyA9onK1aPwx+r9KgSNqTdTIJBMvTtR66qLoEmWIEQe1 b3FesYWmnXT84vFe/wHxjWzbCyy2Rg1qWZ1IxrhZgqb3AuWe4QgLjMdym/eRaaiPnsRb nZzI9EU0fvt5Ck6mUGDUbvSX5pxyETth8MwU4n6WuiwDfJE/CDgNHfxmWfixcwhuO2xG TSFhPNkZsiA1ujrnnfCkmMteRECiRCFLWl+luVdMSgQawVo8ebbKUM+TarTNRaYChGGs EoZRBoEjEcEVJViyBhFbXqTPzkmlAnygvB6Q/zU2YFIsxMaML86j25hwuM2lBg3EbaJd 9hlQ== X-Gm-Message-State: AOAM531pA/jlIVWwEc84eU4yNmo0m+8SyZ++Et4ARYGi/r475J/ah+v7 6bVLJnvH1YbDrdqjTeXZnNEXDg== X-Received: by 2002:a7b:cf16:: with SMTP id l22mr11509127wmg.68.1594233613517; Wed, 08 Jul 2020 11:40:13 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id m62sm900609wmm.42.2020.07.08.11.40.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jul 2020 11:40:12 -0700 (PDT) Date: Wed, 8 Jul 2020 20:40:10 +0200 From: Daniel Vetter To: Dan Williams Cc: torvalds@linux-foundation.org, ksummit-discuss@lists.linuxfoundation.org, Greg Kroah-Hartman , linux-kernel@vger.kernel.org, tech-board-discuss@lists.linuxfoundation.org, Chris Mason Subject: Re: [Ksummit-discuss] [PATCH] CodingStyle: Inclusive Terminology Message-ID: <20200708184010.GL3278063@phenom.ffwll.local> Mail-Followup-To: Dan Williams , torvalds@linux-foundation.org, ksummit-discuss@lists.linuxfoundation.org, Greg Kroah-Hartman , linux-kernel@vger.kernel.org, tech-board-discuss@lists.linuxfoundation.org, Chris Mason References: <159389297140.2210796.13590142254668787525.stgit@dwillia2-desk3.amr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <159389297140.2210796.13590142254668787525.stgit@dwillia2-desk3.amr.corp.intel.com> X-Operating-System: Linux phenom 5.6.0-1-amd64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jul 04, 2020 at 01:02:51PM -0700, Dan Williams wrote: > Recent events have prompted a Linux position statement on inclusive > terminology. Given that Linux maintains a coding-style and its own > idiomatic set of terminology here is a proposal to answer the call to > replace non-inclusive terminology. > > Cc: Jonathan Corbet > Cc: Kees Cook > Signed-off-by: Chris Mason > Signed-off-by: Greg Kroah-Hartman > Signed-off-by: Dan Williams Acked-by: Daniel Vetter > --- > Documentation/process/coding-style.rst | 12 ++++ > Documentation/process/inclusive-terminology.rst | 64 +++++++++++++++++++++++ > Documentation/process/index.rst | 1 > 3 files changed, 77 insertions(+) > create mode 100644 Documentation/process/inclusive-terminology.rst > > diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst > index 2657a55c6f12..4b15ab671089 100644 > --- a/Documentation/process/coding-style.rst > +++ b/Documentation/process/coding-style.rst > @@ -319,6 +319,18 @@ If you are afraid to mix up your local variable names, you have another > problem, which is called the function-growth-hormone-imbalance syndrome. > See chapter 6 (Functions). > > +For symbol names, avoid introducing new usage of the words 'slave' and > +'blacklist'. Recommended replacements for 'slave' are: 'secondary', > +'subordinate', 'replica', 'responder', 'follower', 'proxy', or > +'performer'. Recommended replacements for blacklist are: 'blocklist' or > +'denylist'. > + > +Exceptions for introducing new usage is to maintain a userspace ABI, or > +when updating code for an existing (as of 2020) hardware or protocol > +specification that mandates those terms. For new specifications consider > +translating specification usage of the terminology to the kernel coding > +standard where possible. See :ref:`process/inclusive-terminology.rst > +` for details. > > 5) Typedefs > ----------- > diff --git a/Documentation/process/inclusive-terminology.rst b/Documentation/process/inclusive-terminology.rst > new file mode 100644 > index 000000000000..a8eb26690eb4 > --- /dev/null > +++ b/Documentation/process/inclusive-terminology.rst > @@ -0,0 +1,64 @@ > +.. _inclusiveterminology: > + > +Linux kernel inclusive terminology > +================================== > + > +The Linux kernel is a global software project, and in 2020 there was a > +global reckoning on race relations that caused many organizations to > +re-evaluate their policies and practices relative to the inclusion of > +people of African descent. This document describes why the 'Naming' > +section in :ref:`process/coding-style.rst ` recommends > +avoiding usage of 'slave' and 'blacklist' in new additions to the Linux > +kernel. > + > +On the triviality of replacing words > +==================================== > + > +The African slave trade was a brutal system of human misery deployed at > +global scale. Some word choice decisions in a modern software project > +does next to nothing to compensate for that legacy. So why put any > +effort into something so trivial in comparison? Because the goal is not > +to repair, or erase the past. The goal is to maximize availability and > +efficiency of the global developer community to participate in the Linux > +kernel development process. > + > +Word choice and developer efficiency > +==================================== > + > +Why does any software project go through the trouble of developing a > +document like :ref:`process/coding-style.rst `? It does so > +because a common coding style maximizes the efficiency of both > +maintainers and developers. Developers learn common design patterns and > +idiomatic expressions while maintainers can spot deviations from those > +norms. Even non-compliant whitespace is considered a leading indicator > +to deeper problems in a patchset. Coding style violations are known to > +take a maintainer "out of the zone" of reviewing code. Maintainers are > +also sensitive to word choice across specifications and often choose to > +deploy Linux terminology to replace non-idiomatic word-choice in a > +specification. > + > +Non-inclusive terminology has that same distracting effect which is why > +it is a style issue for Linux, it injures developer efficiency. > + > +Of course it is around this point someone jumps in with an etymological > +argument about why people should not be offended. Etymological arguments > +do not scale. The scope and pace of Linux to reach new developers > +exceeds the ability of historical terminology defenders to describe "no, > +not that connotation". The revelation of 2020 was that black voices were > +heard on a global scale and the Linux kernel project has done its small > +part to answer that call as it wants black voices, among all voices, in > +its developer community. > + > +Really, 'blacklist' too? > +======================== > + > +While 'slave' has a direct connection to human suffering the etymology > +of 'blacklist' is devoid of a historical racial connection. However, one > +thought exercise is to consider replacing 'blacklist/whitelist' with > +'redlist/greenlist'. Realize that the replacement only makes sense if > +you have been socialized with the concepts that 'red/green' implies > +'stop/go'. Colors to represent a policy requires an indirection. The > +socialization of 'black/white' to have the connotation of > +'impermissible/permissible' does not support inclusion. > + > +Inclusion == global developer community efficiency. > diff --git a/Documentation/process/index.rst b/Documentation/process/index.rst > index f07c9250c3ac..ed861f6f8d25 100644 > --- a/Documentation/process/index.rst > +++ b/Documentation/process/index.rst > @@ -27,6 +27,7 @@ Below are the essential guides that every developer should read. > submitting-patches > programming-language > coding-style > + inclusive-terminology > maintainer-pgp-guide > email-clients > kernel-enforcement-statement > > _______________________________________________ > Ksummit-discuss mailing list > Ksummit-discuss@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch