Return-Path: <christophera@gmail.com> Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id DF3DDC0037 for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 17 Jan 2024 06:55:42 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id AD6646073F for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 17 Jan 2024 06:55:42 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org AD6646073F Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=gmail-com.20230601.gappssmtp.com header.i=@gmail-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=e4QzPJFt X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -1.399 X-Spam-Level: X-Spam-Status: No, score=-1.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 27JzCvZNjjEZ for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 17 Jan 2024 06:55:41 +0000 (UTC) Received: from mail-yw1-x1130.google.com (mail-yw1-x1130.google.com [IPv6:2607:f8b0:4864:20::1130]) by smtp3.osuosl.org (Postfix) with ESMTPS id 713CC606CB for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 17 Jan 2024 06:55:41 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 713CC606CB Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-5f0c0ca5ef1so104797317b3.2 for <bitcoin-dev@lists.linuxfoundation.org>; Tue, 16 Jan 2024 22:55:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail-com.20230601.gappssmtp.com; s=20230601; t=1705474540; x=1706079340; darn=lists.linuxfoundation.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=3NAusatnuc8XyCmdIIGpMlZAx4BQmSbVADh+6Lixnxk=; b=e4QzPJFtJH+BTONnzkTxM3Jb6wZL78+JKrk15teecX9UGIIDSz6WG0CEr7wvfeia1W Y+OWiAUay95Ps6TSuDl+8LXonhA/lUPVfnGV6Oc8jqTKeYM6Upzlm+1TxyXTjJJh90kg cFRSar/5GUBmKXeQgB9X9IhPwBgqfdw5IbcaiHCrciu/sLtTKt6fFOEGCAzQggbs59iL j6kwoyw+9y88mXRMgP3BvVFe0m/gIju6hP6OV+sVYnmW9pJ5QOaAMEI192/mtXX31H9D TnWdJ/xlkwa9KhOjB2ckul0Cu5FWF46ACS6a6OyP6e1otTQl3nEh0sIjmmmYbi9je5jf 2mbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705474540; x=1706079340; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3NAusatnuc8XyCmdIIGpMlZAx4BQmSbVADh+6Lixnxk=; b=xPcpb6uQlIeOMiVPbVG8pXyoTSbxtQf3ALb7bolu6rLgoLsYkxvqMbXTk5S2PSSpRt lcDnf6z8OqMJ4MixIqgMaDNKdRxiXqX5Yt9e6VencZfFpQ06Gph4VfQXiP1lSCu0+ggc 1mjM0TLNuzVA5GdfySxYlZ/2OZy+mlnFN5E+3h/ALrkA2HUwn3FhjjnsI2UjxcnnZaBg kkPJvSm+UW+VeYEAGVD3G01wy7sWS4bN/97RNJRnHYHBICrqRMAmqZQuT4y1cYTnX/S6 dtku9YObCpB3hQUrnozmkYDJPGBZqJSTLBqqHKU25l0FQNk3NcUi5b5IaJIEjYHfBNvZ 4Eqw== X-Gm-Message-State: AOJu0YzXDUcgbWZ6QbVt6A78oxdAVkdhyKx6Hu4wQL0s3TLcV0WY3Srd v7vv61mBYsCHDB0dyi9fnr3aTQ2XnGJ4C0H/OvTcCpv7DUMQePAX X-Google-Smtp-Source: AGHT+IFoxfwj36FPWjjVJ2+JfaXa1R0NKmyFWmZMhHZRMZjgp6JPP8+ns3bAKpWCvnAr52vyC+SOVpTHOGXFlkO3P2c= X-Received: by 2002:a25:a1ca:0:b0:db7:dacf:61f5 with SMTP id a68-20020a25a1ca000000b00db7dacf61f5mr4416789ybi.71.1705474540124; Tue, 16 Jan 2024 22:55:40 -0800 (PST) MIME-Version: 1.0 References: <Zac+rMC/c+qTmSxY@erisian.com.au> In-Reply-To: <Zac+rMC/c+qTmSxY@erisian.com.au> From: Christopher Allen <ChristopherA@lifewithalacrity.com> Date: Tue, 16 Jan 2024 22:55:03 -0800 Message-ID: <CACrqygDJRtZN4Oo30=DaFO2KYkn1H+Daxh5cinHKz66Uvn9BVg@mail.gmail.com> To: Anthony Towns <aj@erisian.com.au>, Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> Content-Type: multipart/alternative; boundary="000000000000233f13060f1ebc0f" X-Mailman-Approved-At: Wed, 17 Jan 2024 16:39:11 +0000 Subject: Re: [bitcoin-dev] BIP process friction X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Wed, 17 Jan 2024 06:55:43 -0000 --000000000000233f13060f1ebc0f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 16, 2024 at 6:43=E2=80=AFPM Anthony Towns via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > If people want to use it for bitcoin-related proposals that don't have > anything to do with inquisition, that's fine; I'm intending to apply the > policies I think the BIPs repo should be using, so feel free to open a PR= , > even if you already know I think your idea is BS on its merits. If someon= e > wants to write an automatic-merge-bot for me, that'd also be great. > > If someone wants to reform the BIPs repo itself so it works better, > that'd be even better, but I'm not volunteering for that fight. > I've no idea how to reform BIPs, but we have a similar problem with the Blockchain Commons Research (BCR) vs Proposals (BCP), vs. specifications that are emerging in various other standards groups (IETF, W3C, and we have desire to submit some of these as BIPs as well). We do a few things differently, one of which in particular might be useful for the future of BIPs: we reset the numbers every year. So the first new BCR (research proposal) for 2024 would be 2024-01. Also, when there is a major change in an old BCR, we create a new number for it in the new year it is update. We also have a concept called "Status", which is a progression that only moves forward if BCRs are actually implemented with a reference implementation, and advances further when they have multiple implementations (and thus are qualified moved over to BCP repo as it is somewhat stable and no longer "research".). A last form is when a specification has moved to be controlled by another standards group (such as a BIP). If only one organization implements a BCR, it will never advance to BCP. Some form of Status for BIPs inspired by this concept could track if a BIP was ever actually implemented by someone, or more ideally, implemented by multiple people in multiple organizations, ideally in multiple languages. Here is how we currently do status, and the status of our current specifications: https://github.com/BlockchainCommons/Research/blob/master/README.md#status Each BCR has a status which is indicated by a symbol. SymbolTitleDescription =E2=9D=8C=E2=9D=8C Withdrawn Of historic interest only. Withdrawn either be= cause never came into use or proved sufficiently problematic that we do not recommend its usage in any way. =E2=9D=8C Superseded Superseded by a newer BCR. We do not suggest implement= ing as an output format, but you may still wish to implement as an input format to maintain backward compatibility. =F0=9F=93=99 Research Contains original research or proposes specifications= that have not yet been implemented by us. Offered to the community for consideration. =E2=AD=90=EF=B8=8F Reference Implementation At least one reference implemen= tation has been released, usually as a library, and may include demos or other supporting tools. This specification still remains very open to change because it has not yet (to our knowledge) been implemented by additional parties. =E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F Multiple Implementations At least two = (known) implementations exist, at least one not by the owner of the reference implementation. Has demonstrable community support. May still change due to the needs of the community, but community feedback will be sought. =E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F Standards Track Typi= cally at least two implementations, and is considered stable and ready for standardization. Being proposed as a BIP, IETF Internet Draft, or some other standardization draft format. Will typically be moved to the BCP repo <https://github.com/BlockchainCommons/bcps>. Though changes may still be made to the specification, these changes will exclusively be to allow for standardization, and will be conducted with community feedback. =E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F St= andardized A specification has been standardized as a an IETF RFC, BIP, or approved by some other standards body. =E2=9D=8C=E2=9D=8C after another status symbol is read, "...but withdrawn" = and =E2=9D=8C is read, "...but superseded". -- Christopher Allen --000000000000233f13060f1ebc0f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><span style=3D"background-color:rgb(255,2= 55,255)"><font color=3D"#000000"><br></font></span></div><font color=3D"#00= 0000"><br></font><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail= _attr"><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#00= 0000">On Tue, Jan 16, 2024 at 6:43=E2=80=AFPM Anthony Towns via bitcoin-dev= <<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@l= ists.linuxfoundation.org</a>> wrote:</font></span></div><blockquote clas= s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;b= order-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"= ><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#000000"> If people want to use it for bitcoin-related proposals that don't have<= br> anything to do with inquisition, that's fine; I'm intending to appl= y the<br> policies I think the BIPs repo should be using, so feel free to open a PR,<= br> even if you already know I think your idea is BS on its merits. If someone<= br> wants to write an automatic-merge-bot for me, that'd also be great.<br> <br> If someone wants to reform the BIPs repo itself so it works better,<br> that'd be even better, but I'm not volunteering for that fight.<br>= </font></span></blockquote><div><span style=3D"background-color:rgb(255,255= ,255)"><font color=3D"#000000"><br></font></span></div><div><span style=3D"= background-color:rgb(255,255,255)"><font color=3D"#000000">I've no idea= how to reform BIPs, but we have a similar problem with the Blockchain Comm= ons Research (BCR) vs Proposals (BCP), vs. specifications that are emerging= in various other standards groups (IETF, W3C, and we have desire to submit= some of these as BIPs as well).=C2=A0</font></span></div><div><span style= =3D"background-color:rgb(255,255,255)"><font color=3D"#000000"><br></font><= /span></div><div><span style=3D"background-color:rgb(255,255,255)"><font co= lor=3D"#000000">We do a few things differently, one of which in particular = might be useful for the future of BIPs: we reset the numbers every year. So= the first new BCR (research proposal) for 2024 would be 2024-01. Also, whe= n there is a major change in an old BCR, we create a new number for it in t= he new year it is update.</font></span></div><div><span style=3D"background= -color:rgb(255,255,255)"><font color=3D"#000000"><br></font></span></div><d= iv><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#000000= ">We also have a concept called "Status", which is a progression = that only moves forward if BCRs are actually implemented with a reference i= mplementation, and advances further when they have multiple implementations= (and thus are qualified moved over to BCP repo as it is somewhat stable an= d no longer "research".). A last form is when a specification has= moved to be controlled by another standards group (such as a BIP). If only= one organization implements a BCR, it will never advance to BCP.</font></s= pan></div><div><span style=3D"background-color:rgb(255,255,255)"><font colo= r=3D"#000000"><br></font></span></div><div><span style=3D"background-color:= rgb(255,255,255)"><font color=3D"#000000">Some form of Status for BIPs insp= ired by this concept could track if a BIP was ever actually implemented by = someone, or more ideally, implemented by multiple people in multiple organi= zations, ideally in multiple languages.=C2=A0</font></span></div><div><span= style=3D"background-color:rgb(255,255,255)"><font color=3D"#000000"><br></= font></span></div><div><span style=3D"background-color:rgb(255,255,255)"><f= ont color=3D"#000000">Here is how we currently do status, and the status of= our current specifications:=C2=A0</font></span><span style=3D"color:rgb(0,= 0,0)"><a href=3D"https://github.com/BlockchainCommons/Research/blob/master/= README.md#status">https://github.com/BlockchainCommons/Research/blob/master= /README.md#status</a></span></div><div><span style=3D"background-color:rgb(= 255,255,255)"><font color=3D"#000000"><br></font></span></div><div><p dir= =3D"auto" style=3D"box-sizing:border-box;margin-top:0px;margin-bottom:16px;= font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Not= o Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","= ;Segoe UI Emoji""><span style=3D"background-color:rgb(255,255,255)"><f= ont color=3D"#000000">Each BCR has a status which is indicated by a symbol.= </font></span></p><table style=3D"border-spacing:0px;border-collapse:collap= se;margin-top:0px;margin-bottom:16px;display:block;width:max-content;max-wi= dth:100%;overflow:auto;font-family:-apple-system,BlinkMacSystemFont,"S= egoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple = Color Emoji","Segoe UI Emoji""><thead style=3D"box-sizing:bo= rder-box"><tr style=3D"box-sizing:border-box"><th align=3D"left" style=3D"b= ox-sizing:border-box;padding:6px 13px"><span style=3D"background-color:rgb(= 255,255,255)"><font color=3D"#000000">Symbol</font></span></th><th align=3D= "left" style=3D"box-sizing:border-box;padding:6px 13px"><span style=3D"back= ground-color:rgb(255,255,255)"><font color=3D"#000000">Title</font></span><= /th><th align=3D"left" style=3D"box-sizing:border-box;padding:6px 13px"><sp= an style=3D"background-color:rgb(255,255,255)"><font color=3D"#000000">Desc= ription</font></span></th></tr></thead><tbody style=3D"box-sizing:border-bo= x"><tr style=3D"box-sizing:border-box"><td align=3D"left" style=3D"box-sizi= ng:border-box;padding:6px 13px"><span style=3D"background-color:rgb(255,255= ,255)"><font color=3D"#000000">=E2=9D=8C=E2=9D=8C</font></span></td><td ali= gn=3D"left" style=3D"box-sizing:border-box;padding:6px 13px"><span style=3D= "background-color:rgb(255,255,255)"><font color=3D"#000000">Withdrawn</font= ></span></td><td align=3D"left" style=3D"box-sizing:border-box;padding:6px = 13px"><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#000= 000">Of historic interest only. Withdrawn either because never came into us= e or proved sufficiently problematic that we do not recommend its usage in = any way.</font></span></td></tr><tr style=3D"box-sizing:border-box"><td ali= gn=3D"left" style=3D"box-sizing:border-box;padding:6px 13px"><span style=3D= "background-color:rgb(255,255,255)"><font color=3D"#000000">=E2=9D=8C</font= ></span></td><td align=3D"left" style=3D"box-sizing:border-box;padding:6px = 13px"><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#000= 000">Superseded</font></span></td><td align=3D"left" style=3D"box-sizing:bo= rder-box;padding:6px 13px"><span style=3D"background-color:rgb(255,255,255)= "><font color=3D"#000000">Superseded by a newer BCR. We do not suggest impl= ementing as an output format, but you may still wish to implement as an inp= ut format to maintain backward compatibility.</font></span></td></tr><tr st= yle=3D"box-sizing:border-box"><td align=3D"left" style=3D"box-sizing:border= -box;padding:6px 13px"><span style=3D"background-color:rgb(255,255,255)"><f= ont color=3D"#000000">=F0=9F=93=99</font></span></td><td align=3D"left" sty= le=3D"box-sizing:border-box;padding:6px 13px"><span style=3D"background-col= or:rgb(255,255,255)"><font color=3D"#000000">Research</font></span></td><td= align=3D"left" style=3D"box-sizing:border-box;padding:6px 13px"><span styl= e=3D"background-color:rgb(255,255,255)"><font color=3D"#000000">Contains or= iginal research or proposes specifications that have not yet been implement= ed by us. Offered to the community for consideration.</font></span></td></t= r><tr style=3D"box-sizing:border-box"><td align=3D"left" style=3D"box-sizin= g:border-box;padding:6px 13px"><span style=3D"background-color:rgb(255,255,= 255)"><font color=3D"#000000">=E2=AD=90=EF=B8=8F</font></span></td><td alig= n=3D"left" style=3D"box-sizing:border-box;padding:6px 13px"><span style=3D"= background-color:rgb(255,255,255)"><font color=3D"#000000">Reference Implem= entation</font></span></td><td align=3D"left" style=3D"box-sizing:border-bo= x;padding:6px 13px"><span style=3D"background-color:rgb(255,255,255)"><font= color=3D"#000000">At least one reference implementation has been released,= usually as a library, and may include demos or other supporting tools. Thi= s specification still remains very open to change because it has not yet (t= o our knowledge) been implemented by additional parties.</font></span></td>= </tr><tr style=3D"box-sizing:border-box"><td align=3D"left" style=3D"box-si= zing:border-box;padding:6px 13px"><span style=3D"background-color:rgb(255,2= 55,255)"><font color=3D"#000000">=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F</font= ></span></td><td align=3D"left" style=3D"box-sizing:border-box;padding:6px = 13px"><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#000= 000">Multiple Implementations</font></span></td><td align=3D"left" style=3D= "box-sizing:border-box;padding:6px 13px"><span style=3D"background-color:rg= b(255,255,255)"><font color=3D"#000000">At least two (known) implementation= s exist, at least one not by the owner of the reference implementation. Has= demonstrable community support. May still change due to the needs of the c= ommunity, but community feedback will be sought.</font></span></td></tr><tr= style=3D"box-sizing:border-box"><td align=3D"left" style=3D"box-sizing:bor= der-box;padding:6px 13px"><span style=3D"background-color:rgb(255,255,255)"= ><font color=3D"#000000">=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF= =B8=8F</font></span></td><td align=3D"left" style=3D"box-sizing:border-box;= padding:6px 13px"><span style=3D"background-color:rgb(255,255,255)"><font c= olor=3D"#000000">Standards Track</font></span></td><td align=3D"left" style= =3D"box-sizing:border-box;padding:6px 13px"><span style=3D"background-color= :rgb(255,255,255)"><font color=3D"#000000">Typically at least two implement= ations, and is considered stable and ready for standardization. Being propo= sed as a BIP, IETF Internet Draft, or some other standardization draft form= at. Will typically be moved to the<span class=3D"gmail-Apple-converted-spac= e">=C2=A0</span><a href=3D"https://github.com/BlockchainCommons/bcps" style= =3D"box-sizing:border-box;margin-bottom:0px">BCP repo</a>. Though changes m= ay still be made to the specification, these changes will exclusively be to= allow for standardization, and will be conducted with community feedback.<= /font></span></td></tr><tr style=3D"box-sizing:border-box"><td align=3D"lef= t" style=3D"box-sizing:border-box;padding:6px 13px"><span style=3D"backgrou= nd-color:rgb(255,255,255)"><font color=3D"#000000">=E2=AD=90=EF=B8=8F=E2=AD= =90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F</font></span></td><td alig= n=3D"left" style=3D"box-sizing:border-box;padding:6px 13px"><span style=3D"= background-color:rgb(255,255,255)"><font color=3D"#000000">Standardized</fo= nt></span></td><td align=3D"left" style=3D"box-sizing:border-box;padding:6p= x 13px"><span style=3D"background-color:rgb(255,255,255)"><font color=3D"#0= 00000">A specification has been standardized as a an IETF RFC, BIP, or appr= oved by some other standards body.</font></span></td></tr></tbody></table><= p dir=3D"auto" style=3D"box-sizing:border-box;margin-top:0px;margin-bottom:= 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",&quo= t;Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji",= "Segoe UI Emoji""><span style=3D"background-color:rgb(255,255,255= )"><font color=3D"#000000">=E2=9D=8C=E2=9D=8C after another status symbol i= s read, "...but withdrawn" and =E2=9D=8C is read, "...but su= perseded".</font></span></p><p dir=3D"auto" style=3D"box-sizing:border= -box;margin-top:0px;margin-bottom:16px;font-family:-apple-system,BlinkMacSy= stemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-se= rif,"Apple Color Emoji","Segoe UI Emoji""><span style= =3D"color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif">-- Christopher= Allen</span><span style=3D"background-color:rgb(255,255,255)"><font color= =3D"#000000"><br></font></span></p></div></div></div> --000000000000233f13060f1ebc0f--