Eu vi uma série de estilos de governança diferentes em projetos de código aberto. Alguns têm restrições de contribuição mais flexíveis, com a aprovação de RP vindo de pessoas que conquistaram o privilégio para fazê-lo, seja por mérito, eleição ou filiação na fundação / corporação anfitriã. Outros têm uma única pessoa com a palavra final sobre o projeto, o chamado " ditador benevolente, " geralmente o criador / fundador original.
Há benefícios para contribuidores e usuários participarem de projetos liderados pelo BDFL em relação a modelos de governança mais abertos?
Comentários
- Quais são os benefícios de outros modelos? Você parece presumir que outros modelos são melhores, mas por quê? Um fundador pode garantir que as contribuições sejam consistentes e permaneçam verdadeiras à visão original do projeto – que presumivelmente o tornou bem-sucedido e interessante em primeiro lugar.
- aceno . Para dar um exemplo de outro projeto Se isso funcionar bem para – Clojure seguindo de perto o design de Rich Hickey ', há ' melhor composição entre bibliotecas escritas para ele existe, digamos, o mundo Scala (que se esforça para oferecer suporte a vários modelos para desenvolvimento nativo, não apenas para interoperabilidade como o Clojure faz, e assim fragmenta seus desenvolvedores nesses modelos suportados).
- @Polygnome: Bem, uma razão para suspeitar que outros modelos podem ser melhores é que Guido van Rossum decidiu deixar de ser DBFL de Python.
- @SteveJessop Isso pode (meramente) ser um argumento do que ser um BDFL é uma tarefa difícil . Você não poderia ' argumentar que o Python não ' teve sucesso como um projeto antes de sair ou que não ' ta linguagem respeitável.
- @Voo: meu ponto é apenas que GvR, como BDFL, decidiu que Python não estava mais funcionando tão bem naquele modelo como funcionaria em um modelo diferente . Portanto, ou você aceita o julgamento dele como BDFL, ou se recusa a aceitá-lo. Nesse caso, como você pode apoiar alguém como BDFL cujo julgamento você não ' não aceita mais? 😉 Claro, o modelo funcionou bem por um longo tempo, mas Polygnome está escrevendo como se o questionador precisasse argumentar contra a ditadura para fazer essa pergunta. Eles não ' t: há razões óbvias para não assumir que o modelo BDFL é perfeito, mas para perguntar o que ' é bom nisso.
Resposta
Sempre vi o modelo BDFL como a meio caminho entre um estrutura de projeto de código aberto tradicional e estrutura de projeto corporativo tradicional. Você tem a abertura, transparência e cultura geral de OSS, mas com um único gerente de projeto forte para tomar decisões de alto nível e direcionar o esforço geral.
Você pode ver muitas das vantagens analisando o próprio título:
- Benevolente – confiança mútua de que essa pessoa agirá no melhor interesse do projeto
- Ditador – esta pessoa é a autoridade final no singular
- For Life – esta pessoa pretende liderar t O projeto para o longo prazo, não apenas até que algo melhor apareça
Um BDFL investe muito no projeto, normalmente o criador original. O seu próprio nome e reputação profissional são frequentemente inseparáveis do projeto. Ao contrário de um gerente corporativo, os usuários podem achar mais fácil confiar em sua liderança, uma vez que a BDFL tem um alto interesse investido no sucesso e na longevidade do projeto. Tanto os projetos corporativos quanto os projetos OSS podem acabar com uma porta giratória de liderança, o que impede o progresso e frustra os usuários. Um BDFL geralmente mantém essa posição por um longo período de tempo (assim, o " vitalício "), o que adiciona um grau de estabilidade para o projeto. Também permite que a liderança se desenvolva e se apegue a uma visão coesa de longo prazo, em vez de uma série de líderes de curta duração que mudam constantemente de planos e direções.
Freqüentemente, um BDFL é também o especialista indiscutível no assunto e central autoridade para esse projeto / tecnologia em particular. Os gerentes corporativos podem executar um projeto sem um conhecimento profundo da tecnologia ou de sua história, levando a decisões que frustram os desenvolvedores / usuários. Muitos projetos de OSS têm várias pessoas em funções de liderança igualmente poderosas, deixando espaço para divergências e confusão. Se você tiver uma pergunta sobre a direção do Python e Guido van Rossum responder à sua pergunta, pode ter certeza de que a resposta é confiável. Os projetos executados pelo BDFL tendem a atrair menos garfos por esse motivo.Qualquer bifurcação com apenas pequenas alterações pareceria um projeto " menor " sem o envolvimento do BDFL. Isso ajuda a evitar que uma comunidade se fragmente em vários grupos que são pequenos demais para serem eficazes.
Comentários
- " deixando espaço para desacordo e confusão " – como parte disso, uma única autoridade técnica pode eliminar muitas mudanças de bicicleta em decisões relativamente sem importância. Sua preferência se torna a decisão, fim de.
Resposta
Eu diria que os projetos com BDFL basicamente confiam a visão do projeto para uma pessoa , ao contrário de design por comitê .
Você pode consultar a lista de BDFLs .
Muitos dos indivíduos listados lá têm st opiniões erradas sobre o que seus respectivos projetos deveriam fazer, não fazer e como deveria funcionar (DHH e Theo são exemplos com os quais estou familiarizado). Alguns outros não são tão polêmicos, mas são muito respeitados na comunidade (Matz).
Há benefícios para contribuidores e usuários participarem de projetos liderados pelo BDFL sobre modelos de governança mais abertos?
Se você estiver alinhado com o BDFL em termos de visão para o projeto, contribuir para um projeto executado pelo BDFL faz sentido. Alternativamente, se você acha que é mais fácil avaliar a confiabilidade de uma única pessoa (das decisões de direção do projeto) em vez de um grupo de pessoas em constante mudança, você pode apoiar a ideia de um BDFL.