Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a proposal for the Interop 2024 process #390

Closed
wants to merge 22 commits into from
Closed
Changes from 16 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
93104fa
Add a proposal for the Interop 2024 process
gsnedders Aug 8, 2023
678df78
Move opening two sections of planning-process.md to new PR
gsnedders Aug 18, 2023
8071119
fixup! Add a proposal for the Interop 2024 process
gsnedders Sep 6, 2023
e22cdc3
fixup! Add a proposal for the Interop 2024 process
gsnedders Sep 6, 2023
afe00cb
fixup! Add a proposal for the Interop 2024 process
gsnedders Sep 6, 2023
b2ae8b3
fixup! Add a proposal for the Interop 2024 process
gsnedders Sep 6, 2023
8e9c82d
fixup! Add a proposal for the Interop 2024 process
gsnedders Sep 6, 2023
1fb6dbb
Apply suggestions from code review
foolip Sep 7, 2023
d825b88
Update planning-process.md
jensimmons Sep 28, 2023
6417e5c
Update 2024/planning-process.md
gsnedders Oct 4, 2023
7093980
Note parts are confidential
gsnedders Oct 5, 2023
6a599d3
Update 2024/planning-process.md
jensimmons Oct 11, 2023
fbc12e1
Update 2024/planning-process.md
jensimmons Oct 11, 2023
2bbe6f9
Update 2024/planning-process.md
jensimmons Oct 12, 2023
a5a4f1f
Update 2024/planning-process.md
jensimmons Oct 12, 2023
d95c7fe
Apply suggestions from code review
jensimmons Oct 12, 2023
e1bb8e4
Update 2024/planning-process.md
jensimmons Oct 12, 2023
9087fde
Update 2024/planning-process.md
jensimmons Oct 12, 2023
9ae26c3
Update 2024/planning-process.md
jensimmons Oct 12, 2023
52d9462
Update 2024/planning-process.md
jensimmons Oct 12, 2023
3d078cc
Update 2024/planning-process.md
jensimmons Oct 12, 2023
45744aa
Update 2024/planning-process.md
jensimmons Oct 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions 2024/planning-process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Proposal for Interop 2024 Process

## Process

### Timeline

1. Call for Proposal Period — three weeks (Sep 14 – Oct 7)
2. Continued discussion and refinement of proposals — one week (Oct 8 – Oct 14)
3. Elimination Round 1: Disqualification — one week (Oct 12 – Oct 19)
jensimmons marked this conversation as resolved.
Show resolved Hide resolved
4. Elimination Round 2: Reduction — two weeks (Oct 19 – Nov 2)
jensimmons marked this conversation as resolved.
Show resolved Hide resolved
5. Elimination Round 3: Prioritization — three weeks (Nov 2 – Nov 30, exc. North America Thanksgiving)
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

Interop 2024 and the set of accepted proposals will be announced in January 2024.
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

### Call for Proposal Period

An open call for proposals will begin on a specific date, and run for three weeks.

1. Anyone can submit a proposal.
2. Proposals should be for either:
1. Focus Area, or
2. Investigation Project
3. Related proposals should be filed separately. For example, all the ideas for “Web Compat” should be filed as a set of separate issues, not one issue. This makes it easier to discuss and prioritize each separately. Bundles of proposals risk being rejected or deprioritized.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, broadly that's what we did the first year for webcompat, and then we switched in 2023. One reason was that sometimes the web compat proposals have been very small; possibly literally just one bug. At that level it seems like a lot of overhead to file multiple issues. On the other hand the process in 2023 wasn't perfect either and there was some confusion about what was included. so I don't object to changing back, but my concern is that people end up filtering out individual proposals because they're "too small" when in fact the intent was to group them all along. This particularly applies if there's a fixed size for the priority list below.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing to be a different example, since, right, Web Compat is likely an exception to this guideline.

jensimmons marked this conversation as resolved.
Show resolved Hide resolved
4. Focus Area proposals must:
1. Name a specific web technology.
1. This can be a web technology that has not yet been implemented in any or all browser engines.
2. Or this can be a web technology that has already been implemented in all three engines, but those implementations have test failures that reveal a lack of compliance to the web standard, causing a lack of interoperability.
2. The feature must be defined in a sufficiently mature standards-track web specification from one the following organizations. Please provide link to the web standard.
1. [IETF](https://www.ietf.org/) (Standard Track)
2. [Khronos Group](https://www.khronos.org/)
3. [TC39](https://tc39.es/) (Stage 2+)
4. [W3C](https://www.w3.org/) ([Recommendation Track](https://www.w3.org/2023/Process-20230612/#rec-track))
5. [WHATWG](https://whatwg.org/)
3. Describe the benefit to web developers and the web itself
4. Link to existing tests (if any) and/or describe plan to create needed tests
5. Investigation Project proposals must:
1. Outline their scope and their goals,
2. Not substantially be work better suited to a group within a standards development organization,
3. Clearly provide present or future impact on cross-browser interoperability.

As soon as each proposal is submitted as a GitHub issue, discussion of that proposal can begin. Questions can be asked. The proposal can be edited and refined.

At the end of the three weeks, the deadline will end the period when brand new proposals can be submitted.

A fourth week will allow for continued discussion and refinement of already-submitted proposals. The deadline at the end of the fourth week ends the opportunity to significantly change the scope of proposals. The proposals will be evaluated on their state at that time.


## Focus Area Selection

### Elimination Round 1: Disqualification

After the Call of Proposals Period has ended, the Interop Team will finalize an official list of all Focus Area proposals.

Any Focus Area proposal that does not meet the minimum publicly-stated selection criteria will be considered for preliminary elimination. For example:

1. The proposal is overly vague or broad.
2. The proposed technology is already interoperable according to WPT results.
3. The proposed technology is not on a standards track, or its standard is not sufficiently mature.
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

Decisions will be made at a specific meeting for discussion of preliminary eliminations. The minutes of this meeting are confidential to the team. Any member organization can bring up a proposal they believe should be eliminated. Brief debate can be had. If **there is quick consensus**, that proposal will be eliminated. If there is not consensus and a longer debate is needed, the proposal will be not be eliminated and will instead move on to the next round.
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

1. Setup *Disqualification meeting*
2. Each organization can propose items for disqualification.
3. Brief debate on each proposal:
1. if there is quick consensus, disqualify the proposal
2. otherwise, send the proposal to Round 2
4. Publish the list of proposals pushed to Round 2.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait what? In public? We should debate this. Please see GDoc for more. https://docs.google.com/document/d/138F0bzFwywci9p5q7HMP4Rbi9E0iBjz4s0ZC6IE9324/edit#heading=h.jeelvxhy0wl3


### Elimination Round 2: Reduction

At this point, there is a clear list of Focus Area proposals under consideration. Each organization has two weeks to review the list of proposals and make Round 2 decisions.
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

Each member organization chooses 40 proposals they would like to see move on to Round 3; these selections are confidential to the team. There is no ranking or scoring at this point, a simple “yes, we want this proposal to stay in consideration”. Once all the “yeses” are gathered, any proposal that does not have the support of at least one organization is eliminated.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the confidentiality wording added in 7093980, there's a proposal I'd floated a couple meetings ago that I'd like to revisit in the interest of nudging the process towards openness where possible:

Once the announcement of selected proposals has been made, members may choose to share publicly the anonymized, cumulative results of each round. Specifically, that is: the set of proposals that were disqualified in round 1, the number of "yeses" that each proposal received in round 2, and the number of points that each proposal received in round 3.

This would maintain the confidentiality of individual member organizations' positions, which I hope addresses concerns raised about positions being taken out of context.

There was also a question raised about whether this is worth the trouble for the Interop team to report. I don't think there's much work involved since we will need to compute these totals anyway as part of the process, but nevertheless I think that concern is addressed by making the sharing of this info an option for members rather than an obligation of the Interop team.

Thoughts?


The goal is to find a balance so all of the proposals that are most likely to be considered high priority will make it into the next round. While eliminating as many as possible, to reduce the workload of the Interop 2024 organizations. There’s no need to extensively evaluate proposals of lower priority.

### Elimination Round 3: Prioritization
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One concern with this overall approach is that it doesn't provide an easy way to balance the overall composition of the project. For example it might be that we get two strong proposals for including, say, two different DOM Storage APIs in Interop 2024. In that situation there are a variety of theoretical and practical reasons why we might not want to put both in (e.g. concerns about too much churn, practical resource constraints, wanting the metric to be more balanced across the entire platform).

In the previous setup each org might choose the one proposal they thought was highest value and object to the other one. In the worst case this could lead to neither being included, which isn't ideal, but isn't worse than the status quo. In this process you might have some orgs rating one proposal high and the other low, and some doing the opposite, with the end result that both are included, even though that outcome isn't what anyone wanted.

I don't know to what extent a formal process change is needed here, vs just discussing any such concerns, but one can imagine at least trying to group the proposals by area of the platform and prioritising each separately.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you still have this concern, James? If so, any suggestions about how to address it? (I recommend reading the current language in the GDoc, and commenting there.)


The official list of Focus Area proposals is updated to reflect the elimination of proposals not chosen by any organization. Each organization now has 20 days to review the list of remaining proposals and make their Round 3 decisions.

In this round, each organization ranks the proposals in order of importance from most to least. And submits any vetos they may wish to exercise. The entire contents of this round is confidential to the team.

Any proposal that has an objection is immediately eliminated.

Each proposal gets assigned points from each organization, according to their rank, and an ordered list of all remaining proposals is created. Where `X` is number of proposals that are ranked, and `Y` is the ranking a particular proposal gets from a certain organization, then that proposal gets `X-Y+1` points from that organization. Once all 6 rankings are in for that proposal, the total points from all six organizations is known. If that proposal is not eliminated by a veto, then it has a certain number of points, and can be listed in order among the other proposals.

For example, if there are 20 remaining proposals, each organization will choose a number 1, number 2, down to number 20. Let’s say a proposal for flying cars gets the following ranks: 1, 5, 7, 10, 14, 20. That will give it the following points: 20, 15, 13, 10, 6, 1 = 65 points total.

(If there appear to be quite a few proposals remaining in this round, the group can decide to only ask for each organization to submit their Top `X` number, while rating the rest zero. For example, if 50 proposals remain at this point, it likely makes sense to only submit a Top 25, and to not worry about ranking 26-50 in a specific order.)

After Round 3, every remaining proposal can be listed in order, with the group’s highest priority at the top, and the lowest at the bottom. The team will decide by consensus which of the proposals will be included in Interop 2024 and how they will be grouped into focus areas and investigation efforts.

NOTE: in the past, “Exclude” was a way to express many different kinds of sentiments — including: does not meet the minimum qualifications, or this is low priority to us. We expect “veto” to be used much less than “exclude”, because there are other ways to express those sentiments. Vetoing is specifically for objecting to a particular proposal being included *at all,* no matter how highly ranked other organizations might find it. It’s for expressing objection to a particular web technology, perhaps to something an organization has already expressed an objection to in the web standards process or otherwise has an objection to implementing.
jensimmons marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
NOTE: in the past, “Exclude” was a way to express many different kinds of sentiments — including: does not meet the minimum qualifications, or this is low priority to us. We expect “veto” to be used much less than “exclude”, because there are other ways to express those sentiments. Vetoing is specifically for objecting to a particular proposal being included *at all,* no matter how highly ranked other organizations might find it. It’s for expressing objection to a particular web technology, perhaps to something an organization has already expressed an objection to in the web standards process or otherwise has an objection to implementing.
NOTE: in the past, “Exclude” was a way to express many different kinds of sentiments — including: does not meet the minimum qualifications, or this is low priority to us. We expect “veto” to be used much less than “exclude”, because there are other ways to express those sentiments. Vetoing is specifically for objecting to a particular proposal being included *at all,* no matter how highly ranked other organizations might find it. It’s for expressing objection to a particular web technology, perhaps to something an organization has already expressed an objection to in the web standards process or otherwise has an objection to implementing. A veto should when possible come with a brief explanation to the other Interop Team members to help them understand the reasoning, and further encourage scoring rather than vetoes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
NOTE: in the past, “Exclude” was a way to express many different kinds of sentiments — including: does not meet the minimum qualifications, or this is low priority to us. We expect “veto” to be used much less than “exclude”, because there are other ways to express those sentiments. Vetoing is specifically for objecting to a particular proposal being included *at all,* no matter how highly ranked other organizations might find it. It’s for expressing objection to a particular web technology, perhaps to something an organization has already expressed an objection to in the web standards process or otherwise has an objection to implementing.

I still think this note, whilst non-normative, is nevertheless misleading and that it remains acceptable for participants to veto any proposal for any (public or private) reason. Although I agree with the sentiment that direct vetos are less likely in the proposed process, I don't think the Process should try to hint at the existence of legitimate and illegitimate categories of reasons to veto, particularly given that we don't have experience of how things will play out in practice, and so don't know what will actually be required to end up with a final result that everyone can approve.

(If this PR is merged, as per the previous meeting notes, I will reopen this as a new PR).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has already been removed. Have you checked the Google Doc draft? That's where the current draft is. This PR is now irrelevant.


## Interop 2023 Evaluation

During the same period organizations are making Round 3 decisions, the Interop Team should evaluate the status of Interop 2023, and decide which Focus Areas will be retired, and which will be carried over.

\[XXX]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This appears to still be placeholder text?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been addressed in the current draft, in GDocs.


* * *

# Decision point — what to do about Interop 2023?

## There seem to be 3 options:
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

### 1. Assume carryover. Retire some. Add how many ever that leaves space for.

1. Start with the assumption that all Interop 2023 projects will be carried over — except for the ones that are “complete”
jensimmons marked this conversation as resolved.
Show resolved Hide resolved
1. Figure out a process for determining what should be retired.
1. Perhaps by voting for each proposal one-by-one, to keep it or not (that’s what we did last year).
2. Perhaps by score — everything above 95% Interop gets retired, or something similar.
2. Decide how many total Focus Areas we want for Interop 2024. Perhaps 20? 15?
3. That determines how many “open slots” we have.
1. 26 - the number retired = the number carried over.
2. If we are aiming for 20 areas in 2024, and 18 are carried over (retiring 6)... then we have space to add 2 new areas.

### 2. Automatically ‘reapply’ all Focus Areas

1. Carryover nothing.
2. Take all 26 Focus Areas from Interop 2023, and put them into the selection process.

### 3. Make every Focus Area ‘reapply’
jensimmons marked this conversation as resolved.
Show resolved Hide resolved

1. Carryover nothing.
2. Let people propose any focus area they believe is worthwhile still having included.

* * *

# Decision point — Investigation Project Selection

Largely the same as Interop 2023?