This is a bit of an aside, I agree with everything Ian said, but: On Thu, May 23, 2019 at 7:59 PM Ian Lance Taylor <i...@golang.org> wrote:
> If a language is to change over time, this specification or > implementation must change. Somebody has to decide how changes will > be made. All successful languages have a small set of people who make > the final decisions. > > *Many people will provide input to this decision, but no successful > language--indeed, no successful free software project of any sort--is a > democracy. * Successful languages pay > attention to what people want, but to change the language according to > what most people want is, I believe, a recipe for chaos and > incoherence. I believe that every successful language must have a > coherent vision that is shared by a relatively small group of people. > > As I said, that is my opinion, but I think it's true. I would be > interested to hear of a counter-example. > I also believe that every successful free software project has a small set of final deciders, but I don't think it's correct to say that thus, no successful free software project is a democracy. Representative democracy is still democracy - and indeed, any modern democracy I'm aware of, is a representative one. And Debian is undeniably successful and very easily defended to be a representative democracy. There is a limitation on voting rights (only Debian Developers can vote), but it's akin to the limitation of passports and the set of Debian Developers is hardly "small". This just as a specific counter because you asked for counter examples :) Personally (opinion!), I tend to think that it rather supports your larger point of democratic software development being a recipe for chaos and incoherence - but YMMV of course. > > Since Go is a successful language, and hopes to remain successful, it > too must be open to community input but must have a small number of > people who make final decisions about how the language will change > over time. > > So, I think that when the blog post says that Go is Google's language, > what they mean is that Google makes those final decisions. > > Now a bit of personal history. The Go project was started, by Rob, > Robert, and Ken, as a bottom-up project. I joined the project some 9 > months later, on my own initiative, against my manager's preference. > There was no mandate or suggestion from Google management or > executives that Google should develop a programming language. For > many years, including well after the open source release, I doubt any > Google executives had more than a vague awareness of the existence of > Go (I recall a time when Google's SVP of Engineering saw some of us in > the cafeteria and congratulated us on a release; this was surprising > since we hadn't released anything recently, and it soon came up that > he thought we were working on the Dart language, not the Go language.) > > Since Go was developed by people who worked at Google, it is > inevitable that the people who initially developed Go, who became the > core Go team, were Google employees. And it happens that of that core > Go team, while not all are actively working on Go, none have left > Google for another company in the years since. > > I do think that due to Go's success there are now Google executives > who know about Go. Google as a company is doing more work with Go at > a higher level, supporting efforts like the Go Cloud Development Kit > (https://github.com/google/go-cloud). And, of course, Go is a > significant supporting element for major Google Cloud projects like > Kubernetes. > > But (and here you'll just have to trust me) those executives, and > upper management in general, have never made any attempt to affect how > the Go language and tools and standard library are developed. Of > course, there's no reason for them to. Go is doing fine, so why > should they interfere? And what could they gain if they did > interfere? So they leave us alone. > > In effect, then, the current state is what the blog post suggests at > the very end: final decisions about the Go language are made by the > core Go team, and the core Go team all work at Google, but there is no > meaningful sense in which Google, apart from the core Go team, makes > decisions about the language. > > I do think that it will be interesting to see what happens if someone > on the core Go team decides to leave Google and but wants to continue > working on Go. And it will be interesting to see what the core Go > team, including me, decides to do about succession planning as time > goes on. Being a core Go team member is a full time job, and many > people who want to work on Go full time wind up being hired by Google, > so it would not be particularly surprising if the core Go team > continues to be primarily or exclusively Google employees. But even > then it's not clear that Go will be Google's language in any deep > sense. It's also possible that someday it will become appropriate to > create some sort of separate Go Foundation to manage the language. I > don't know. We'll have to see. > > As I said initially, none of this necessarily contradicts anything in > the blog post, but perhaps it gives a slightly different perspective. > > In this note I've specifically focused on whether Go is Google's > language. I have some thoughts on other aspects of the blog post, > about its discussion of the interaction between the core Go team and > the rest of the Go community, but this note is already too long. > Perhaps I will tackle those later. Or perhaps not, no promises. > > Ian > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXdDcUKCzOaSbaCq466cxeO1KzsxAxgasabJma2XPkkxw%40mail.gmail.com > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAEkBMfFhOF0kiNsUfZkMc71SoJ8M5Y2Rqx1TnG9Yhc5aORMXBA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.