Subject: [httpapi] Alissa Cooper's Block on charter-ietf-httpapi-00-00: (with BLOCK and COMMENT)

From: Alissa Cooper via Datatracker <[email-masked]>
Date: Wed, 09 Sep 2020 07:53:59 -0700

Alissa Cooper has entered the following ballot position for
charter-ietf-httpapi-00-00: Block

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/charter-ietf-httpapi/

----------------------------------------------------------------------
BLOCK:
----------------------------------------------------------------------

I agree with Martin. In particular, I am wondering how the WG will define
"specific use cases or applications" as referred to where the text says, "this
WG will not take on work items for APIs for specific use cases or applications."

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

I agree with Magnus that it is unclear whether the third bullet encompasses
work that the WG will do or not.

The first sentence is clunky. I would suggest "In addition to its use for web
browsing, HTTP is often used for machine-to-machine communication, facilitated
by HTTP APIs."

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 10 Sep 2020 11:15:42 +1000

Hi Alissa (et al),

Apologies, I missed many of the previous charter comments (there was some confusion about list creation -- it seems not many people were told), so I'll respond to some previous ones here.

(For folks who have just joined the list: this is the IESG's discussion of whether to adopt the WG charter; see <https://datatracker.ietf.org/doc/charter-ietf-httpapi/ballot/> and feel free to chime in).

> On 10 Sep 2020, at 12:53 am, Alissa Cooper via Datatracker <[email-masked]> wrote:
> 
> I agree with Martin.

Martin's comment was:

> from the charter I have no idea what portion of this large problem space constitutes the short-term objectives of this group.

As discussed in DISPATCH, this is purposefully not proposed with immediate milestones. To date, we've done some API-related work in the HTTP WG (e.g., Signatures), and in many ways this proposal is simply splitting that work out into a separate group to make it more accessible to its target community.

So, to Murray and Roman's comments, yes this is intended to be a standing group -- *if* it is healthy. I would consider it on probation for at least 6-9 months, to see if it's able to have good interaction with the rest of the API community and be productive; if not, as I've said many times I'll be the one most loudly calling for it to be shut down.

There are a number of potential drafts out there that the group could adopt, but I'd rather see a CfAs happen in the group, rather than as part of the chartering process; that will help form the community and give it ownership over what's going on (and will give it some experience running the CfA process). I gave a talk about API standards and linked to the mailing list last night, and so far the mailing list has almost 20 new members -- many who AFAICT are new to the IETF and also actively practicing in this area.

So if the IESG insists, we can add a few initial drafts as milestones, but for the reasons above I have a fairly strong preference not to.

> In particular, I am wondering how the WG will define "specific use cases or applications" as referred to where the text says, "this WG will not take on work items for APIs for specific use cases or applications."

It says the WG will *not* do those things.

That text is intended to prevent the WG from defining specific APIs. For example, if someone wants to create a HTTP API for DNS (to use a recent example), this group wouldn't be an appropriate place to do that.

> I agree with Magnus that it is unclear whether the third bullet encompasses work that the WG will do or not.

The intent there was that the group could talk about proposals for new status codes, but would need to defer their actual standardisation to the HTTP WG (since in HTTP status codes, like methods, are generic and not supposed to be specific to any application or even type of application).

I'm open to figuring out another way to do this -- and maybe the charter doesn't need to be so specific (or maybe it needs to be more?). But I think it's generally safer for restricted items like status codes and methods to go through the HTTP WG; we've been burned before on this (e.g., see WEBDAV).

> The first sentence is clunky. I would suggest "In addition to its use for web browsing, HTTP is often used for machine-to-machine communication, facilitated by HTTP APIs."

Fine by me.

Some other responses --

Erik K said 'I still think the working group name might be shortened by removing "ttp".'

I don't think that would be wise; not only would it remove the reinforcement of the term 'HTTP API' (terminology has been a problem for a while in this area), but it would also conflict with Eran Hammer Lahev's HAPI framework for building HTTP services. I also find that the IETF's penchant for cute names can be confusing and off-putting to outsiders.

Éric asks 'Should there also be a link with the CoRE WG?' 

Definitely not. CORE is not HTTP, and requiring coordination there would be burdensome to both communities. If the IESG is going to insist on coordination between HTTP and CORE, we have a *much* bigger discussion at our feet.

Ben wonders about TLS mutual authentication. I suspect that TLS extensions are out of scope for this community, but gauging interest in / requirements for doing it from HTTP APIs here could be useful. 

Roman asks 'As written, does all HTTP for web browser go to HTTPbis; and machine-to-machine comes here?'

That's a rough yardstick;  I expect there to be fairly close communication and coordination between the groups about potential work. This isn't that unusual in the IETF; e.g., I've seen work items go from SECDISPATCH to DISPATCH and then to the HTTP WG, with a fair amount of back-channel coordination between the relevant WG chairs and ADs.

I'd also observe that from discussions I've had, this split makes sense to HTTP folks; it might not from a greater distance, but I do think it'll work.

Cheers,

--
Mark Nottingham   https://www.mnot.net/

---

From: Alissa Cooper <[email-masked]>
Date: Thu, 10 Sep 2020 08:43:40 -0400

Hi Mark,

> On Sep 9, 2020, at 9:15 PM, Mark Nottingham <[email-masked]> wrote:
> 
> Hi Alissa (et al),
> 

I would say we put that in the charter then, so everyone agrees to revisit on the same time frame.

> It says the WG will *not* do those things.

Right, my question is how do you know which things you won’t do? 

> That text is intended to prevent the WG from defining specific APIs. For example, if someone wants to create a HTTP API for DNS (to use a recent example), this group wouldn't be an appropriate plac…

I think for applications it’s clearer, but what is a “specific use case”? To use your example above, let’s say my use case is that I want to be able to digitally sign the contents of HTTP messages. Since that is apparently in scope for the WG, why does it not count as a “specific use case”? I’m not arguing with the limitation, I’m just hoping to have the charter be more expressive in describing the boundary.

> The intent there was that the group could talk about proposals for new status codes, but would need to defer their actual standardisation to the HTTP WG (since in HTTP status codes, like methods, a…

Ok. It shouldn’t be in a bulleted list of what the WG’s outputs will be, but maybe can be described in its own paragraph.

Alissa

---

From: Barry Leiba <[email-masked]>
Date: Thu, 10 Sep 2020 12:31:01 -0400

The -00-01 version of the proposed charter includes Mark's latest
edits.  Alissa, will you check it and let us know what you think?

Thanks,
Barry

---

From: Alissa Cooper <[email-masked]>
Date: Thu, 10 Sep 2020 12:59:36 -0400

> On Sep 10, 2020, at 12:31 PM, Barry Leiba <[email-masked]> wrote:
> 

It does not address the points below about reviewing the productivity of the group after 6-9 months or about “specific use cases.” Otherwis it looks fine to me.

Thanks,
Alissa

---

From: Barry Leiba <[email-masked]>
Date: Thu, 10 Sep 2020 13:04:44 -0400

Mark, for "In particular, this WG will not take on work items for APIs
for specific use cases or applications," are we looking, perhaps for
something like, "In particular, this WG will not take on work items
for APIs for narrow use cases or specific applications"?

Barry

---

From: Mark Nottingham <[email-masked]>
Date: Fri, 11 Sep 2020 11:24:57 +1000

Responses below. See updated charter at:
  https://gist.github.com/mnot/8a29455df65df33d92902a1ecc3e7e68

> On 10 Sep 2020, at 10:43 pm, Alissa Cooper <[email-masked]> wrote:
>> 

I've added a nine-month checkup.

> I think for applications it’s clearer, but what is a “specific use case”? To use your example above, let’s say my use case is that I want to be able to digitally sign the contents of HTTP messages.…

Ah, I see. I've tried to address this, see what you think.

> Ok. It shouldn’t be in a bulleted list of what the WG’s outputs will be, but maybe can be described in its own paragraph.

Previously done.

Cheers,

---

From: Barry Leiba <[email-masked]>
Date: Fri, 11 Sep 2020 12:34:01 -0400

I have put Mark's latest version into the datatracker as -00-02.

Barry