开源社区治理章程(试行)
目录
前言
本章程为openFuyao多样化算力集群生态开源社区提供治理框架,明确社区各个组织的角色、定义、职责、决策流程、加入和退出的原则。通过本章程,确保社区的透明性、公平性、协作性,并推动开源项目的健康、可持续发展。
第一章:社区宗旨、目标与原则
社区宗旨
openFuyao社区,旨在构建一个开放、协作、创新和透明的,支持多种算力硬件,兼容并更优支持各类应用组件,打造多样化的算力集群调度技术生态,欢迎全球开发者、贡献、用户和组织参与,并共享开源技术成果。
社区愿景及使命
愿景:为世界提供多样化算力集群软件生态,释放智能无限价值
使命: 以开放协作汇聚伙伴与开发者,打造多样化算力互联调度能力,实现集群的算力极致释放和安全可靠,孵化基于集群的关键软件根技术,共创高效、创新的算力集群社区。
治理原则
本社区以本社区治理组织领导下的项目自治为原则,在遵守当地相关制度规范的前提下进行治理和运营。
业务范围
- 探索和构建多样化算力集群软件开源生态,打造多样化算力互联调度能力;
- 促进本社区范围内的开源软件推广、使用、宣传、培训等;
- 提升本社区的技术易用性和可靠性;
- 开展开源软件生态建设、宣传推广、学术交流、教育培训等相关活动;
- 开展与其他开源项目、社区、基金会的合作;
- 开源社区 IT 基础设施开发和运维。
社区行为准则
- 为建设开放友好的社区环境,本社区贡献者和维护者承诺:不论年龄、体型、身体健全与否、民族、经验水平、受教育程度、社会地位、国籍、相貌、种族等,本社区和社区的参与者皆免于任何骚扰。
- 有助于创造积极社区环境的行为包括但不限于:
- 措辞友好且包容;
- 尊重不同的观点和经验;
- 耐心接受有益批评;
- 关注对社区最有利的事情;
- 与社区其他成员友善相处。
- 本社区和社区的参与者不应采取的行为包括但不限于:
- 发布与色情、暴力等有关的言论或图像;
- 捣乱/煽动/造谣行为、侮辱/贬损的评论、人身及政治攻击;
- 公开或私下骚扰本社区和社区的其他参与者;
- 未经明确授权发布他人的个人信息等资料,如住址、电子邮箱等;
- 其他有理由认定为违反社区行为准则的不当行为。
- 社区项目维护者(Maintainer)有权利和义务诠释何谓“不当行为”,并妥善公正地纠正已发生的不当行为。社区项目维护者有权利和义务删除、编辑、拒绝违背本行为准则的评论(comments)、提交(commits)、代码、wiki 编辑、问题(issues)等任何贡献;社区项目维护者可暂时或永久地封禁任何其认为有威胁、冒犯、有害社区秩序的不当行为参与者。
- 本行为准则适用于本社区。当有人代表本社区时,本准则亦适用于此人所处的公共平台。
- 代表本社区的情形包括但不限于:使用本社区的官方电子邮件、通过本社区官方媒体账号发布消息、作为本社区指定代表参与在线或线下活动等。
- 代表本社区的行为准则可由本社区筹备委员会进一步定义及解释。
第二章:社区组织架构设置
openFuyao开源社区设置社区委员会、技术委员会,用户与生态发展委员会,及品牌委员会。社区委员会主要关注社区的整体治理、战略方向和文化建设。技术委员会专注于技术方向把控和创新、代码质量看护和技术支持。生态与用户发展委员会则致力于社区的用户增长、生态合作和市场推广。品牌委员会确保项目的品牌形象一致且具影响力。在社区开源初期,不设置正式社区委员会,以筹备委员会行使工作委员会的职责,负责社区整体工作的运作,待社区运作步入正轨后,再成立正式的工作委员会。以下描述都以筹备委员会名称出现。
筹备委员会(Preparatory Committee)
筹备委员会职责
筹备委员会是社区的领导机构,其主要职权是:
- 指导openFuyao社区的发展方向,委员会成员分工协作制定长期发展规划和实施指导意见。
- 审视技术委员会的工作,并提出指导意见。
- 组织社区用户/伙伴发展、品牌宣传等工作的规划和实施落地。
- 面向全球各行业宣传和推广openFuyao开源社区及基于社区技术的算力组件及发行版,促进其广泛使用和生态建设。
- 吸引更多的企业、学术机构、开发者加入到社区,发展社区生态,提升社区活力。
- 筹备成立正式工作委员会,并制定相应的工作委员会章程和运作机制。
筹备委员会加入原则
- 战略投入和承诺: 筹备委员会是开源社区及项目治理的核心,成员单位需长期投入和战略性支持,能够参与和引领社区的长期规划与发展。
- 行业影响力: 成员单位应在该领域具有较高的代表性和影响力,能够使能社区技术在所属领域推广和普及。
- 治理经验与能力: 成员单位应具有一定的社区治理经验或能力,能够有效参与决策、调解争议、制定政策等工作。
- 开源价值认同: 必须认同并支持开源的核心价值观,如开放、透明、协作、社区自治等,认可本社区的愿景使命和定位,并在实际操作中践行这些价值观。
筹备委员会退出原则
- 未履行治理责任: 如果成员单位未能积极参与社区的治理和决策(例如长期(连续3次及以上)缺席会议等),或一个审视周期(半年)内无实质性贡献(建设性意见、实际的技术/方案/策略/机会点等的贡献、社区活动参与)的,可启动退出流程。
- 不符合社区价值观: 在运营中严重违背开源核心价值观,导致社区文化或声誉受到影响(如不透明的决策过程、排他性行为等),可要求退出。
- 内部矛盾无法调解: 组织的行为或决策与社区的整体利益发生根本冲突,且无法通过调解解决,社区委员会可启动退出程序。
筹备委员会运作机制
1.筹备委员会主要工作方式
- 筹备委员会会议,初期建议以月度粒度召开会议,最低双月,后期根据需要可进行调整,具体例会频度和时间由筹备委员会确定;
- 筹备委员会会议须有三分之二以上(含)委员出席方能召开。当与会人数达不到前述法定人数时,按一般工作会议召开,但不得以筹备委员会的名义形成决议;
- 技术委员会以季度为频度,向筹备委员会汇报工作进展,筹备委员会给予相应指导意见及资源支持;如下属委员会之间存在争议问题,可通过筹备委员会进行协商;
- 筹备委员会委员须按时参加工作委员会(筹)会议;
- 筹备委员会会议纪要需要公开存档。
2.筹备委员会决策机制
- 所有决议均需要在筹备委员会上进行投票表决,投票为公开记名投票;
- 不可委托他人代理参会并进行表决;
- 投票分为赞同、反对和弃权,投票模式为公开记名投票;
- 只有三分之二以上(含)的与会理事投赞同票,决议才能通过;
- 凡需要筹备委员会会议决议的事宜,均需要在筹备委员会会议上进行投票决策;
- 列席筹备委员会的顾问,可发表意见,但无表决权。
3.筹备委员会委员任期
筹备委员会委员由社区建设方根据社区发展需要按照上述加入原则综合评估和审视需加入成员单位符合度后产生,任期至工作委员会正式成立,过程中可根据成员履职情况,做针对性刷新和调整。正式的工作委员会委员按照筹备委员会制定的工作委员会章程选举产生。
技术委员会(Technical Committee)
技术委员会职责
技术委员会是社区的技术领导机构,其主要职权是:
- 技术委员会拥有技术决策的最终裁决权。
- 决策社区技术的发展愿景和方向。
- 决策社区 SIG 的成立、撤销、合并等事务。解决 SIG 组之间的协作冲突,辅导、审视和监督 SIG 组的日常运作。
- 落实社区日常开发工作,保证 openFuyao社区算力组件及发行版高质量发布。
- 引导社区在体系架构、算力释放、容器编排调度、安全等领域技术创新,保证社区具有持续的技术竞争力。
- 引导社区建立原创性开源项目,持续构建社区技术影响力。
技术委员会加入原则
- 技术贡献与领导能力:成员单位需要具备深厚的技术实力,能够在项目的技术架构、代码审查和技术决策中发挥主导作用。
- 创新和技术推动力:成员单位应具备推动技术创新的能力,并能帮助项目在技术上保持领先。例如,推动新技术、新工具等的引入,或对现有技术方案的优化。
- 开放源码贡献:成员单位应有实际的开源贡献记录,包括代码、文档、设计方案等,能够体现其对项目的技术投入。
- 持续性承诺:成员单位需承诺长期支持项目的技术发展,提供人员、资源、资金等支持,确保项目的技术路线得以持续推进。
技术委员会退出原则
- 主动申请退出: 技术委员会成员向本技术委员会全体成员提交书面通知,可以退出技术委员会。
- 技术贡献减少:如果技术委员会成员长时间未能提供有效的技术支持或贡献(如缺乏代码提交、技术方案提出等),将被视为不再适合继续参与技术委员会,可要求其退出技术委员会。
- 违背技术原则:如果技术委员会成员推行的技术决策严重偏离开源项目的核心技术原则(例如推行封闭源代码的方案、滥用技术权力等),可要求其退出技术委员会。
- 破坏社区技术生态:如果技术委员会成员的行为对项目技术生态产生负面影响(例如强行推动某项不适宜的技术或不符合开源精神的做法),可要求其退出技术委员会。
社区技术治理架构
组织架构 | 职责描述 | 产生方式和任期 |
---|---|---|
技术委员会 Technical Committee | 技术方向规划,技术管理与指导,决策SIG项目孵化和毕业,决策社区版本需求范围 | - 初始由筹备委员会按照上述加入原则综合评估后制定 - 任期1年,定期审视 |
维护者 Maintainer | 项目技术领导和管理者、包维护者。直接参与和TC及上游或周边的协调,但无汇报关系 | - 初始由项目创建时指定 - 新Maintainer由现任Maintainer提名或Committer自提名,现任Maintainer投票,TC审批 - 无任期限制,不定期审视非活跃成员 |
审核者 Committer | 特性设计方案审核和批准,代码审核及主干代码合入 | - 初始由项目创建时指定 - 新的Committer由现任Maintainer提名或现任Contributor自提名,Maintainer投票,TC审批 - 无任期限制,不定期审视非活跃成员 |
贡献者 Contributor | 特性设计、代码开发、测试bug修复、提供文档等等 | - 签署了CLA的任何人,提交社区贡献 |
技术委员会运作机制
- 技术委员会委员须是社区SIG组的Maintainer/Committer,在社区存在持续贡献记录。
- 技术委员会的主要工作方式通过技术委员会会议,技术委员会按双周召开例会,所有技术事项在技术委员会会议中做出讨论和决策。技术委员会会议和日常工作由技术委员会主席或其授权的委员组织。
- 技术委员会会议公开召开
- 技术委员会会议须有三分之二以上(含)技术委员会委员出席方能召开。当与会人数达不到前述法定人数时,按一般工作会议召开,但不得以技术委员会的名义形成决议;
- 有五分之一以上的技术委员会委员提议,可以临时召集技术委员会会议,技术委员会主席必须在收到临时召集提议的5个工作日内召集会议;
- 技术委员会委员须按时参加技术委员会会议;
- 技术委员会会议纪要需要存档并可供公众公开访问。
- 技术委员会决策机制
- 所有决议均需要在技术委员会上进行投票表决,投票为公开记名投票。投票分为赞同票、反对票和弃权票,只有三分之二以上(含)的与会理事投赞同票,决议才能通过。
- 未到场(到场形式包括线上接入且能确认其身份、线下与会)委员不能委托其他人代替投票。
- 技术委员会会议通知获取及议题申报
- 技术委员会委员可通过订阅TC邮件列表,获取技术委员会会议通知。或关注官网会议日历;
- 技术委员会委员可通过会议白板,按照议题申报模板要求,提前申报会议议题。
技术委员会下设各SIG组/子项目组
SIG(Special Interest Group)是指特别兴趣小组,SIG组在技术委员会指导下,负责社区特定子领域及创新项目的架构设计、开源开发及维护等工作。开发者根据自身感兴趣的领域方向,联合有共同兴趣的人,确定SIG Maintainer,创建SIG提案。提交包括创建SIG的背景信息、创建SIG的业务范围、创建SIG的业务目标等因素的SIG提案给技术委员会。技术委员会对SIG提案进行评审,审核通过后正式批准成立SIG组。
一个SIG或者子项目组的Maintainer可以是一个或者多个,对SIG整体负责。一个SIG或者子项目组有多个软件仓,每个软件仓可以有一个或者多个Committer。
社区技术成长路径
- 角色定义
角色 | 描述 |
---|---|
维护者 Maintainer | 负责定义特定SIG的工作范围及业务目标,并负责对应SIG的运营及维护:吸纳并发展Committer参与项目孵化、文档完善及社区推广;定期向技术委员会汇报SIG项目孵化及运营进展,并基于技术委员会的指导建议完成相关改进 |
审核者 Committer | 拥有SIG子领域的代码仓写权限。负责SIG领域软件模块设计与评审,负责代码审核及维护,处理社区的issue、邮件列表问题,辅导Contributor快速理解SIG领域架构设计并提升代码开发技能 |
贡献者 Contributor | 有一定代码编程经验的开发者。参与社区代码贡献、文档贡献、技术方案讨论及设计、解答用户问题、发表技术文章或视频课程 |
2.晋升机制和流程
(1)如何成为社区贡献者(Contributor)
- 在GitCode上提交或审核PR;
- 在GitCode上对问题进行归档或评论;
- 参与SIG或社区讨论。
(2)如何成为社区审核者(Committer)
- 作为贡献者至少2个月,熟悉代码库;
- 作为主要审阅者至少参与了6次PR的审阅;
- 审阅或合并至少20个基本PR到代码库;
- 可以自提名或由该SIG的Maintainer提名,并且无现任Maintainer反对票情况下投票通过。
(3)如何成为社区维护者(Maintainer)
- 作为主要审核者至少三个月;
- 作为主要审阅者至少参与了12次PR的审阅;
- 审阅或合并至少30个基本PR到代码库;
- 可以自提名或由该SIG的Maintainer提名,并且无现任Maintainer反对票情况下投票通过。
第三章:社区资产管理
知识产权策略
- 贡献到 openFuyao 社区的项目代码,应以源代码形式提供,且应采用openFuyao社区认可的开源许可证。
- 代码贡献者应按照 openFuyao 社区的要求签署对应的原创声明或者贡献协议。
第四章:附则
制订、修改及解释
本社区治理制度的制订、修改及解释由 openFuyao筹备委员会负责。
生效
本社区治理制度经 openFuyao筹备委员会决策通过后发布生效。