3 ms·
Actually, I think the other key argument is here: > I believe that every successful language must have a coherent vision that is shared by a relatively small g
by gwd 7y ago
Actually, I think the other key argument is here:
> I believe that every successful language must have a
coherent vision that is shared by a relatively small group of people.
He points out that there are over 100 committers, nearly half of which are non-Google; it's only the small group of people in charge of the language spec that are at Google.
It may be true that Google the company don't drive Go the language. However, simply working in the same company tends to make you take on the perspective and values of that company.
In the Xen Project, for instance, Citrix is the largest single contributor. Citrix management have basically left the engineers working in the Xen to our own devices; but nonetheless we've made a conscious effort to diversify the organizational membership of the core decision-makers in the project: partly to make sure that we're not drifting into a Citrix-centric groupthink, and partly to avoid the appearance of Xen being a Citrix-only project.
If I were them, I would be looking for an opportunity to arrange to have at least one non-Googler on the core Go team, for the same reasons.
- kiallmacinnes 7y ago> If I were them, I would be looking for an opportunity to arrange to have at least one non-Googler on the core Go team, for the same reasons. That's how I read the 50 or so out of 100 approvers as being Google. That means 50 (or so, can't remember the exact number..) are not Google. When I read "Approvers", I match that in my head to "Core Team". Is there a "rank" above approvers that defines the core team?
- gwd 7y agoI don't think he defined his terms very precisely in his document; but as my comment says, yes, there are two levels. There are people who can approve changes to the implementation of Go, and people who can make changes to the specification of Go. There are 100+ people who can approve changes to the implementation; but there only a handful of people who can make changes to the language specification, and all of those people are at Google.
- vorg 7y ago> the implementation of Go, and people who can make changes to the specification of Go Should that be "the reference implementation of Go" ? The specification mentions "implementation restriction" many times, so the Go spec writers seem to be encouraging other implementations. Besides gc, google also provide gccgo. If you download the gc source, change it a little so it still conforms to the spec, and publish, then that would be another implementation of Go. I believe there's an incomplete JS-based version of Go around as well, so if that's ever finished, that would be another implementation of Go.