7

OSCHINA编辑部的个人空间

 3 years ago
source link: https://my.oschina.net/oscpyaqxylk/blog/5115634
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

6 月 23 日,开放原子开源基金会 TOC 主席堵俊平在 GOTC 全球开源技术峰会【开源运营与治理】直播专场做了《如何构建繁荣的社区生态》主题演讲。

围绕社区建设,堵俊平从开源的本质与初心谈起,总结了社区治理中的若干问题,最后提出:繁荣的社区生态需要更多地依靠“开放治理”,让社区规则更加透明化,不断吸引更多开发者和专业人员加入,使整个社区欣欣向荣。

本文根据演讲内容整理。

开源的本质与初心

堵俊平从《大教堂与集市》一书对于开源的介绍谈起,认为所有关于开源的问题无非是人和事的问题,也就是聚起优秀的人有效率地做事。开放治理便是一种对人与事的治理方式选择。关于“开放治理”的定义,堵俊平综合各种解读方式,将其理解为:以开放的方式治理以达到真正的开放。开放治理的社区会积极欢迎贡献者,同时社区内部自我驱动,因此开放治理不仅仅是一个结果,也是一种过程,也有选择的手段,最后形成循环。那么,为什么通过开放治理的手段能达成社区繁荣,这要从对开源的认识说起。

up-05461ee3949e111784fc686235ce1194d4e.png

  • 开源的三要素

堵俊平认为,所有的开源项目,包含三个重要的因素。

一是代码,代码决定了开源项目当前实际的情况,好的代码内外兼修。“外”是指代码和软件实际的运行情况,要能够完成特定的功能,达到一定的性能要求;“内”是指代码本身的质量,代码是否工整、设计模式是否科学、可读性如何等。我们通常会重视软件代码的外部特征,而对于开源项目,代码的内在质量,包括是否易于维护等也同等重要,这与闭源软件有很大的不同。

二是许可证,许可证决定了用户、开发者拿到开源项目代码后是否能够使用、以什么方式使用、是否能够分发、是否可以修改,以及做了修改和分发之后所承担的权责利。

三是社区,目前开源界广泛存在的共识是“社区大于代码”,社区代表了项目的明天与潜力。代码是静态的,代表项目当前状况。但是社区体现人的要素,反映社区中的动态因素,决定了代码的未来。

  • 开源的三个层次

三要素之上,项目的开放程度决定了项目的三个层次。

up-fffb91d2d5ef28c3f8f9190bafba0f138b8.png

第一个层次是 Source Available 代码开放。项目如果停留在这一层,用户拿到代码只能参考与学习,如果没有相应的许可授权,很难再去做些什么。此时也就凸显了许可证的授权保护作用,其规定项目可以如何被使用和分发。

第二个层次是 Open Source。Open Source 不仅有公开的代码,也有被 OSI 组织认可的许可证授权。许可证规定了你拿到项目代码之后被授权使用的权利和相应的义务。

第三个层次是 Open Governance 开放治理。相当于又开放了社区,允许开发者加入做贡献,从而迭代更好、更优秀的项目,这一点对于外部开发者尤为重要。

三个层次之间的区别在于,第一个层次是最低限度的开放,让上下游软件可以看到软件的代码,方便配合、对接;第二个层次看重用户生态,通过授权分发和使用,让项目被更多用户所使用;第三个层次看重的是业界的开发者和合作伙伴,真正把外界的社区资源团结到一起。

社区治理的若干关键问题

  • 判断社区开放程度的几个问题

堵俊平认为,我们走进一个开源社区,去看项目治理的关键问题,要了解项目是如何运作的。开源社区一般会明确公布以下重要信息:

一是项目相关的政策流程是如何制定的。如大家如何参与项目贡献,社区的行为规范是怎么样的等等。

二是需要规定社区有哪些角色,比如 ASF 有 PMC 职位设置等等,不同的角色有不同的权限。外部贡献者可以参与哪些决策?这些都是非常关键的问题,开发者可以通过这些判断项目是在个人或公司的强管控之下,还是较为开放。

三是这些角色如何产生,或者人员是如何进入角色的?这个过程也十分重要,如果没有公开透明的机制或原则来保障,重要角色就很容易被操纵。

此外,还有不同角色的权限,决策的具体流程等问题。这些要素在开放的社区中,都是需要清晰明确的定义的。如果项目足够开放,上述问题的答案应该很容易寻找;如果一些开源项目的运作规则没有公布,就有可能是属于某个人或是某个组织的封闭治理之下,至少现阶段不是开放的状态。

  • 是否选择开放治理背后的两个因素

上述的几个关键问题实际上是一个社区对外开放程度的结果呈现,其背后还有构成因素。社区是否选择开放治理,实际上是一个选择性问题,不一定是终极答案。

项目选择开放程度背后有几个重要因素要考虑。

一是价值因素。即项目本身的价值是否需要通过开源来体现。有意思的是,开源本身有价值,但开源与价值未必是强绑定的,比如早期的开源软件在很大程度上是由“天才程序员”根据爱好开发出来,不一定追求开源本身所带来的商业价值。那么现在,很多的企业级软件包括云服务,已经会为客户带来了实实在在的价值,软件本身的应用价值是客户可感受到的直观受益。而开源能够带来的是在技术生态、用户生态以及开发者生态上的长期价值,如果项目很看重开源软件背后的这三个价值,就需要进行开放治理,一起把蛋糕做大。

二是文化因素。对于开源项目而言,要发展到完全开放的程度,就需要文化等因素的配合,并不是所有的团队都能走到开放治理的程度。堵俊平认为,组织的类型以及开放程度很多时候是不一样的,有讲究纪律性的组织,有较强的管理原则的经营性组织;也有以激励人为主的,发挥参与者充分能动性的志愿者性组织。开源的社区型组织更接近后者,文化上也要求更开放,不要有门户偏见。也就是说,长期来看,是否选择开放治理也是有文化的因素在。如果人的思想不够开放,即便是在规则开放的组织里,也会存在千方百计钻漏洞的情况。

繁荣社区治理的实践

堵俊平以 Apache 软件基金会和开放原子开源基金会及业界的治理实践为例,介绍业界一些繁荣社区治理的实践。

  • Apache 软件基金会

Apache 软件基金会是是目前最大开源软件基金会,体现在其项目最多,项目规模最大,影响力最大方面。

Apache 软件基金会现在拥有超过 800 名 member,通过提名方式产生,是基金会的基石。在 member 中,每年一次选举,产生九个人做 board,讨论顶层机制的问题。

在 Apache 软件基金会中,基金会的管理和项目管理权限是分开的。具体项目的管理全完授权给每个项目自身的 PMC。每个开源项目高度自治。

此种开放治理基于一种原则——Apache Way。只要和原则不冲突,就可以放手去做,Apache 软件基金会不过限制。

up-3d5b05b3b21eca1e135c3f69b9b537adb73.png

Apache Way 具体包含多条原则,都是长期实践中总结、提炼出来的。包括社区的多样性、开放透明的决策等等。如讨论和技术决策都是在公共邮件列表、issue 等渠道进行,保证了项目进行公开的决策。

还有很重要的一点是强调共识机制,即通过广泛的讨论达成一致,认定大家要走一条路,哪怕彼此之间有所妥协。即使努力之后没有达成统一,则用投票机制形成决策,既发挥了每个人的参与价值,也保障了团结。同时,慎用否决权,除了在提名核心人员的时候有基于合理因素的否决,其他时候基本不采纳一票否决制。

  • 开放原子开源基金会

up-7efb815cbfe1aa37095c0ab474f858d3012.png

开放原子开源基金会去年正式成立。基金会有一套内部的管理制度,但是对于项目的治理是充分授权的,项目本身有自己的工作组或者 PMC。

基金会近期针对孵化项目发布了孵化项目毕业标准,充分体现了基金会对开源项目的导向,即导向社区化,导向社区治理的目标。基金会管理和项目治理是分开的,项目治理完全授权给工作组,项目高度自治。项目的毕业标准有多个大类,充分体现了开放治理。我们也希望以社区化为导向,保障更多的开发者更大范围参与到项目治理中来。通过毕业标准牵引各个项目发展出繁荣的社区。

  • 业界治理实践与模式

堵俊平认为,所谓开源项目,不止是开放治理一种模式。按照开放程度,从浅至深有四种。

up-c27a68e333d4bb1e29559bfbea322414710.png

第一种是单一控制,特点是社区由企业/个人投资和控制,允许外部资源以用户身份来使用,不支持外部贡献。

第二种是单一主导,这是弱开放模式。社区由企业/个人投资和主导,允许外部用户和开发者参与,支持外部贡献,但社区关键角色没有放开。

第三种是社区主导模式,强开放。项目由企业/个人发起,拥有第三方社区(基金会等)身份。开放关键角色到外部社区,但社区大部分贡献者来自于少数企业/个人,由后者主导社区的发展方向。

第四种是完全开放的社区自治模式。项目由企业/个人发起,拥有第三方社区身份。关键角色呈现多样化趋势,单一企业、个人无法主导社区的的发展方向。

开源如何赢未来?

最后,堵俊平预测了一些开源可能的未来走向。

up-c82dcf420db6c4a77b314ca0cd5fb46d39f.png

第一个,是大教堂开发模式与集市开发模式并存,从单一控制到社区自治四种模式共存。四种模式的使用条件不一致,各有各的使用场景,趋势会是开放治理的项目越来越多。

第二个,云服务本质上是一种新的商业模式,它和开源的关系比较复杂。当前在业界所表现的冲突,本质上是一些在开源项目上贡献较多的商业化公司与另一些在开源项目价值分配上收获较多的公有云厂商在利益上的冲突,而冲突的消解的方式可能是开源上有更合理的商业化路径或者手段,包括在开源许可证设计中有突破式的创新,来保护开源贡献者的利益。

第三个,刚刚提到的四种治理模式在演进时,或许第三和第四种开放治理模式会成为主流,开源社区独特的价值被深度挖掘。

“本身我也在企业和基金会内外推动开源,现在可以看到很多开源的运营人员,在把社区构建得更加完善,包括法律合规,基础设施,文化建设可能都需要更好地推动……”此外,堵俊平还总结道,以开源为代表的开放式生态已经形成对闭源软件生态压倒性的优势。最终,他认为开源会越来越开放,而社区的繁荣也需要依靠更广泛的开放治理,让社区规则更加透明化,不断吸引更多开发者和专业人员加入,使整个社区欣欣向荣。


GOTC 全球开源技术峰会是由开放原子开源基金会与 Linux 基金会联合开源中国发起的,面向全球开发者的一场盛大开源技术盛宴。大会将携头部开源公司和顶级开源项目一起亮相,覆盖云原生、大数据、人工智能、物联网、区块链、DevOps、开源治理等多个技术领域,在为期 2 天的时间里,为开发者带来全球最新、最纯粹的开源技术,同时传播开源文化和理念,推动开源生态的建设和发展。

GOTC 全球开源技术峰会官网:https://gotc.oschina.net/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK