Re: [Ext] The RPC's roadmap regarding GitHub

Mike Ounsworth <mike@ounsworth.ca> Tue, 04 August 2026 21:07 UTC

Return-Path: <mike@ounsworth.ca>
X-Original-To: wgchairs@mail2.ietf.org
Delivered-To: wgchairs@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id BC880123AFB10 for <wgchairs@mail2.ietf.org>; Tue, 4 Aug 2026 14:07:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785877637; bh=tteovBsHfx9fzyWezNzkqZckVOHyh3os87GA9Z0gbu4=; h=Date:To:From:Cc:Subject:In-Reply-To:References; b=b0iqaeJa4XL9v+xDdaJQQy0hxAgVAmPwu7WRFqGS2pJqPl3lVuuDl4FKmaQr/k19R qbmP5ZdFlFDifAAtCfu2ocbO9oI3njCURBVnu0DDsGSL5Zb+An702tYXiuaqHFDy37 atYdt8tt2lqe9Gk26WXHin/Y9RQO8DkawVFIe1VI=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level:
X-Spam-Status: No, score=-2.797 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=ounsworth.ca
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jo3ujrFAbKdZ for <wgchairs@mail2.ietf.org>; Tue, 4 Aug 2026 14:07:16 -0700 (PDT)
Received: from mail-10625.protonmail.ch (mail-10625.protonmail.ch [79.135.106.25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 9FD8B123AFB0B for <wgchairs@ietf.org>; Tue, 4 Aug 2026 14:07:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ounsworth.ca; s=protonmail2; t=1785877628; x=1786136828; bh=vi8R2NQRxHXv740veg7N2bdEs/CnsKtyRurt7OCmuEQ=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=hBb/HtVHu6KJ13UxjZsMjaxR3iu1RGxhf5xUX/7RqQQy0iH6aglvQ4WCmpCzr4w8i 2czpQ+A4tzdJfrshcHNuJzAyK5CBmPnAo6+S83lrmi6sxZ25bMG7+WvO5GcQQLRJdB S/iO6i3VvAKZz1nQKPo6RbA8A6IWxW7VCMZqfYdbbIDJA++tQgnaOi0Lw4P1BuoxYU DW3rPFEvJkAdGx8unBgiF+6lYdBpr1H/0hPauQSpSM7GYjw0eyCmyvdmA8xFUCBURi LF7UHsZstJ+EdBqdq1g/LoO77+AB49jP9btDKLJWV0mN4xc5z2UoY323nIeaGkv3oB BWdoD+NXNh3Gw==
Date: Tue, 04 Aug 2026 21:07:03 +0000
To: Paul Hoffman <paul.hoffman@icann.org>
From: Mike Ounsworth <mike@ounsworth.ca>
Subject: Re: [Ext] The RPC's roadmap regarding GitHub
Message-ID: <qnmkgoHFM8GGfWspAfJdMYKJto7JMqhRnFkLXHjbpmdKXwyHK4FZ07C-NV_5thxAGL3ZH3Y3ZQbcfxscUuOlUKCRaz-EoeRKWzn2DL4Eo60=@ounsworth.ca>
In-Reply-To: <A3A85C3F-1FC6-4683-9DFF-735BC0927B02@icann.org>
References: <cf16dc44-dee6-417b-8796-84c24b5adf2b@staff.rfc-editor.org> <3XgIjBtmulQvGkAdWqil1TCywq8fUnwW3zwTFZSiT4p9VSYN9ZetdsgKu9gMKYtA9Nr1dkOdezlqFxYBi2RxwUATD6Xi7-Fyu39_qcY6qaQ=@ounsworth.ca> <7F1F1680-8959-4D84-AF4E-E9FECE32081F@kuehlewind.net> <A3A85C3F-1FC6-4683-9DFF-735BC0927B02@icann.org>
Feedback-ID: 61358882:user:proton
X-Pm-Message-ID: 06ff10633e78a030542c2a6ecb6902336c06c2f7
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: 24UU5RS6EN7Z3O334IERX3VRHVOX6XLU
X-Message-ID-Hash: 24UU5RS6EN7Z3O334IERX3VRHVOX6XLU
X-MailFrom: mike@ounsworth.ca
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-wgchairs.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: WG Chairs <wgchairs@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
List-Id: Working Group Chairs <wgchairs.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/wgchairs/QM8lWViW_0GsQ_eNSAwlf4xTZT8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wgchairs>
List-Help: <mailto:wgchairs-request@ietf.org?subject=help>
List-Owner: <mailto:wgchairs-owner@ietf.org>
List-Post: <mailto:wgchairs@ietf.org>
List-Subscribe: <mailto:wgchairs-join@ietf.org>
List-Unsubscribe: <mailto:wgchairs-leave@ietf.org>

RPS makes a fork and PR back to the origin when done makes sense to me too. Good suggestion Mirja.

That said:

> There are many ways that WGs own repos, with different ownership models. Some WG drafts still live in repos owned by one of the authors.

I do think that for a plethora of reasons, the IETF will sooner-or-later have to grapple with standardizing how we handle git repos of active WG documents. We've already had flavours of this, for example whether discussions on github issues / PRs count as "official WG activity" for the purposes of calling consensus.

I would also advocate that all adopted drafts should have their .xml / .md in git, not necessarily enforcing any specific set of build tools, but just for the purpose of having the source of the draft publicly available and easy to find -- if it's a WG document, then the WG (and not just the authors) should have a copy of the draft source. And also because github issues and PRs are an incredibly effective way for community members to do reviews and submit suggested changes.

Example: We recently had a document in ACME which was a single-author draft, then that author changed jobs and completely stopped responding, so the chairs had to assign additional authors. It was a pain to first figure out if the draft source was even on github (thank goodness it was or we would have been reconstructing the source from the datatracker copy), and then we hard-forked the repo into https://github.com/ietf-wg-acme/ and handed out write access to the new authors. But that was not ideal because the list of open and past Issues, and open and past PRs did not come with the hard-fork. Also, we now had two repos and during WG development, some people submitted issues and PRs to the old repo that got lost for months before the (new) authors noticed.

Based on this experience, I strongly advocate for standardizing how we handle ownership of the gh repos of active WG documents, and I would like to make it mandatory for authors to use the github "Transfer Ownership" functionality to move it to a gh org controlled by the chairs and RPC as part of adoption.


-Mike 

"Knowing is a barrier which prevents learning" -- Frank Herbert, Dune.


"An expert is a person who has found out by his own painful experience all the mistakes that one can make in a very narrow field.” -- Niels Bohr

On Tuesday, August 4th, 2026 at 3:23 PM, Paul Hoffman <paul.hoffman@icann.org> wrote:

> On Aug 4, 2026, at 09:00, Mirja Kuehlewind (IETF) <ietf=40kuehlewind.net@dmarc.ietf.org> wrote:
> >
> > Strong +1
> >
> > The right to do that could be that if a wg repo exists the RPC forks that repo, does all its work on its own fork (with the authors or not) and at the end create a PR to the original repo.
> 
> Please note that this is *not* a +1 to what Mike proposed:
> 
> >> Given this, the end-state that I would like to see is that where a WG-owned gh repo already exists, the RPC should work there not in a newly created hard-copy. I see risks of (2) that we end up with two "official" copies of the document source: one owned by the RPC and one owned by the WG. At a minimum, we probably need written-down process to make sure that those stay in-sync with each other. The path I'm envisioning probably requires standardizing how WG gh repos are run -- you probably want them all centralized under an IETF Org so that the RPC staff (and not just the WG chairs) have administrative access to them.
> 
> Mike proposed working in "someone else's" repo, while Mirja proposed working in a fork that could be later PR'd into the earlier repo.
> 
> For many reasons, I support Mirja's proposal over Mike's. There are many ways that WGs own repos, with different ownership models. Some WG drafts still live in repos owned by one of the authors. Not everyone uses the same tooling in their repos. And so on.
> 
> The RPC should not have to deal with legacy tooling in repos.
> 
> The RPC can fork a repo and use just the .mkd/.xml file there, do what they normally do, then when finished create a pull request for the original repo. It is up to the original repo owner to deal with fighting with merge conflicts or choose to just keep the pre-RPC file separate and start fresh with the RPC output. And it is up to the original repo owner to deal with any other files in the pull request however they want.
> 
> --Paul Hoffman
> 
>