所有抱着推动 Apache IoTDB 前进的共同目的、认同开源文化、遵循相关规范的个人或团体凝聚起来形成了我们的社区。 参考 Apache 基金会的社区理念,我们的社区存在以下四种身份。
社区拥有丰富的交流途径。目前有以下五种交流途径。可以选择自己适用并倾向的渠道与社区进行交流。
途径一:通过 Slack 进行交流(全英文)
遵循 Apache 的社区文化,形成以下公约。 保持开放。我们诚邀各位加入我们的社区。除了敏感内容以外,我们期待大家在公开的渠道对项目有关内容展开讨论。这也适用于寻求帮助和项目支持的消息; 不仅仅是群众的支持请求更有可能得到问题的答案,还可以确保社区注意到并纠正回答该问题的人无意间犯的错误。 拥有同理心、热情、友好和耐心。我们共同努力解决矛盾,怀揣善意,并尽最大努力以一种感同身受的方式行动。我们可能会遭受一些挫折,但这并不是进行人身攻击的借口。一个让人感到不舒服或受到威胁的社区不会成为一个卓有成效的社区。 我们应该对打交道的社区成员和社区外部人员都给予尊重。 懂得协作。我们会互相依赖彼此的工作。我们积极向他人说明我们为项目发展所做的工作,解释相关的原理。那么他们可以在我们原有的基础上进一步提高。我们做出的任何决定都会影响到用户和同事,所以我们在做出决定时必须认真考虑可能产生的后果。 有一颗好奇心。没有人能知道一切。尽早提出问题可以避免以后出现很多问题,所以我们鼓励大家提出问题,虽然我们可能会将一些问题引导到更合适的论坛。出于我们优化项目代码的共同目标,那些收到问题的人会积极响应并提供帮助。 注意我们的用词。无论我们是以专业人士还是志愿者的身份参与,我们在所有的互动中都要重视专业精神并对自己的言论负责。 善待他人。不要侮辱或贬低其他参与者。骚扰和排斥行为是不允许的。这包括但不限于: *针对他人的暴力威胁或语言。 *性别歧视、种族歧视或其他歧视性的笑话和语言。 *发布色情或暴力内容。 *发布(或威胁他人发布)其他人的个人身份信息。
社区发布新版本流程中有两类角色。 角色一:RM (发布经理,Release Manager),是发布新版本的发起人。一般为一个人而非多人承担这个角色。 角色二:社区开发者。社区开发者将对新版本是否发布进行投票。值得提醒的是,不是所有的社区开发者都强制为新版本的发布进行投票。
在我们的开源社区中,发布新版本主要由五步进行。 第一步 - RM 发起提议:由某位开发者自发作为RM (发布经理,Release Manager)提起新版本发布的提议。通过邮件,发出相关提议。邮件发出的提议将对新版本的改进进行充分说明。 第二步 - 社区开发者查看提议:当收到邮件之后,若社区开发者赞同相关提议,可以不回复相关邮件,默认认同提议。若社区开发者对新版本发布提议存在建议或质疑,可以回复邮件进行说明。 第三步 - RM 发布内部测试版(Release Candidate):当社区开发者的建议得到充分考虑后,RM (发布经理,Release Manager)将发布内部测试版(Release Candidate),通过邮件来让大家进行新版本的测试并投票。 第四步 - 社区开发者进行投票:社区开发者获取到内部测试版(Release Candidate)进行测验。测验后,通过邮件进行投票。 第五步 - 投票通过后 RM 发布正式版本并对外公布:当投票情况符合相关条件,RM发布正式版本,并通过邮件对外公布这个消息。(若投票失败,则通过邮件公布本次发布新版本失败,并在修改后,重新提起发布新版本的流程。此处将不对投票失败情况展开解释。)
请见 https://iotdb.apache.org/zh/Development/VoteRelease.html;
依据 Apache Software Foundation 给出的说明,我们将把投票窗口保留 72 小时及以上。当收到至少三票 PMC 赞同票并且赞同票多余反对票的时候,代表投票通过。投票的结果将由 RM (发布经理,Release Manager)汇总。RM 会通过邮件公布结果。
对于新手的 RM (发布经理,Release Manager),我们提供了详细的实践指导。每一步需要做的事情做了详细的说明,请查看博客《版本发布流程》。