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

spec: language change review meeting minutes #33892

Open
griesemer opened this issue Aug 27, 2019 · 105 comments
Open

spec: language change review meeting minutes #33892

griesemer opened this issue Aug 27, 2019 · 105 comments
Labels
LanguageChangeReview Discussed by language change review committee NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. umbrella
Milestone

Comments

@griesemer
Copy link
Contributor

griesemer commented Aug 27, 2019

The Go 2 proposal review group meets monthly (every first Wednesday of a month) to review pending Go 2 proposal issues and move them along in the proposal process.

Review consists primarily of checking that discussion is ongoing, commenting on issues to move discussion along, summarizing long discussions, CC’ing experts, and accepting or closing proposals when the discussion on the GitHub issue has reached a clear consensus about the outcome.

Review also includes closing proposals that are untenable (for example, because the changes are sufficiently backwards-incompatible even after allowing for significant changes to the language as part of the Go 2 effort, or violate key design goals of the language or packages).

This meta-issue records minutes of the Go 2 proposal review meetings as issue comments, so that they can be cross-linked easily with the relevant issues. This meta-issue is for minutes only; comments that are not meeting minutes will be deleted.

(See also #33502 which records the minutes of non-Go 2 proposals review meetings).

@griesemer griesemer added v2 An incompatible library change Proposal labels Aug 27, 2019
@gopherbot gopherbot added this to the Proposal milestone Aug 27, 2019
@griesemer
Copy link
Contributor Author

griesemer commented Aug 28, 2019

2019-08-27 / @bradfitz, @griesemer, @ianlancetaylor

@golang golang locked and limited conversation to collaborators Aug 28, 2019
@griesemer
Copy link
Contributor Author

2019-09-03 / @bradfitz, @griesemer, @ianlancetaylor

@griesemer
Copy link
Contributor Author

2019-09-10 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

20190-09-17 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-09-24 / @bradfitz, @griesemer

@griesemer
Copy link
Contributor Author

2019-10-01 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-10-08 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-10-15 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-10-22 / @bradfitz, @griesemer

@griesemer
Copy link
Contributor Author

griesemer commented Oct 29, 2019

2019-10-29 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-11-05 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-11-12 / @bradfitz, @griesemer

Note: This was an abbreviated mtg due to external scheduling conflicts.

@griesemer
Copy link
Contributor Author

2019-11-19 / @bradfitz, @griesemer, @iant

@ianlancetaylor
Copy link
Contributor

2019-11-26 / @bradfitz, @ianlancetaylor

@griesemer
Copy link
Contributor Author

2019-12-03 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-12-10 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2019-12-17 / @griesemer

Note: Due to other reviewers being ooo I only processed two proposals that were scheduled for closing.

@griesemer
Copy link
Contributor Author

2020-01-07 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2020-01-14 / @bradfitz, @griesemer, @iant

We also discussed how we can make the Go 2 proposal review process more scalable. Currently it is fairly simple to create a new Go 2 proposal (like the proposal process intended), but then it becomes a significant burden for the proposal committee to ask and answer many of the questions that should have been answered by the proposal. We are planning to introduce a template of questions (CL 214820) with the intent to dismiss new proposals quickly if they don’t have reasonable answers for most of the questions.

@griesemer
Copy link
Contributor Author

griesemer commented Jan 21, 2020

2020-01-21 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2020-01-28 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2020-02-04 / @griesemer, @iant

@griesemer
Copy link
Contributor Author

2020-02-18 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

2020-02-25 / @bradfitz, @griesemer, @iant

@josharian
Copy link
Contributor

I just wanted to let the proposal review group know that these meeting minutes are helpful, and that I appreciate you writing them up. If others feel the same way, please give a thumbs up to this comment, so that the review group knows. :)

@myitcv
Copy link
Member

myitcv commented Mar 5, 2020

Unfortunately, @josharian, it will be a very quiet emoji party because the conversation is locked 🔒

@griesemer
Copy link
Contributor Author

Oct 5, 2022 / @bradfitz, @griesemer, @iant

Also, we discussed renaming the label Go 2 to v2 which more accurately reflects the character of these proposals: v2 includes both potential (backward compatible) language changes as well as changes to the std library (such as newer module versions).

@griesemer
Copy link
Contributor Author

Nov 2, 2022 / @griesemer, @iant

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

Jan 4, 2023 / @bradfitz, @griesemer, @iant

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

@griesemer
Copy link
Contributor Author

@ianlancetaylor ianlancetaylor added LanguageChangeReview Discussed by language change review committee and removed v2 An incompatible library change Proposal labels Aug 6, 2024
@ianlancetaylor ianlancetaylor changed the title proposal: Go 2 review meeting minutes spec: language change review meeting minutes Aug 6, 2024
@dr2chase dr2chase added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Aug 6, 2024
@ianlancetaylor
Copy link
Contributor

For a few years now we've been running a proposal meeting known as the Go 2 proposal committee or the v2 committee. The original goal of the committee was to review proposed changes to the Go language and incompatible changes to the Go standard library. The minutes of the actions and decisions taken can be found in this issue.

Since the committee started Go has developed a standard way for handling incompatible Go library changes: a v2 release of the package. The recent Go 1.22 release introduced the first incompatible change to the standard library, by adding math/rand/v2 as a replacement for math/rand. (This is, of course, not really incompatible, as old programs continue to use math/rand and continue to work. Programs can update to the (slightly) incompatible math/rand/v2 at their leisure.)

This means that there is no longer a compelling reason to separate out incompatible library changes into a separate process. They can go through the regular proposal process instead. And, historically, almost all of the proposals reviewed by the v2 committee were in fact language change proposals (mostly for improvements to error handling).

Therefore, we are renaming the v2 committee to the language review committee, and going forward it will only handle language changes. Historically when the v2 committee sees a language change that seems worthy of broader attention, the proposal has been handed off to the regular proposal committee for final review. That will continue: the
role of the language review committee will be to do a first pass review of language change proposals, and pass the desirable ones on to the regular proposal committee.

As part of this I've shifted the issue labels in GitHub a bit. The existing v2 label is now being used only for incompatible library changes, to indicate that those changes, if accepted, will be in a v2 (or, perhaps far in the future, a v3) package. Those proposals will be reviewed by the regular proposal committee. The existing LanguageChange label continues to indicate a language change. Language changes being reviewed by the language review committee have a new label LanguageChangeReview. LanguageChange issues without the LanguageChangeReview label are expected to be reviewed by the regular proposal committee.

Going forward, when new language change proposals arrive, we will give them the LanguageChange and LanguageChangeReview labels. Historically these issues have been given a "Go 2:" prefix; they will now be given
a "spec:" prefix to indicate that they are changes to the language spec. Minutes will continue to appear in this issue.

We will as always continue to experiment and see what works best for the overall Go community.

After writing that, I want to remind people that almost all language change proposals are rejected. That is true for proposals that come from the broader Go community and also for proposals that come from the core Go team. Among the major goals of Go is stability. While we continue to improve and refine the language, adding experimental features is not a goal. We are willing to wait to solve problems until we have solutions that clearly work well. That said, we take all proposals seriously and review them as fairly as we can.

In particular, since the majority of language change proposals are related to error handling, I want to observe that we reliably reject these proposals. We agree that there is space to improve error handling. However, we have not yet seen a clearly good approach. Many error handling proposals are minor variations of existing proposals; by and large we've already considered these variations, and we simply aren't going to accept the new proposal even if it isn't quite the same as earlier ones. So while we welcome good proposals, please bear this in mind. Please also be aware of the meta issue #40432 and the long history of error handling proposals that can be seen at https://github.com/golang/go/issues?q=is%3Aissue++label%3Aerror-handling+ . While that is a lot to read and digest, we've read it all. Thanks.

@griesemer
Copy link
Contributor Author

griesemer commented Sep 4, 2024

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
LanguageChangeReview Discussed by language change review committee NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. umbrella
Projects
None yet
Development

No branches or pull requests

7 participants