30 Star 72 Fork 30

EdgeGallery / community

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
Technical Charter.md 12.10 KB
Copy Edit Raw Blame History
gabrielyuyang authored 2020-12-09 20:33 . update TSC/Technical Charter.md.

EdgeGallery 开源社区技术章程

EdgeGallery社区的技术愿景

聚焦运营商边缘计算MEC场景,通过开源协作构建起MEC边缘的资源、应用、安全、管理的基础框架和网络开放服务的事实标准,并实现同公有云的互联互通。在兼容边缘基础设施异构差异化的基础上,构建起统一的MEC应用生态系统。

行为准则&指导原则

EdgeGallery社区遵守社区行为守则 EdgeGallery开源项目将会在透明、公开、协作的方式指导下运作。正式开源后,项目的路标规划、版本状态、和相关技术小组(如:技术指导委员会(Technical Steering Committee,TSC)、项目组(Project Team, PT)、工作组(Work Group,WG))的运作都将是公开的,易于参加的。

社区的技术组织结构

EdgeGallery社区的技术组织是由一个技术指导委员会和多个项目组(PT),多个工作组(WG)组成的。

技术指导委员会(TSC)

技术指导委员会(简称TSC),是社区的技术决策机构

TSC 职责

  • 敦促社区参与者遵守社区贡献者守则;
  • 根据用户需求制定社区技术发展路线和技术架构演进,并牵引实施落地;
  • 协调社区跨项目合作,组织跨项目技术问题讨论,并进行决策;
  • 对社区版本发展负责,促进社区技术生态健康发展:批准项目的生命周期流程,并牵引实施落地;
  • 对社区版本的安全质量负责:批准社区的版本发布活动和维护流程,质量和安全漏洞的要求和管理机制;
  • 为满足社区需求,变更社区技术指导委员会的组织结构及运作方式,决策项目组和工作组的成立或者撤销,以及社区技术角色的设置和当选离任机制;

成员组成&任期

  • TSC成员由高级伙伴代表和RM(Release Manager,版本经理)组成。
  • 首次TSC成员由高级伙伴指定的代表组成。任期一年,后由选举产生,每年选举一次。
  • TSC主席首次被指定,任期一年,后续由选举产生,每年选举一次。每次选举TSC代表后两周内完成TSC主席的选举。

TSC主席职责

  • 主持TSC会议
  • 可以代表本技术社区参加对外部的活动
  • 领导TSC履行TSC的职责
  • 临时冲突可以委托其他TSC成员代为履职

TSC会议 & 决策机制

  • 社区每周举办一次技术指导委员会会议,集中讨论并决策社区及PG和WG的各项事宜;
  • 涉及事项决策的例会要求至少51%的代表出席方可对该项进行表决;
  • TSC的决定采用简单多数制原则
  • 如果出现平局,则TSC主席将对该事项具有一票决策权;
  • 会议的议程和具体参会方式至少提前三个工作日在社区的邮件列表中通知;

TSC选举机制

TSC 代表候选人

自己提名的活跃的高级伙伴代表(每个法人实体仅支持1名提名者);(活跃的高级伙伴代表定义由TSC负责刷新:担任项目组的PTL or Committer或者担任工作组的主席,同时在年度贡献排名占50%)

TSC 成员选民资格

社区的活跃贡献者均有资格对TSC代表选举进行投票; 活跃贡献者的定义如下: 待补充

TSC主席候选人及选民资格

  • 已成功当选本期的TSC代表均有资格参与TSC主席选举(含提名&投票)
  • 需要自己提名才能参与TSC主席竞选
  • TSC代表需要投票选出TSC主席

TSC 代表及主席的选举时间

每年6月份举行

  • 前两周安排TSC代表选举
  • 后两周安排TSC主席选举

TSC 选举机制

  • 提名阶段:候选人需要自我提名
  • 选举阶段:如果提名的候选人数小于当前TSC要求的成员数,提名的候选人直接当选;否则需要举行选举;
  • 投票阶段:提前一周发布投票宣传和投票链接,在规定的时间内完成投票
  • 发布阶段:投票结束后直接公布投票结果

TSC临时选举机制

临时选举启动条件:

  • TSC代表因不再能够执行TSC职责而辞职;
  • 或者需要辞职,比如因组织限制(公司收购或者合并导致不满足法人实体唯一原则) 启动选举:
  • 辞职或需要辞职的TSC原代表需要发邮件给TSC 邮件列表提出辞职申请;
  • TSC在收到申请的30天内,针对单个职位完成临时选举;
  • 临时选举的职位任期到下一次正式选举;
  • 临时选举遵守相同的程序和投票方案;

项目组(Project Team,PT)

项目组(简称PT)是负责具体社区项目的小组。PG必须具有公开透明的程序。只要遵守行为准则,任何人都可以参与和贡献。PG的目的是制定在一定时期内要实现的一组目标,然后收集输入,推动共识和达成共识,实施代码贡献以及其他相关活动以实现该目标。PG还负责对其区域中的代码进行持续维护。 EdgeGallery社区由多个不同的项目组成。每个项目由来自多个公司和组织的个人组成,其共同目的是为特定的目的推动项目发展。 社区至少有一个项目,每个项目必须有一名PTL,PTL由项目的Contributor选举产生,由TSC任命生效。项目组必须公开交流,确保其他项目组和社区成员可以找到会议记录,讨论,设计和决定,并定期向社区传达项目组工作的概要。

项目组的主要职责:

  • 定期开会,至少每周一次,同步项目进展
  • 在wiki创建专区保持最新的会议纪要
  • 在每次会议之后及时发布会议纪要。
  • 确保项目组的任何决策已归档可查询
  • 定期在社区会议上报告活动
  • 参加发布计划会议,回顾会议等

项目组的决策机制:

项目组的决策也采用简单多数制,项目的每个Commiter均可以参加。

初期的项目组设置

  • MEP:MEP是MEC系统中的核心部件,主要提供边缘平台能力,对运行在MEC系统中的应用程序进行服务治理,同时平台将提供开放能力供应用程序使用。
  • MECM: MEC管理器是MEC系统中负责在高度分布式计算环境中部署应用程序和服务的中心实体,它提供了主机和部署在主机中的应用程序的总体视图
  • APP Store:Application Store为一般开发者提供一个发布自己所开发应用的平台,通过提供APP Package获取接口,为MECM提供基本运作资源。资源类型有两种,APP和Package,一个APP对应多个Package,使用者可直接下载APP的最新版本Package或者下载指定版本的Package。
  • Dev:为开发者提供基于EdgeGallery平台开发应用的端到端的开发支持
  • User Manager:User Management模块为EdgeGallery项目提供用户管理的基本能力,包括增删改查、认证鉴权等。并且在此基础上增加了手机验证和单点登录等功能特性。

工作组(Work Group,WG)

工作组(简称WG),是为解决跨越项目问题而成立的组。工作组不拥有任何功能代码所有权。工作组可以向相关小组报告并采取行动。工作组主要用于促进跨项目的讨论主题,或者是短暂的主题,需要有限的决定才能达成共识。

工作组的组建及运作流程

参阅 工作组生命周期

工作组角色&运作、

  • 每个工作组在工作组主席的带领下,按照社区贡献者公约的要求协作完成工作组制定的工作目标
  • 工作组的例行运作会议是公开的,每个工作组需把会议通知和参加方式在社区公开
  • 工作组需要把相关的会议纪要记录并公开归档地址
  • 工作组需要决策的事务由正式的工作组成员参与,其他列席人员可以提建议,但无表决权
  • 工作组的决策方式参考TSC及其子委员会的决策方式:简单多数制
  • 工作组需要在Community/WG下创建自己的子目录,存放本工作组的相关文档和成员信息

当前设置的工作组如下:

  • 架构组:负责EdgeGallery的架构设计和竞争力维护,拉通各子项目的整体架构设计,同时负责维护代码仓(更多信息见架构组页面):
    • docs:版本的文档仓库
  • 安全组:EdgeGallery安全工作组致力于通过架构、文档、代码审查和漏洞管理来改进EdgeGallery安全。总体目标是确保EdgeGallery平台和通过它贡献的MEC应用程序的安全可靠运行。主要工作包括:漏洞管理,MEP平台的安全、平台部署的安全,上车应用的安全认证等。
  • 测试组:主要负责EdgeGallery社区跨项目的集成测试工作,保障版本的发布,同时负责维护代码仓(更多信息见测试组页面):
    • helm-charts:PT的helm安装包,提供给离线部署以及CD流水线
    • ci-management:版本发布的CI流水线
    • integration-testing:版本发布的测试用例
    • edget:版本的自动化测试框架
    • platform-mgmt:离线安全脚本
  • 集成与IT组:负责EdgeGallery的社区基础设施建设,包括但不限于,社区实验室建设,社区CICD建设,社区基础设施IT维护等,同时负责维护代码仓(更多信息见集成与IT组页面):
    • atp:应用认证平台
  • 云链接组:负责拓展EdgeGallery的云边协同
  • 用户组:主要负责讨论、管理用户,应用场景,应用集成计划等

社区的技术角色

EdgeGallery社区的关键技术角色由TSC代表、PTL、Committer、Contributor组成。其中TSC代表跟伙伴级别和社区贡献均相关;PTL、Committer、Contributor仅跟社区贡献相关。

项目技术负责人PTL (Project Technical Leader)

PTL是该项目的事实发言人,PTL首先需要是该项目的Committer。PTL需要定期对该项目的正常推进负责,包括但不限于定期组织项目组例会,及时沟通项目组进展,代表项目参与TSC会议等。第一批项目PTL是指定的,任期1年,一年后,所有PTL都需要通过公开的选举获得资格。 项目负责人的选举机制:满足以下任一条件,则 选举技术主管:

  1. 新建项目;
  2. 已有项目的PTL辞职;
  3. 自上次该项目PTL选举以来已超过1年

Committer

每个项目都有一组Contributor,他们有权将代码提交上库,Committer必须是该项目的Contributor,决策该项目的设计、代码、补丁和发布。项目的初始Committer是在项目创建的时候指定的,后续Committer的权利是通过对社区的贡献和社区信任获取的。 如果项目没有活跃的Committer,TSC可以从活跃的Contributor中指定一名临时Committer;Committer可以通过向PTL公开请求资源辞职的方式卸任。 对于有破坏性或者长期不活跃的Committer,PTL或者该项目Committer投票(超三分之二)的投票方式确定,PTL将这些信息通知TSC后生效。 Committer必须是活跃的Contributor至少1个版本的时间,第一批Committer将被指定,任期1年,一年后,所有的Committer都需要通过公开选举获得资格。

Contributor

每一个为项目作出贡献的人都是该项目的Contributor,贡献可以是代码,代码检视或者其他交付件的形式。Contributor拥有该项目的投票权利。Contributor可以有多种方式活跃(包括但不限于如下形式):

  • 创建或参与PR的检视,但无权合并
  • 归档或评论问题
  • 参与PG,WG或社区讨论(公开会议、wiki评论、邮件交流等)
  • 为促进EdgeGallery社区的发展进行的文档或者wiki内容的创建 只要是愿意贡献的人员,可以自己申请加入具体的项目,签署CLA后开始正式贡献。

其他

Repoes

  • EdgeGallery 社区下个各代码Repo建议使用Apache 2.0 许可证,属于文档类型的Repo可新增知识共享许可证4.0
  • 新增的Repoes必须由TSC批准,每个Repo必须归属于一个项目组(一个项目组可以有多个repoes)

CLA

所有贡献者参与贡献,默认遵守Apche 2.0 贡献者协议标准,请在贡献前根据指示签署CLA。 技术指导委员会将根据需要更新CLA和签署机制

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/edgegallery/community.git
git@gitee.com:edgegallery/community.git
edgegallery
community
community
master

Search

344bd9b3 5694891 D2dac590 5694891