codecamp

开源项目的常见治理架构?

关于开源项目有三类通用的相关治理结构。

  • BDFL: BDFL 是 “仁慈的独裁者生活” 的缩写. 在此结构下,有一个人(通常是项目的最初的作者)拥有项目中所有的最后决定权。Python 就是一个非常经典的例子。较小的项目可能默认就是 BDFL 结构,因为他一般就是一到两位维护者。若是公司组织的项目也极有可能会采用BDFL结构。
  • 精英制: (注: 术语 “精英制” 对于一些社群可能具有消极的含义,其拥有较复杂的社会和政治的历史 .) 在精英制下,活跃的项目贡献者(他们用行动证明自己是”精英”)给一个正式的决策作用,决定通常会基于纯粹的投票一致性。精英制的概念首次由Apache Foundation 提出;所有的Apache 项目 都是基于精英制的。贡献者只能代表自己是独立的个体,不可以是公司。
  • 自由贡献: 在自由贡献的模式下,做最多工作的人通常被认为是最具影响力的,但是是基于当前的工作,而不是历史的共享。项目的重大决策是基于寻求共识的过程(对不同的声音要讨论)而不是纯粹的投票,尽可能的努力的去囊括多的社区观点。较流行的使用自由贡献模式的项目有Node.js Rust

应该选择哪一种模式了呢?由你自己来做决定!每个模式都有优点,也有缺点。虽然上面的描述乍一看,这三种模式有着很大的不同,其实不然,它们还是有着共同点的。如果你对上述三种模式有兴趣,可以采用下面的模版:

开源项目 什么时候授予提交者权限?
启动开源项目时是否需要治理文档?
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }