Kubernetes 社区是如何运作的系列之三——治理细则

Stella981
• 阅读 578

点击蓝字

Kubernetes 社区是如何运作的系列之三——治理细则

关注开源之道 

关于治理

忘记在哪里看到的了,说是搞开源,第一文化,第二流程,第三是工具。我们今天就 Kubernetes 的 SIG 治理细则,来看下具体的工具使用。至于原因嘛,开源之道也不免唠叨几句:

文化的学习和习得绝非一日之功,可能需要数十年,数百年,甚至有些文化根本就无法移植。既然学习文化是一个很漫长的过程,还要比拼耐心,那么我们就退而求其次,学习下流程。然而,流程没有文化的支撑,仿佛鱼离开了水般的难以适应,需要大概经历好多年,才能慢慢习惯。举例来讲,开源社区讲究透明和影响力,那么很多事情就需要公开,这是非常难以实施的。然后,再退而求其次,只使用工具:比如邮件列表、可以存档的即时在线多人聊天、GitHub等,这是所有人都可以稍微花些时间就可以掌握的,因为是实实在在的规划好的路。

这就是开源之道愿意花时间和精力来讲讲治理细则的根本来由。废话颇多,不如见见实际的内容,以下为 Kubernetes SIG 的治理细则,细到如何上传YouTube视频。那么问题来了,对 Kubernetes 的技术本身有多深的理解和沟通能力才能有计划创建一个SIG?

Kubernetes 社区是如何运作的系列之三——治理细则

总则说明

为了规范特别兴趣小组(SIG)的工作,也为了创建最具透明性的社区,以及为了能够让贡献者能够找到最合适的SIG,SIG应遵循以下指导原则:

  • 要有定期的会议,每三周至少要有半小时,尤其是在11月、12月。

  • 会议记录要保持更新,且要在社区仓库页面链接到 SIG 的页面。

  • 在 SIG 相应的邮件列表中,要提前说明会议的议程,而且要在会后发布会议记录。

  • 记录SIG会议并公开发布

  • 要确保 SIG 的邮件列表和 Slack 频道均已归档

  • 每周社区会议至少每6周报告一次活动

  • 根据需要参与发布计划会议和回顾,并结束会议

  • 确保项目中发生的相关工作,如 GitHub组织的所有者、仓库的权限、代码、测试的负责人,SIG的支持的内容:包括issue、PR review、测试失败的响应、bug修复等

  • 使用上述的形式作为工作、沟通和协作的主要手段,而不是私人间邮件来往和会面

  • 要为 SIG 选一名代表出来。—— 目前的SIG代表名单和职责

SIG 角色

SIG 中的角色区分为如下两类:

  • SIG 参与者 :一个或多个项目的积极参与者;可代表较宽泛的角色

  • SIG lead:SIG 的组织者

SIG 创建和管理流程

Kubernetes 社区是如何运作的系列之三——治理细则

前提准备

  

  1. 使用Google日历的账户创建新的日历,并将之公开。

  2. 将日历所有权与所有的SIG主管共享 - 他们可以编辑,重命名甚至删除它。

  3. 分享给您sc1@kubernetes.iosc2@kubernetes.iosc3@kubernetes.io,并赋予他们完整的所有权。这是为了防止 SIG 主管们的消失。

  4. 将之在 SIG 的邮件列表上共享,较低的权限。

  5. cgnt364vd8s86hr2phapfjc6uk@group.calendar.google.com 分享个别事件,以让其在 Kubernetes 通用的日历上发布。

  • 使用现有的建议书和 PR 流程

  • 在邮件列表kubernetes-dev@googlegroups.com上公布新的SIG成立。

  • 向 kubernetes/community 仓库提交 PR,将新的SIG添加到其 README文件的表格中。在 kubernetes/community 创建一个新的目录,sig-foo,并将sig相关的内容放入其中:文档、时间/日程表、路线图等。

Kubernetes 社区是如何运作的系列之三——治理细则

为 SIG 创建相应的服务账户

  • 创建Google Group

在Google Group上创建邮件讨论组,请遵循如下步骤:

  1. 每一个 SIG 都需要至少有一个邮件讨论组,和一些用于镜像相关github通知的组;

  2. 使用下面的名称约定创建邮件讨论组;

  3. 所创建的讨论组,至少需要有三位所有者(包括 sarahnovotny at google.com 和 ihor.dvoretskyi at gmail.com)

  4. 要将讨论的主题设置为公开。

  • 名称约定:

kubernetes-sig-foo (邮件讨论组)

kubernetes-sig-foo-leads (管理者的名单,用于Zoom和日历。)

kubernetes-sig-foo-misc

kubernetes-sig-foo-test-failures

kubernetes-sig-foo-bugs

kubernetes-sig-foo-feature-requests

kubernetes-sig-foo-proposals

kubernetes-sig-foo-pr-reviews

kubernetes-sig-foo-api-reviews

  • GitHub 用户创建

在 GitHub上创建SIG相关的账户,同样使用下面的名称约定:

这其实是用来做机器人的,主要还是要和邮件列表讨论组一一对应上,所以名称显得特别的关键:

k8s-mirror-foo-misc

k8s-mirror-foo-test-failures

k8s-mirror-foo-bugs

k8s-mirror-foo-feature-requests

k8s-mirror-foo-proposals

k8s-mirror-foo-pr-reviews

k8s-mirror-foo-api-reviews

  • 创建 GitHub 团队

到 kubernetes 的 GitHub 组织按照如下名称约定创建相应的组织,请将 GitHub 的用户分别添加到相应的 GitHub 组织:

sig-foo-misc

sig-foo-test-failures

sig-foo-bugs

sig-foo-feature-requests

sig-foo-proposals

sig-foo-pr-reviews

sig-foo-api-reviews

原则总结

  • 保持高度透明

  • 尽最大可能在高度复杂的技术体系架构中,让开发者和相关贡献者能够找到最感兴趣或最擅长的内容

  • 将流程减少到最小,但不能没有

参考资料

Kubernetes 社区 SIG 治理文__档 https://github.com/kubernetes/community/blob/master/sig-governance.md

Kubernetes 社区是如何运作的系列之三——治理细则

点击阅读原文,发现更多精彩。。

本文分享自微信公众号 - 开源之道(OCSelected)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这