ROS 2 技术指导委员会章程

日期

2021-02-06

版本

0.5

组织

info@openrobotics.org

指导原则与理念

ROS 2 项目(以下简称“ROS 2”或“该项目”)秉持开放运作,即计划、决策和流程应及时向广大公众公开。所有感兴趣的各方,从普通观察者到计划发布产品的公司,都应该能够获取有关项目方向和时间安排的信息。

TSC的责任

ROS 2技术指导委员会(“TSC”)负责项目的技术方向。TSC就项目路线图、开发者政策和流程、发布计划以及其他需要ROS 2技术监督的事项进行决策。这些决策旨在是最终和权威的,但是任何决策的成功实施都取决于TSC代表的组织提供必要资源的承诺。

TSC旨在确保项目具有以下特点:

  1. 独立和透明的治理

    该项目由为其做出贡献和使用相关软件的社区驱动,Open Robotics是该项目的创始项目赞助商。

  2. 协调

    那些为项目开发提供劳动力和其他资源的个人和组织之间定期联系,以协调他们的计划和活动。

  3. 进度和质量

    项目在可用资源的基础上尽快推进,同时不牺牲所得软件的质量。

  4. 政策

    以符合行业普遍采用该软件的要求为基准,接收、审查和测试对项目的贡献。

成立技术监察委员会(TSC)

TSC由对项目做出实质贡献的个人和/或代表对项目做出实质贡献的组织的个人和/或选定的社区代表组成。TSC旨在协调成员及其组织自愿为项目做出的贡献。TSC无法强制或要求成员、其所属组织或该组织的员工采取任何行动。

  1. 实质贡献是在适当的开源许可下向项目开发软件和/或文档作出最低程度的努力的承诺。此贡献可以是以实物劳动和/或外包工作的形式。成为TSC成员并不需要除项目的实质贡献之外的费用或付款。

  2. 获得TSC成员资格所需的最低努力承诺为**1个全职等效(FTE)**。该级别可通过标准的TSC动议和投票由TSC更改。

  3. TSC必须至少有三名成员。

  4. TSC成员资格没有时间限制。

  5. TSC的人数没有最大限制。TSC可以通过标准的TSC动议和投票来设定人数限制。

  6. TSC可以通过标准的TSC动议和投票向TSC增加额外的成员。在考虑增加新成员时,TSC有责任确定该潜在成员对项目的实质贡献是否足够并且适合获得成员资格。

  7. TSC成员可以通过自愿辞职、标准的TSC动议和投票,或者按照以下参与规则被从TSC中移除:

    • 在任何三个月的时间内,如果个别TSC成员出席的定期安排会议不足1/3,不参与TSC讨论,也不参与TSC投票,则该成员将自动被从TSC中移除。

  8. TSC将定期审查TSC成员的实质性贡献,以确保他们继续满足TSC对TSC成员的最低工作要求。如果一个TSC成员的实质性贡献低于该最低水平,TSC可能决定通过标准的TSC动议和投票将该成员移除。

  9. 除了Open Robotics外,任何雇主仅限有最多一个TSC成员。

  10. TSC成员可以指定代理人代表其参与TSC。

  11. TSC 成员资格是公开的;会员名单通过 Open Robotics 维护和定期更新的网站进行发布。

  12. 作为该项目的创始赞助商,Open Robotics 永久拥有 TSC 的成员资格,举办 TSC 会议,并提供代表担任主席。

  13. 任何组织或个人可以通过发送电子邮件至 info@openrobotics.org 申请加入 TSC。ROS 2 TSC 申请流程可在此处找到:这里

社区代表

技术指导委员会(TSC)应包括一些代表广大ROS社区而非特定组织或个人的人员。

  1. 社区代表的人数由TSC做出决定。然而,这个数字不得少于三人,并且不得少于TSC中非社区代表成员人数的10%。

  2. 社区代表的任期为两年。

    • 任期从选举后的12月1日起开始。

  3. 初始的社区代表中,百分之五十(50%)的人员在他们的第一届任期内只会任职一年,以错开社区代表的任期。

  4. 如果满足以下任一条件,社区代表可以在两年期满之前被撤职:

    • 社区代表主动请求辞职。

    • 技术指导委员会主席认为社区代表的行为不当。技术指导委员会主席必须公开说明撤职社区代表的原因。

  5. 当社区代表被TSC解除职务时:

    • 如果社区代表数量低于指定的最低值,TSC应该推荐,并且主席应该任命一位新的社区代表来完成被解除职务的社区代表的任期。

    • 如果社区代表数量高于指定的最低值,不需要采取特别行动。

  6. 社区代表通过公开选举产生。

  7. 如果一个个体符合以下条件,他/她就有资格竞选社区代表:

    • 来自同一组织的社区代表最多只能有一个。

    • 该个体自愿提名自己。

    • 该个体的提名未被技术指导委员会主席否决。

  8. 社区代表选举将以以下方式进行:

    • 在九月的第一个星期二,将发布一个 ROS Discourse 帖子,征求 TSC 成员提名。

    • 提名期将持续两周,直到九月的第三个星期二。

    • 有意参选 TSC 成员的候选人必须自我提名,但鼓励社区使用提名 Discourse 主题来鼓励其他社区成员参选。

    • 为了自荐ROS 2技术委员会(TSC)成员候选人,必须提交候选人资料包,其中包括一份个人简历、一张正面照片、一份书面陈述,以及可选的简短视频介绍。

    • 书面陈述应说明候选人为何认为自己适合担任该职务以及他们作为社区代表的目标是什么。

    • 从九月的第三个星期二到十月的第一个星期二之间,ROS 2 TSC 将审查候选人是否存在任何异议或利益冲突。TSC 主席将准备一个包含所有候选人资料的 ROS 讨论区帖子。

    • 在十月的第一个星期二,候选人资料将与在线投票表单一起发布到 ROS 讨论区。

    • 选举过程开始到投票结束之间的时间段可以供候选人进行竞选活动。

    • 投票人的资格标准应在选举开始前由TSC确定,并在提名开始时明确说明,直至投票结束。

    • 投票将从十月的第一个星期二开始,持续到ROSCon的第一个完整天结束。

    • 投票应使用Condorcet方法进行。

    • 鼓励候选人参加ROSCon,但不强制要求。

    • 选举结果将在ROSCon的闭幕会议上公布,并在ROS讨论区发布公告。

    • 如果由于任何原因ROSCon在某一年未能举办,则仍将按照前述选举流程进行,根据TSC的选择,在必要时进行程序修改,但最迟在12月15日前宣布选举结果。

会议

技术委员会(TSC)定期以面对面和/或电子方式进行会议。

  1. 至少需要三名技术委员会成员组成法定人数,以召开技术委员会会议。

  2. 当前成员可以参加技术委员会会议。其他组织或个人可能会受邀请参加技术委员会会议,Open Robotics将决定邀请谁。技术委员会成员可以向Open Robotics提议个人或组织的名字,以供考虑作为潜在观察员。

  3. 每次技术委员会会议的会议纪要将在会后不久由Open Robotics发布。技术委员会会议不会进行广播或逐字记录,但应被视为公开讨论。

工作组

TSC可以建立一个或多个工作组(简称“WG”),以比TSC全体成员更详细地讨论特定主题的内容。

  1. WG可以通过标准的TSC动议和投票由TSC建立。在建立时,TSC有责任决定新WG的名称、范围和初始主席。

  2. WG可以通过标准的TSC动议和投票由TSC解散。

  3. 每个工作组必须由技术委员会成员担任主席。工作组的主席负责该工作组的所有运作,包括成员资格、会议安排和决策。

  4. 工作组可以将调查结果和/或建议提交给技术委员会进行讨论和/或决策。

投票

技术委员会致力于通过共识来进行运作。当无法达成共识时,决策通常应该通过资源承诺来进行,例如,如果某个成员希望在路线图中包含某项功能,但其他技术委员会成员对此不感兴趣,那么该成员可以选择承诺他或她所在组织的贡献来开发所需的功能,从而将其纳入路线图。在无法达成共识且资源承诺不足或不适当的情况下,采用简单多数投票,每个成员一票。

项目角色

TSC成员身份不会影响代码贡献的处理方式,代码贡献仍然遵循已建立的联邦式开发模式,即通过拉取请求进行贡献,并在合并之前由适当的维护者审查和批准。提交权限和维护者身份是通过对相关软件包的代码贡献而获得的。

保密性

TSC的设置是为了透明地指导社区。然而,为了促进有效的沟通,有些机密讨论的能力是重要的。TSC成员应该在TSC内部分享机密信息,其他成员应尊重该保密性。以下是有关TSC通信、活动和会议中保密性的规定。所有其他通信可以向更广泛的社区公开,以实现透明度。在本节中违反规定足以导致代表或成员公司被TSC以标准动议和投票的方式开除,具体取决于违规行为的性质。

  1. 在与投票或争议话题相关的讨论中,个人发表的言论若未在公开发布的会议纪要中反映,应被视为保密信息。

  2. 在涉及他们不是成员的公司、研究团体、个人或其他实体的言论应被视为保密信息。除非涉及的实体是成员并参加TSC会议或活动时,此规定不适用。

  3. 关于自己的实体或意见的明显保密言论或明确声明为保密的言论应保持保密。

  4. 仅在明确的口头或书面批准下,发表了该言论的TSC成员才能放弃规则a-c的约定。如果双方对豁免的存在产生质疑,则该豁免被视为无效。

  5. 属于TSC成员组织的附属机构或TSC活动的嘉宾,对机密信息有同样的要求,即本部分所规定的标准。邀请或共享信息的TSC成员有责任告知相关方这些保密要求。如果违反了该政策,TSC成员将完全负责泄露行为。