Browse Source

!142 add software management document for MindSpore

From: @ouwenchang
Reviewed-by: @zhunaipan,@leonwanghui
Signed-off-by: @leonwanghui
pull/142/MERGE
mindspore-ci-bot Gitee 5 years ago
parent
commit
d1cfae0ce1
1 changed files with 64 additions and 0 deletions
  1. +64
    -0
      security/software-management_zh_cn.md

+ 64
- 0
security/software-management_zh_cn.md View File

@@ -0,0 +1,64 @@
# MindSpore 软件包依赖管理规范

## 关于本文档

### 目标

为满足网络安全、合法合规、可追溯性要求,特拟定本规范,指导MindSpore社区正确使用开源软件。本规范的中**必须**,**必须不能**,**应该**,**应该不能**的含义参考[RFC2119](https://tools.ietf.org/html/rfc2119)。

### 范围

本文档定义了MindSpore社区新增、升级、降级、删除开源软件包所需要遵从的策略要求。所有提交到MindSpore社区的开源软件包需要满足本文档中定义的技术要求。

### 本文的改进和修订说明

- 本文档由[MindSpore技术委员会](https://gitee.com/mindspore/community/tree/master/tsc)( Technical Steering Committee, TSC)主导起草和维护。本文档的最新版本可以在 [这里](https://gitee.com/mindspore/community/tree/master/security/software-management.md) 找到。
- 任何对于本文中涉及的规则的增加,修改,删除都**必须**被追踪,[请进入该追踪系统](https://gitee.com/mindspore/community/issues) 。
- 最终规则经过社区充分的讨论后,由技术委员会定稿。

## 开源软件选型原则

### 目的

制定本原则是为了确保MindSpore社区使用的开源软件质量可靠、安全稳定。

### 软件选型要求

#### 总体要求

1. 为了确保开源及第三方软件的质量,从社区引入某开源软件/版本,或者从第三方供应商处引入某第三方软件/版本,需要进行选型评估活动。
2. 软件选型要求保证开源软件基本信息正确。软件基本信息包括软件名称、软件版本号、编程语言、官网地址、license、官方发布时间、源码包下载地址、二进制包下载地址、copyright等。
3. 必须满足选型评估标注四个维度(合法合规、网络安全、技术生态、生命周期)的底线原则要求,不满足时,则需要采用其他软件替换或者自研。
4. 原则上一款开源软件只在MindSpore社区中引入一次。

#### 合法合规

1. 禁止选用无许可证、许可证要求无法履行、有知识产权问题的开源软件。
2. 优先选择有官方数字签名校验的软件包。

#### 网络安全

1. 禁止选用含非误报病毒告警的软件。
2. 选用的开源软件必须有问题反馈与修复跟踪管理机制,优先选择有漏洞披露源的开源软件。
3. 优先选择漏洞较少的版本。

#### 技术生态

1. 选用版本必须是正式发布的版本。未正式发布的版本(如:Beta版本,rc(Released candidate)版本)禁止引入。
2. 优先选择主流的供应商/社区或社区项目。
3. 优先选择版本稳定性高的软件,无已知的未解决的致命Bug。
4. 优先选择代码质量高的软件。如代码结构规范、代码调试功能可关闭、有自动化构建能力、自动化测试充分等。

#### 生命周期

1. 选用成熟期或成长期的软件,禁止选用处于衰退期的软件。成长期软件:发布频繁。成熟期软件:定期发布版本。衰退期软件:社区更新少,已经不再发布新版本。

## 开源软件变更原则

开源软件的变更,包括在MindSpore社区中引入其他开源软件(项目)、升级或者降级已引入的开源软件、删除已引入的开软软件等动作。

其中引入、升级、降级开源软件必须满足**开源软件选型原则**。升级、降级开源软件必须考虑MindSpore社区所提供功能的稳定性与兼容性。

整个变更的过程都**必须**可被追踪。目前 [https://gitee.com/mindspore/community/issues](https://gitee.com/mindspore/community/issues) 是这个过程的追踪系统。

TSC通过对变更申请(Pull Request)的评审,管理软件变更。

Loading…
Cancel
Save