From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (EUR04-VI1-obe.outbound.protection.outlook.com [40.107.8.52]) by mx.groups.io with SMTP id smtpd.web10.10140.1588692103657467702 for ; Tue, 05 May 2020 08:21:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=b+UgY0E7; spf=pass (domain: arm.com, ip: 40.107.8.52, mailfrom: samer.el-haj-mahmoud@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TGZQjJcQvr2jF+xyWVuPBbWw8nCCRhcNyFMYRvHn6LI=; b=b+UgY0E7LsSV5QaKtg+0ebkXk1xDnrqmz1FtQfqXEMP6c1g0HVnkM/rFmxCxhO6v2esnzvVctQ4yM54QsQLau0JSp9/zRheXQy6p1YUviyuj/bFttRnhcdyHWjcgmAnvG2lxYzHd4ZS3Djgeb+yIpgg3AgWjTtK7v7J+394iZZs= Received: from AM5PR0402CA0003.eurprd04.prod.outlook.com (2603:10a6:203:90::13) by HE1PR0801MB1691.eurprd08.prod.outlook.com (2603:10a6:3:7b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Tue, 5 May 2020 15:21:40 +0000 Received: from VE1EUR03FT032.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:90:cafe::96) by AM5PR0402CA0003.outlook.office365.com (2603:10a6:203:90::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.26 via Frontend Transport; Tue, 5 May 2020 15:21:40 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT032.mail.protection.outlook.com (10.152.18.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Tue, 5 May 2020 15:21:39 +0000 Received: ("Tessian outbound b3a67fbfbb1f:v54"); Tue, 05 May 2020 15:21:39 +0000 X-CR-MTA-TID: 64aa7808 Received: from 9c217de776c2.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9FB39045-443B-41DC-A987-85D9473263CF.1; Tue, 05 May 2020 15:21:34 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9c217de776c2.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 05 May 2020 15:21:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Chbb3m3jv5xf+4atAwm5xcoRUhdl3jKZRs86bChkuZHs4kaESYtILy2dnOF/MwX6RTqD8U+6vPHFYPsAb3y03cVYPoG0qdWJ53iIWPyhoCXx4KJjuOqmhH2sAqvDwoWRufAEtqiDe4D+sw8txkMKx41J6m+XSzC0k8SgFzegEojyQUSR82HA8qJGIIiuRfB0wF5qZtVxOD4cqjlD8QHR1Xcn/91vYlEUg7N54AHLUULW46LK96gYhmT+LklGmuDVNfPI+GdTmnPAYp9lbYOZTE84FJ+Pqdb/tmnM7D08AIVFo26wYVWcQMhvmy6f5PkhijXDGXVSBuJGqbl6sjZMww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TGZQjJcQvr2jF+xyWVuPBbWw8nCCRhcNyFMYRvHn6LI=; b=B/0V4/y/niMWZ6glr0FO5qxpkyJ8Op9Du5PANHCXMsS9B/55voBVjCcZiYnwbqUizq+NRfTlhWJZS2RXB12PW35Hvy6nZsVnqKIj3lUJkrFPGlmyDgyNVpZMcKwbl0fQzaG+XBpYej+02FDj44YWA8A55jbCbssQKObRHuiCK7Bm6zRm6lv5bkTbTYO84Ufgf9xDOgTTAZzQrP4DH2qierxiZKdQITn9tub9T+g9EabqbdDM7YQfA9SuIjchhPwTPGrnbFOfpTwg7myxDZjvcwDBW92PIVo3DJl0TN5+8Q8qZnMI0pIRIYc3nxl+bUmp7f8WEKT41wvId7daYcj7Mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TGZQjJcQvr2jF+xyWVuPBbWw8nCCRhcNyFMYRvHn6LI=; b=b+UgY0E7LsSV5QaKtg+0ebkXk1xDnrqmz1FtQfqXEMP6c1g0HVnkM/rFmxCxhO6v2esnzvVctQ4yM54QsQLau0JSp9/zRheXQy6p1YUviyuj/bFttRnhcdyHWjcgmAnvG2lxYzHd4ZS3Djgeb+yIpgg3AgWjTtK7v7J+394iZZs= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DB7PR08MB3419.eurprd08.prod.outlook.com (2603:10a6:10:42::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.27; Tue, 5 May 2020 15:21:32 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::990e:ed79:bec0:9dac]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::990e:ed79:bec0:9dac%7]) with mapi id 15.20.2958.030; Tue, 5 May 2020 15:21:32 +0000 From: "Samer El-Haj-Mahmoud" To: "rfc@edk2.groups.io" , "leif@nuviainc.com" , "devel@edk2.groups.io" CC: "Felixp@ami.com" , Mark Doran , Andrew Fish , Laszlo Ersek , Michael D Kinney , Samer El-Haj-Mahmoud Subject: Re: [edk2-rfc] [RFCv2] code-first process for UEFI-forum specifications Thread-Topic: [edk2-rfc] [RFCv2] code-first process for UEFI-forum specifications Thread-Index: AQHWAUYVd9GzOR4+/E60o/i/2ah3YKiZ3Xgw Date: Tue, 5 May 2020 15:21:32 +0000 Message-ID: References: <20200323190548.GF22097@bivouac.eciton.net> In-Reply-To: <20200323190548.GF22097@bivouac.eciton.net> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: c2000022-5356-4c15-9b89-333ab70b648a.1 x-checkrecipientchecked: true Authentication-Results-Original: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; x-originating-ip: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: cbbd97ee-c288-4057-e1f5-08d7f1080281 x-ms-traffictypediagnostic: DB7PR08MB3419:|DB7PR08MB3419:|HE1PR0801MB1691: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; x-forefront-prvs: 0394259C80 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Ct79VeBgY9KoNgN4G7hTz2NuxzZmU8wGcNO39Wxp9UxqTTkglBKJKKaEtJStdODa44ysHAV87NxSNwDXMtHoR7MpUG5qtIOCzgk5QTSvnm2kFSLozEUsAVQd4Fg1K+XGpgMTfNGGDh7E0lP/TAWRgzUXUC/IrQDW1P53065neS3S/tz+1xb0v7jCaM1oB7JTK+snut/XNT1XOSWlV7sX8CIG6qrGXvqQ6JiBJGeZil5gmg811klnIeHZ8QNLQgBcfVtHSuSvSsh4gggpM1DAMYKmwV6WaR4gS5dRd54+31CmOaqKwmFvQtaPUzKlkMuwjufimA4C/vlwVWnP87MB4tVKZuSbm41RpW4llnhiGNno1GaYaOuzrg7mE8oQgpztwUuZVybhW6Z12LsZEJqWfQnTFlnNQ/HxqnbmYCICA4QnoF7CqTT1bUgaVnn+lgj3NSWfJ/30WCbzthR1pRubfJhuYcu+AknJs3TdymkMZ3Ph1E0irZw5rO6dx4n+ZbJU3+Z/gp3RDbmVvX5SNYQi88Zs4ucFkZHkxW1uDTLkCBlv+2MuKKpr/GasDBgsDRc1C0heFoRCkd4UV6I2iirnmi9KAWmALmm3Atu55SdSFIk= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(136003)(376002)(396003)(366004)(346002)(33430700001)(2906002)(55016002)(52536014)(4326008)(110136005)(8676002)(33440700001)(316002)(54906003)(966005)(5660300002)(86362001)(9686003)(478600001)(8936002)(33656002)(71200400001)(76116006)(6506007)(26005)(66446008)(66476007)(186003)(66556008)(66946007)(7696005)(64756008)(53546011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: JyDuWghvOioc/hqHhD8SK4pozQXSlfIa3z90uOYxo0By43VxCxV5KoqzyHkmd1/sLXapcUEbt1Ab9tuY5gWq6Rmx/zFA0jbvNzbjZyAgqVZFG0CacMv28hDLBWCZ/ufxDraFnmBEUljE224FX4fguXsYR2ewEQw/+jrbqKHg3MRAoK/cZTVN+1h4p91X9NAj1SfvDnqYnflGorAfSd8KSe5OG78adfYWJ1sZNR5mdZaNaPlxJsS7dF/TZwBreFeEkM4X9T0Oqyp+5Ibj5KjFlB9h+UJlRqtNqzytKK7owKESPMkqP0Oo02Mtn3Vl5IUTa+5jA8NG9jTafUizMbqYpIX8+bx2VdBZ2CNrOtja4Jkxnroh97F3PKjopZrBGwJQHoXUCPdqxL5ku83OC82p37OIdRYlQBNAZ16ek7Y1DRsbN1mpE6bqwfbRBlXtxxbyAt3+uDku5ru2ES2fZ3YCiWTCTD92o2LqLsTWF+DUDEaqpPuZWeNi4NTkeXvFfNY41zVarWNUJu3vxb+jkqjOmODF5Bi1wsnMHJlTTgVYScuYcZ8pyZ8Pb9K7jhSH/Ukym52U1tH8GXGldRojzf56FRmIIVzxw666zkOcanW85/JmxdRMMlPfbxRAVeX555UpuK+MlSxsROViG8JSppdql7MIROnmW7iwjBuxV+AxLLbOJZczlyzGhnf0a4eDZmAEBAD7pXYnJ/41St9cnMsZ/tDDcFieWvNaDLukiGa1RKBXLVJruNazcrjVdBK+NoV+VxBWKDP/zgpbIByjFLiqzBXGfisqWSkHgqDAoiOmvA8= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3419 Original-Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT032.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(4636009)(376002)(396003)(346002)(136003)(39860400002)(46966005)(33430700001)(82740400003)(47076004)(966005)(36906005)(55016002)(9686003)(356005)(54906003)(4326008)(110136005)(450100002)(33440700001)(8936002)(2906002)(8676002)(5660300002)(7696005)(70206006)(52536014)(336012)(70586007)(316002)(86362001)(6506007)(53546011)(33656002)(81166007)(478600001)(186003)(26005)(82310400002);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: b88f52ba-5241-43c8-f0b7-08d7f107fe24 X-Forefront-PRVS: 0394259C80 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3UjPQ46XjSjN6kQ9Fc3huxnbetomP4VJMEZOCyD5hvBPOxlrhZgxLdGJNe9EZ5w89Fw3lX6Un43G3SLpofxTtT8SdizfRYZqhzRTlw15FV++Sspjtt3wLcmGpM4+E0QMiKk9XXVDKQ9O+vr4P7721j7T8McfsuEEgZRRGAYCMZybz4js9SjX/jdhBxl5bQlXkG0FhBq7ZhaBIn/EHEl6yShQbXBpjPeFykv4I8cENU7RNClWzz3QHNUwPK4KMsctZqxMNL70vdNRjjqL1hpKqzV//D9U8q9sYF5qeJcrayR6yTbkCe5ofxh8ymlP3mJqwi5sauEdftPg8ciil7SxeNywM584sDyRVaTi8g+jLoR4Om1XPz6oQM95bIQjvitWiptSEuHqCyW4RRYkthC4hdVucBVg6H22f9xxabCqyrHd3GD5RBhxekB7mOdkfctX2p8jNhKkDAwmgMbLlpNVSXyxKSdCK5KNPk8bNErXtwnQr0J9vTtlOsPISQ4j447jquXVIzv/ZcOmSF6uE+d0EthXM2KK/kCYPDia+EwhN7Z4ck5nST8CkL03TBSQLgGp1atmvpWBGNWWSgR2ETe7BK+6h9sPyIxcBvxDkqYNKE0G0fxjBiQk/2G1XC/RxQ15QfoP4eSr0HIH3fIBNXbQZA== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2020 15:21:39.8474 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cbbd97ee-c288-4057-e1f5-08d7f1080281 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1691 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Samer El-Haj-Mahmoud > -----Original Message----- > From: rfc@edk2.groups.io On Behalf Of Leif Lindholm > via Groups.Io > Sent: Monday, March 23, 2020 3:06 PM > To: devel@edk2.groups.io; rfc@edk2.groups.io > Cc: Felixp@ami.com; Mark Doran ; Andrew Fish > ; Laszlo Ersek ; Michael D Kinney > > Subject: [edk2-rfc] [RFCv2] code-first process for UEFI-forum specificat= ions > > Changes to v2 of this proposal: > - Feedback from Laszlo[a] and Mike[b] incorporated. > - I opted to view Mike's responses to Laszlo's questions as > accepted, as no follow-up was made. > > Feedback from Felix[c] *not* incorporated, as while I agree with all of = it, I am > not convinced that information should go here, but should instead reside= with > the UEFI Forum. (This text documents the public part of the process - it= would > cause me slight impedance mismatch to have it also document the non-publ= ic > part.) > > [a] https://edk2.groups.io/g/devel/message/53422 > [b] https://edk2.groups.io/g/devel/message/53738 > [c] https://edk2.groups.io/g/devel/message/54453 > > / > Leif > > --- > > This is a proposal for a process by which new features can be added to U= EFI > forum specifications after first having been designed and prototyped in = the > open. > > This process lets changes and the development of new features happen in = the > open, without violating the UEFI forum bylaws which prevent publication = of > code for in-draft features/changes. > > The process does not in fact change the UEFI bylaws - the change is that= the > development (of both specification and code) happens in the open. The > resulting specification update is then submitted to the appropriate work= ing > goup as an Engineering Change Request (ECR), and voted on. For the UEFI > Forum, this is a change in workflow, not a change in process. > > ECRs are tracked in a UEFI Forum Mantis instance, access restricted to U= EFI > Forum Members. TianoCore will enable this new process by providing areas > on https://bugzilla.tianocore.org/ to track both specification updates a= nd > reference implementations and new repositories under > https://github.com/tianocore/ dedicated to hold "code first". > > > ## Bugzilla > > bugzilla.tianocore.org will have a product category each for > * ACPI Specification > * PI Specification > * UEFI Specification > > Each product category will have a separate components for > * Specification > * Reference implementation > > > ## Github > New repositories will be added for holding the text changes and the sour= ce > code. > > Specification text changes will be held within the affected source repos= itory, > in the Github flavour of markdown, in a file (or split across several fi= les) with > .md suffix. > (This one may break down where we have a specification change affecting > multiple specifications, but at that point we can track it with multiple= BZ > entries) > > Reference implementations targeting EDK2 will be held in branches on edk= 2- > staging. > Additional repositories for implementing reference features in additiona= l > open source projects can be added in the future, as required. > > > ## Intended workflow > The entity initiating a specifiation update raises a Bugzilla in the app= ropriate > area in bugzilla.tianocore.org. This entry contains the outline of the c= hange, > and the full initial draft text is attached. > > If multiple specification updates are interdependent, especially if betw= een > different specifications, then multiple bugzilla entries should be creat= ed. > These bugzilla entries *must* be linked together with dependencies. > > After the BZs have been created, new branches should be created in the > relevant repositories for each bugzilla - the branch names should be BZ#= ###, > where #### describes the bugzilla ID assigned, optionally followed by a = '-' and > something more descriptive. If multiple bugzilla entries must coexist on= a > single branch, one of them is designated the 'top-level', with dependenc= ies > properly tracked. > That BZ will be the one naming the branch. > > > ## Source code > In order to ensure draft code does not accidentally leak into production= use, > and to signify when the changeover from draft to final happens, *all* ne= w or > modified[1] identifiers need to be prefixed with the relevant BZ####. > > [1] Modified in a non-backwards-compatible way. If, for example, a stati= cally > sized array is grown - this does not need to be prefixed. But a tag = in a > comment would be *highly* recommended. > > ### File names > New public header files need the prefix. I.e. `Bz1234MyNewProtocol.h` > Private header files do not need the prefix. > > ### Contents > > The tagging must follow the coding style used by each affected codebase. > Examples: > > | Released in spec | Draft version in tree | Comment = | > | --- | --- | --- = | > | `FunctionName` | `Bz1234FunctionName` | = | > | `HEADER_MACRO` | `BZ1234_HEADER_MACRO` | = | > > For data structures or enums, any new or non-backwards-compatible struct= s > or fields require a prefix. As above, growing an existing array in an ex= isting > struct requires no prefix. > > | `typedef SOME_STRUCT` | `BZ1234_SOME_STRUCT` | Typedef only [2] > | > | `StructField` | `Bz1234StructField` | In existing stru= ct[3] | > | `typedef SOME_ENUM` | `BZ1234_SOME_ENUM` | Typedef only [2] > | > > [2] If the struct or enum definition is separate from the typedef in the= public > header, the definition does not need the prefix. > [3] Individual fields in newly added typedefd struct do not need prefix,= the > struct already carried the prefix. > > Variable prefixes indicating global scope ('g' or 'm') go before the BZ = prefix. > > | `gSomeGuid` | `gBz1234SomeGuid` | = | > > Local identifiers, including module-global ones (m-prefixed) do not requ= ire a > BZ prefix. > >=20 IMPORTANT NOTICE: The contents of this email and any attachments are confi= dential and may also be privileged. If you are not the intended recipient, = please notify the sender immediately and do not disclose the contents to an= y other person, use it for any purpose, or store or copy the information in= any medium. Thank you.