diff --git a/content/go2-here-we-come.article b/content/go2-here-we-come.article
new file mode 100644
index 0000000..0f749de
--- /dev/null
+++ b/content/go2-here-we-come.article
@@ -0,0 +1,205 @@
+Go 2, here we come!
+29 Nov 2018
+Tags: go2, proposals, community
+
+Robert Griesemer
+
+* Background
+
+At GopherCon 2017, Russ Cox officially started the thought process on the
+next big version of Go with his talk [[https://www.youtube.com/watch?v=0Zbh_vmAKvk][The Future of Go]]
+([[https://blog.golang.org/toward-go2][blog post]]). We have
+called this future language informally Go 2, even though we understand now
+that it will arrive in incremental steps rather than with a big bang and a
+single major release. Still, Go 2 is a useful moniker, if only to have a way
+to talk about that future language, so let’s keep using it for now.
+
+A major difference between Go 1 and Go 2 is who is going to influence the
+design and how decisions are made. Go 1 was a small team effort with modest
+outside influence; Go 2 will be much more community-driven.
+After almost 10 years of exposure, we have
+learned a lot about the language and libraries that we didn’t know in the
+beginning, and that was only possible through feedback from the Go community.
+
+In 2015 we introduced the [[https://golang.org/s/proposal][proposal process]]
+to gather a specific kind of feedback: proposals for language and library
+changes. A committee composed of senior Go team members has been reviewing,
+categorizing, and deciding on incoming proposals on a regular basis. That
+has worked pretty well, but as part of that process we have ignored all
+proposals that are not backward-compatible, simply labeling them Go 2 instead.
+In 2017 we also stopped making any kind of incremental backward-compatible
+language changes, however small, in favor of a more comprehensive plan that
+takes the bigger picture of Go 2 into account.
+
+It is now time to act on the Go 2 proposals, but to do this we first need a plan.
+
+* Status
+
+At the time of writing, there are around 120
+[[https://github.com/golang/go/issues?page=1&q=is%3Aissue+is%3Aopen+label%3Aproposal+label%3AGo2&utf8=%E2%9C%93][open issues labeled Go 2 proposal]].
+Each of them proposes a significant library or language change, often one
+that does not satisfy the existing
+[[https://golang.org/doc/go1compat][Go 1 compatibility guarantee]].
+Ian Lance Taylor and I
+have been working through these proposals and categorized them
+([[https://github.com/golang/go/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Aproposal+label%3AGo2+label%3AGo2Cleanup][Go2Cleanup]],
+[[https://github.com/golang/go/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Aproposal+label%3AGo2+label%3ANeedsDecision][NeedsDecision]],
+etc.) to get an idea of what’s there and to make it easier to
+proceed with them. We also merged related proposals and closed the ones which
+seemed clearly out of the scope of Go, or were otherwise unactionable.
+
+Ideas from the remaining proposals will likely influence Go 2’s libraries
+and languages. Two major themes have emerged early on: support for better
+error handling, and generics. [[https://blog.golang.org/go2draft][Draft designs]]
+for these two areas have been
+published at this year’s GopherCon, and more exploration is needed.
+
+But what about the rest? We are [[https://blog.golang.org/toward-go2][constrained]]
+by the fact that we now have
+millions of Go programmers and a large body of Go code, and we need to
+bring it all along, lest we risk a split ecosystem. That means we cannot
+make many changes, and the changes we are going to make need to be chosen
+carefully. To make progress, we are implementing a new proposal evaluation
+process for these significant potential changes.
+
+* Proposal evaluation process
+
+The purpose of the proposal evaluation process is to collect feedback on
+a small number of select proposals such that a final decision can be made.
+The process runs more or less in parallel to a release cycle and consists
+of the following steps:
+
+1. _Proposal_selection_. The Go team selects a small number of
+[[https://github.com/golang/go/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3AGo2+label%3AProposal][Go 2 proposals]]
+that seem worth considering for acceptance, without making a final decision.
+See below for more on the selection criteria.
+
+2. _Proposal_feedback_. The Go team sends out an announcement listing the selected
+proposals. The announcement explains to the community the tentative intent to
+move forward with the selected proposals and to collect feedback for each
+of them. This gives the community a chance to make suggestions and express
+concerns.
+
+3. _Implementation_. Based on that feedback, the proposals are implemented.
+The target for these significant language and library changes is to have
+them ready to submit on day 1 of an upcoming release cycle.
+
+4. _Implementation_feedback_. During the development cycle, the Go team and
+community have a chance to experiment with the new features and collect
+further feedback.
+
+5. _Launch_decision_. At the end of the three month
+[[https://github.com/golang/go/wiki/Go-Release-Cycle][development cycle]]
+(just when starting the three month repo freeze before a release), and
+based on the experience and feedback gathered during the release cycle,
+the Go team makes the final decision about whether to ship each change.
+This provides an opportunity to consider whether the change has delivered
+the expected benefits or created any unexpected costs. Once shipped, the
+changes become part of the language and libraries. Excluded proposals may
+go back to the drawing board or may be declined for good.
+
+With two rounds of feedback, this process is slanted towards declining
+proposals, which will hopefully prevent feature creep and help with
+keeping the language small and clean.
+
+We can’t go through this process for each of the open Go 2
+proposals, there are simply too many of them. That’s where the selection
+criteria come into play.
+
+* Proposal selection criteria
+
+A proposal must at the very least:
+
+1. _address_an_important_issue_for_many_people_,
+
+2. _have_minimal_impact_on_everybody_else_, and
+
+3. _come_with_a_clear_and_well-understood_solution_.
+
+Requirement 1 ensures that any changes we make help as many Go developers
+as possible (make their code more robust, easier to write, more likely to
+be correct, and so on), while requirement 2 ensures we are careful to hurt
+as few developers as possible, whether by breaking their programs or causing
+other churn. As a rule of thumb, we should aim to help at least ten times as
+many developers as we hurt with a given change. Changes that don't affect
+real Go usage are a net zero benefit put up against a significant
+implementation cost and should be avoided.
+
+Without requirement 3 we don’t have an implementation of the proposal.
+For instance, we believe that some form of genericity might solve an important
+issue for a lot of people, but we don’t yet have a clear and well-understood
+solution. That’s fine, it just means that the proposal needs to go back to
+the drawing board before it can be considered.
+
+* Proposals
+
+We feel that this is a good plan that should serve us well but it is important
+to understand that this is only a starting point. As the process is used we will
+discover the ways in which it fails to work well and we will refine it as needed.
+The critical part is that until we use it in practice we won't know how to improve it.
+
+A safe place to start is with a small number of backward-compatible language
+proposals. We haven’t done language changes for a long time, so this gets us
+back into that mode. Also, the changes won’t require us worrying about
+breaking existing code, and thus they serve as a perfect trial balloon.
+
+With all that said, we propose the following selection of Go 2 proposals for
+the Go 1.13 release (step 1 in the proposal evaluation process):
+
+1. [[https://github.com/golang/go/issues/20706][_#20706_]] _General_Unicode_identifiers_based_on_ [[http://unicode.org/reports/tr31/][_Unicode_TR31_]]:
+This addresses an important issue for Go programmers using non-Western alphabets
+and should have little if any impact on anyone else. There are normalization
+questions which we need to answer and where community feedback will be
+important, but after that the implementation path is well understood.
+Note that identifier export rules will not be affected by this.
+
+2. [[https://github.com/golang/go/issues/19308][_#19308_]], [[https://github.com/golang/go/issues/28493][_#28493_]] _Binary_integer_literals_and_support_for___in_number_literals_:
+These are relatively minor changes that seem hugely popular among many
+programmers. They may not quite reach the threshold of solving an
+“important issue” (hexadecimal numbers have worked well so far) but they
+bring Go up to par with most other languages in this respect and relieve
+a pain point for some programmers. They have minimal impact on others who
+don’t care about binary integer literals or number formatting, and the
+implementation is well understood.
+
+3. [[https://github.com/golang/go/issues/19113][_#19113_]] _Permit_signed_integers_as_shift_counts_:
+An estimated 38% of all non-constant shifts require an (artificial) uint
+conversion (see the issue for a more detailed break-down). This proposal
+will clean up a lot of code, get shift expressions better in sync with index
+expressions and the built-in functions cap and len. It will mostly have a
+positive impact on code. The implementation is well understood.
+
+* Next steps
+
+With this blog post we have executed the first step and started the second
+step of the proposal evaluation process. It’s now up to you, the
+Go community, to provide feedback on the issues listed above.
+
+For each proposal for which we have clear and approving feedback, we will
+move forward with the implementation (step 3 in the process). Because we
+want the changes implemented on the first day of the next release cycle
+(tentatively Feb. 1, 2019) we may start the implementation a bit early
+this time to leave time for two full months of feedback (Dec. 2018,
+Jan. 2019).
+
+For the 3-month development cycle (Feb. to May 2019) the chosen features
+are implemented and available at tip and everybody will have a chance to
+gather experience with them. This provides another opportunity for feedback
+(step 4 in the process).
+
+Finally, shortly after the repo freeze (May 1, 2019), the Go team makes the
+final decision whether to keep the new features for good (and include them
+in the Go 1 compatibility guarantee), or whether to abandon them (final
+step in the process).
+
+(Since there is a real chance that a feature may need to be removed just
+when we freeze the repo, the implementation will need to be such that the
+feature can be disabled without destabilizing the rest of the system.
+For language changes that may mean that all feature-related code is
+guarded by an internal flag.)
+
+This will be the first time that we have followed this process, hence the
+repo freeze will also be a good moment to reflect on the process and to
+adjust it if necessary. Let’s see how it goes.
+
+Happy evaluating!
