json-schema-org / community

A space to discuss community and organisational related things
85 stars 34 forks source link

Open Community Working Meeting 2023-03-27 - 14:00 PT #356

Open benjagm opened 1 year ago

benjagm commented 1 year ago

Open Community Working Meeting 2023-03-27 - 14:00 PT

📺 See Recording

Go To Previous Meeting

Agenda:

Topic Owner Decision/NextStep
Review last call's action items [facilitator]
Reminder of PRs that require review @benjagm Test a github action to get notifications
Status of and next steps for https://github.com/orgs/json-schema-org/discussions/329 (Still Kinda Supporting Unknown Keywords - A call for proposals) @gregsdennis Accept the survey results and use x-. Close the discussion and communicate properly with blog post and social media campaign
GSoC update @benjagm
Apply to Sovereign Tech Fund Related issue: #360 @benjagm Identify the best projects to include in the proposal
<!-- [TOPIC] [IssuePRDiscussion] [owner] -->

Action items:

Notes:

Attendees

Account
@gregsdennis
@jdesrosiers
@Relequestual
@benjagm
@Julian
jviotti commented 1 year ago

I'm traveling and sadly won't be able to join, but looking forward to the outcome of the Sovereign Tech Fund discussion :)

awwright commented 1 year ago

Accept the survey results and use x-. Close the discussion and communicate properly with blog post and social media campaign

I saw this from https://github.com/json-schema-org/json-schema-spec/pull/1387

Can you please post the poll results? The results may be interesting, but last meeting I saw there wasn't a clear consensus; and most of the respondents might be comfortable with any outcome. Some might not be aware of the meaning of x- or fully understand why this is different, but could be persuaded with some explanation, it's difficult to tell.

I'm not terribly picky about prefix, but I do object to x- because usually means "experimental" and/or "user/private use" but that's not what's going on here, it's not a naming scheme to manage how we allocate keyword names, it's supposed to describe the behavior of the keyword to validators that might not know anything about its validation behavior. Specifically that it doesn't perform validation (or doesn't reject).

benjagm commented 1 year ago

Can you please post the poll results?

So far the results are:

Screenshot 2023-03-27 at 20 07 19
gregsdennis commented 1 year ago

I do object to x- because usually means "experimental" and/or "user/private use" but that's not what's going on here

We actually talked a bit about this. x- historically for HTTP has been problematic because of the experimental-to-production issue, but

  1. people had come to take it as, "I can add whatever I want as long as it stays with x-," which is what we're going for
  2. Our use is explicitly defined.

I didn't like it at first, either, but thinking of it this way makes sense to me.

The current tally is posted in the collaborators channel in slack. @benjagm is going to leave the survey open for one more week, then post the results publicly. At that point, I'll be updating the discussion with the decision and locking it, and writing an ADR (for us) and a blog post (for the public).

Relequestual commented 1 year ago

In terms of the prefix for annotation only values, critically, what we're signalling to schema authors here is, "this isn't going to be interoperable unless you have specific agreement". Now, any implementation may specifically say it will support any specific x- prefix keyword, and may, based on configuration (if it wants to be compliant), make additional validation. You could argue, "it's not supposed to do that". Well, no. Legally, it would need to do a second pass using those annotations... but it may simply "cut out the middle man" on that.

We signal, this is an annotation only [as far as compliant implementations should be concerned], and let others handle whatever additional things they want. Ideally, using the vocabulary system for usecases which require n above 1.

There is no question that we need better docs for how to use vocabularies. But, we also need to better quantify what interfaces we would like to see from implementers, and provide a way for implementers to signal such interfaces exist. (I'm working on that.)