技术贡献规范
总则
本文件旨在明确志愿者向 VATSIM 中华人民共和国分部(以下简称「VATPRC」)技术部提交技术项目贡献时的流程、行为规范及著作权归属等事项,以及技术部在接受贡献时应遵循的规范。一般情况下,技术部与志愿者均应遵守本文件所载方针与流程。如遇特殊情况,经技术主管提出并获分部主席批准后,可对相关内容作个别调整,并按本文件规定的方式公开。
本文件所指的 VATPRC 技术部项目(以下简称「项目」),是指由 VATPRC8(VATPRC 技术主管)指定、用于支持 VATPRC 正常运行的技术项目,包括但不限于设置于 GitHub VATPRChina 组织 下的仓库中的源代码、文档及其他具备知识产权的内容。
本文件所述技术部,是指由分部主席任命的一名技术主管及由其任命的若干名技术主管助理组成的团队。本文件所述技术部组员,指上述团队成员。
本文所述 VATSIM 会员、VATPRC 会员、VATPRC 职员等概念,适用《VATSIM Code of Conduct》《VATSIM Code of Regulations》及 VATPRC 相关规范文件中的定义。
本文件自 AIRAC Cycle 2512 起施行。
项目计划
技术部应在每个季度的第一个自然月的最后一日之前,通过 VATPRC 全体职员会议记录、VATPRC 论坛、VATPRC 官网或其他合适途径,向全体 VATSIM 会员公开当季及下一季度的项目计划。
当季项目计划应包括重要项目与一般项目:
- 重要项目:须指定至少一名技术部成员作为负责人,并应尽力在当季完成,除非遇到突发重要项目、重大技术难题等情况。
- 一般项目:可指定至少一名 VATSIM 会员作为负责人,也可不指定。
- 若已指定负责人,负责人应努力在当季完成项目。
- 未指定负责人的一般项目可不在当季完成。
下一季度的项目计划仅供参考,可能在下一季度正式公布时调整。
VATSIM 会员可就自身遇到的实际问题向技术部提交项目建议。建议应通过 GitHub、邮件或技术部指定的其他方式提交。
技术部在每季度公布项目计划时,应同时公布上一季度收到的所有项目建议。
- 对于被纳入计划的项目,应提供比原建议更详细的功能描述、简要技术方案,并说明与原建议的区别。
- 对于未纳入计划的项目,应说明未采纳的理由。
代码贡献
代码贡献一般流程为:申请负责项目、开发、代码评审与合并上线。对于简单项目,可免除申请环节。
申请负责项目
任何 VATSIM 会员均可申请负责项目计划中当季的一般项目或下一季度的项目。申请须通过邮件提交,并附上能够展示个人经验与能力的材料,例如个人简历、GitHub 主页、个人主页等。
技术部应在收到申请后的 30 个自然日内与申请者联系。技术部应通过面试、邮件沟通或技术主管指定的其他方式,评估申请者的技术经验与能力、连飞记录及团队协作能力。评估结束后,技术部应在 14 个自然日内做出接受或拒绝申请的决定,并将决定及简要理由通知申请者本人、技术主管、分部主席及其他相关职员或成员。
开发
技术部应为开发者提供必要的权限和技术资料。
涉及 VATSIM 会员信息、VATPRC 会员信息、网络等级与权限,或其他由分部政策与技术主管指定的敏感信息之权限,仅可提供给技术部成员或其他分部职员。若开发因缺乏适当权限或技术资料遇到困难,技术部应给予合理协助。
若项目涉及较大变更,开发者应在开发前与技术部成员充分讨论。
代码合并
开发完成后,应通过 Pull Request 或技术主管指定的其他方式提交代码合并请求。Pull Request 必须由至少一名技术部成员审阅通过后方可合并与部署。
代码应遵循技术部指定的代码规范,相关规范应在仓库中简要说明。
著作权
技术部应根据参与者的实际贡献情况,在首页职员列表页面、开源许可页面或其他适当且能被 VATSIM 会员知悉的途径中标注贡献者信息。标注的形式与内容由技术主管指定。
贡献者保留对其贡献内容的著作权,但是在相关法律所允许的最大范围内,贡献者授予 VATPRC 一项对贡献内容所涉及的著作权的永久的、全球范围内的、非独占的、可转让的、免版税的、不可撤销的许可,允许 VATPRC 通过多层级的再许可方分许可该等权利,以便将该贡献内容作为材料的一部分进行复制、修改、展示、表演和分发。
技术部组员
申请
对项目做出有效贡献的 VATPRC 会员可申请成为技术主管助理。申请须通过邮件提出,并附上在 VATPRC 或其他分部参与技术项目的经历,以及个人简历、GitHub 主页或其他展示经验与能力的材料。
技术主管应在收到申请后的 30 个自然日内与申请者联系,技术部应通过面试、邮件或其他技术主管指定方式评估申请者的技术能力、连飞记录和团队协作能力。评估结束后,技术部应在 14 个自然日内做出接受或拒绝申请的决定,并通知申请者本人、技术主管、分部主席及其他相关职员或成员。
技术主管助理或经分部主席认可的其他 VATPRC 会员,可在技术主管职务空缺时申请成为技术主管,具体方式与流程由分部主席确定。
职责
技术部组员应协作完成以下工作:
- 参加技术部会议
- 设计、维护与改进分部网站及其他软件
- 分析分部空域相关的信息技术问题
撤职
若技术部组员存在不履行职责、不参加会议或不参与项目贡献等情形,应予以撤职。
技术主管助理的撤职应由技术部组员提出,经其他组员讨论后,由技术主管执行。
技术主管的职务撤销应依照经分部主席认可的程序,由分部主席执行。