-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Description
Now that #44505 is accepted, and go 1.16 will be the official bootstrap compiler for Go language, I 'd like to propose an idea that I mentioned already in that thread. In many large organizations and for certain types of software development, such as life critical software, stability is of great importance. Even if the compiler has known issues, normally we run compiler test suite and avoid anything the compiler has problems with. What matters most is that the resulting artifacts of compilation of the same source code stay the same themselves for ease of verification and validation.
Currently, Go is released twice a year, and to keep using a supported Go compiler, we have to upgrade at least once a year, which is often too fast for these kinds of projects and environments. Therefore, I would like to see version 1.16 designated officially as the long term support version of Go, for use in organizations and situations as mentioned.
This would entail Go 1.16 keeps getting critical patches, and is available on the download web page as the LTS version, as well as some documentation about it's known issues. I leave it up to the Go team to suggest a duration for the LTS support but a period of 3 to 5 years seems reasonable.
While I think this might require some minimal extra effort, the Go team already will have to support Go 1.16 as it is the bootstrap version. So it seems to me this would not cause an undue burden on the Go team. Perhaps a few more bugs would have to be back-ported than usual, but this also would help keeping the bootstrap version of Go in good maintenance. These costs seem to be less than the great benefit to the go community of having an LTS version.
That's why I respectfully ask to consider this proposal.