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

proposal: freeze more packages #15557

Closed
bradfitz opened this issue May 5, 2016 · 15 comments
Closed

proposal: freeze more packages #15557

bradfitz opened this issue May 5, 2016 · 15 comments

Comments

@bradfitz
Copy link
Contributor

bradfitz commented May 5, 2016

I'd like to freeze some packages for Go 1.7:

I want to place a line at the end of their package docs saying "This package is frozen. It is retained for compatibility with the Go 1 API promise. See https://golang.org/s/frozen-package for details."

And then at that URL we can spell out the rules more. (e.g. maybe we'll accept actual bug fixes if they're obviously wrong and don't change buggy behavior that people might depend on)

/cc @adg @rsc @ianlancetaylor

@griesemer
Copy link
Contributor

I'm ok with freezing text/tabwriter. Others need to chime in for the other packages.

@adg
Copy link
Contributor

adg commented May 5, 2016

I agree with the proposed set. We should also consider adding container/* to the list, although people don't tend to ask for or send changes to those packages.

@josharian
Copy link
Contributor

cc @arschles who has long talked of making testing/quick much more powerful.

@bradfitz
Copy link
Contributor Author

bradfitz commented May 5, 2016

We might roll back the recent testing/quick change (0ccabe2) for Go 1.7 because it broke too many tests.

testing/quick can be forked and develop elsewhere on Github, perhaps with versioning.

@bradfitz
Copy link
Contributor Author

bradfitz commented May 6, 2016

And indeed, testing/quick was rolled back in https://go-review.googlesource.com/#/c/22860/

@rsc
Copy link
Contributor

rsc commented May 6, 2016

I agree with the idea of freezing packages, but I would like to try to separate that idea from "retained for compatibility", which makes it sound like we've decided the package doesn't even belong in the standard library. That's a separate attribute from "complete enough and shouldn't be added to or changed". Maybe frozen is the wrong word since it sounds like what we did with syscall. "completed" or "stable" might be less judgmental.

@bradfitz
Copy link
Contributor Author

bradfitz commented May 6, 2016

Well, I don't believe they belong in the standard library, but that's just one opinion. We don't have to make the text sound like my opinion, though. I'm happy with any wording that conveys that the package isn't accepting changes.

@rsc
Copy link
Contributor

rsc commented May 6, 2016

Re your opinion, I know, and it's a reasonable opinion. I just want to keep it separate because we might well want to put this on packages that clearly do belong (for example reflect once all the type constructors are done).

@rsc rsc modified the milestones: Go1.8, Go1.7 May 18, 2016
@bradfitz
Copy link
Contributor Author

I forgot about this bug and went ahead and froze some things in Go 1.7:

https://golang.org/pkg/log/syslog/
https://golang.org/pkg/net/smtp/

We can adjust the wording, though, per the comment from Russ.

And we can still discuss which other packages to freeze (or "mark complete").

@bradfitz
Copy link
Contributor Author

Actually, log/syslog was frozen in Go 1.6: https://go-review.googlesource.com/18222

@bradfitz
Copy link
Contributor Author

We might also want to freeze net/rpc per #15236 and #7946

/cc @robpike

@bradfitz
Copy link
Contributor Author

Freezing net/rpc is #16844

@adg
Copy link
Contributor

adg commented Oct 24, 2016

Freeze 'em!

@gopherbot
Copy link
Contributor

CL https://golang.org/cl/31910 mentions this issue.

@mewmew
Copy link
Contributor

mewmew commented Oct 25, 2016

https://golang.org/s/frozen-package

Results in a 404.

@golang golang locked and limited conversation to collaborators Oct 25, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants