A Note from the Go Team on Go Version 1

Posted by Brian Fri, 20 Jan 2012 14:14:00 GMT

 

(From the golang-dev mailing list)

Hi gophers,

 

One of the reasons for Go 1 is to provide a stable platform for

writing Go programs, guaranteeing that code written today will

continue to compile and run for a long time. To that end, the public

Go APIs are now frozen. We will be using an automated tool to identify

and avoid backwards-incompatible API changes. It is still possible to

change libraries, but only in ways that do not break Go 1 programs and

only if the change is judged worthwhile for Go 1.

 

We are shifting our focus to fixing bugs as preparation for the

official Go 1 release. All items on the issue tracker with priority

"Go1" will be addressed before the Go 1 release. If you'd like to work

on a specific issue, take ownership (if you are a committer) or add a

comment to that effect. (In the issue list, the owner

"builder@golang.org" identifies bugs that need someone to step in.)

Another way you can help is to write examples for existing packages.

See "go help testfunc" for details and the bytes and time packages for

inspiration.

 

Unlike with previous releases, we are not planning to tag a Go 1

branch and then immediately start making backwards-incompatible

changes in the main branch.  Our intent is that the main branch be the

source for the eventual Go 1.1, Go 1.2, and so on, all of which must

be backwards compatible with Go 1. It will require discipline and

compromise, but by maintaining the API freeze we can avoid version

skew issues. Over time we will watch how Go 1 is used and then,

informed by what we've learned over a substantial period, we will

begin work on a Go 2 in much the same way as we did for Go 1.

 

We expect that after Go 1, the volume of changes made in the standard

library will diminish. We are going to assume Go 1 as a base and focus

on building interesting things around it, and we hope that you will do

the same. We will continue to apply bug fixes and improvements to the

Go core, but significant new work should be done in external

repositories. That way new functionality is accessible to all Go users

(via the go tool), not just the small number working at tip.

 

For the next few weeks our target is the Go 1 release. We will be

fixing bugs, not adding features. Please bear with us as we push for

this milestone that will make Go and its community stronger for the

future.

 

Thanks for your all your help so far. We wouldn't be here without you.

 

Andrew, on behalf of the Go team

Leave a comment

Comments