The actual organizational structure of Debian is pretty complex. You can think of Debian Developers (DD) as "people who can submit to Debian" (so the people with approval rights in gerrit, in analogy to the Go project). The people who steer the project and are final deciders on Debian (so the "core Go team" from Ian's message) are the Debian Project Leader (DPL) and the Technical Committee (TC) (with different responsibilities).
The process to become a DD is based on contribution and some endorsement from existing DDs and it's very open. The DDs then elect representatives for the roles of DPL and TC. They can also push General Resolutions, which every DD votes on. So, in analogy to a modern democracy, DDs would be "citizens" and the DPL and TC are "the government" and the Debian project combines elements of representative democracy (by electing "the government") and direct democracy (via General Resolutions). Anyhow, I didn't want this to become a discussion of Debian organizational structure. Anyone interested in it can probably google around a bit and there are far more qualified people than me to talk about it. I just think it provides a decent example of how a democratic and successful open source project could look. And that, IMO, it's a negative example (but YMMV). On Mon, May 27, 2019 at 9:44 AM Space A. <reexist...@gmail.com> wrote: > Debian users vote for someone to become Debian Developer and give him > right to vote? If no, how can it be "representative"? > > > пн, 27 мая 2019 г. в 08:35, 'Axel Wagner' via golang-nuts < > golang-nuts@googlegroups.com>: > >> 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 a topic in the >> Google Groups "golang-nuts" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/golang-nuts/6dKNSN0M_kg/unsubscribe. >> To unsubscribe from this group and all its topics, 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 >> <https://groups.google.com/d/msgid/golang-nuts/CAEkBMfFhOF0kiNsUfZkMc71SoJ8M5Y2Rqx1TnG9Yhc5aORMXBA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> 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/CAEkBMfHviK-9kzKOc55Fu-DV1GCCLWKcdNunHbAMvS5Q--8UZw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.