研发部源代码控制管理规定修订历史生效日期版本号版本说明制作2016.5.11.0.0.0创建季楠目录一、总则........................................................................................................................31、目的............................................................................................................................32、使用范围....................................................................................................................33、责权............................................................................................................................3二、管理内容及要求....................................................................................................31、源代码完整性保障....................................................................................................32、源代码的授权访问....................................................................................................43、源代码复制和传播....................................................................................................4三、附则........................................................................................................................51、实施日期....................................................................................................................52、解释权属....................................................................................................................53、其他说明....................................................................................................................5一、总则1、目的为保障公司源代码安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。2、使用范围本办法适用于所有涉及接触源代码的各部门各岗位,所涉及部门都必须严格执行本管理办法。3、责权源代码直接控制管理部门为技术部。本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个平台系统运行所必须具备的第三方软件、控件和其它支撑库等文件。二、管理内容及要求1、源代码完整性保障所有系统的源代码及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定SVN库中。我们研发的平台系统运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的SVN库中。功能开始编写或者调整代码之前,其相应的设计文档必须签入SVN库(由测试组文档管理员负责检查)。系统编码或代码调整优化结束后,提交技术测试组功能测试之前,相应的源代码必须提交到SVN库。测试组对功能进行测试时必须从源代码服务器上的SVN库中获取代码,包括必须的第三方软件、控件和其它支撑库等文件,然后进行测试。所有提交到SVN上的代码必须保证编译通过,而且提交的时候不会影响主干其它程序的正常运行.2、源代码的授权访问源代码服务器对于共享的SVN库的访问建立操作系统级的,基于身份和口令的访问授权。(由SVN管理员进行管理和设置)在SVN库中设置用户,为不同用户分配不同的、适合工作的最小访问权限。要求连接SVN库时必须校验SVN中用户身份及其口令。在SVN库中要求区别对待不同用户的可访问权、可创建权、可编辑权、可删除权、可销毁权。每个用户切实保证自己的用户身份和口令不泄露,用户要经常更换自己在SVN库中账号的口令。同时,工作任务变化或岗位调整后SVN管理员要实时回收用户的相关权限。要获取不属于自己范围内的文件,例如:代码、数据库,需求文档等,需经项目经理和技术部经理审批同意后由SVN管理员授权。组建特殊项目团队时,SVN管理员为每个参与项目的人设置权限,每人只有自己的权限范围内的代码,核心代码由项目经理或技术经理专人管理。涉及、接触源代码的计算机必须建立专人专用制度,任何其他人不得在未获得技术部经理授权的情况下操作和使用此计算机。此计算机的专用人也不得私自同意或者漠视他人非获得授权使用本计算机。曾经涉及、触及源代码的计算机在转作它用,或者离开技术部门之前必须由运维人员全面清除计算机硬盘中存储的源代码。如果不能确定,必须对计算机中所有硬盘进行全面格式化后方可以转做它用或离开技术部门。开发人员如果在自己的任务范围内,需要调用他人的代码或者方法时,需要向系统组提出申请,不能直接copy他人的代码放入自己的包内。任何人如果需要调用其他工程的代码,在不必要的情况下,不提供原代码,理论上提供API供其调用,如有必要,需要提出申请,并且最小范围参看源代码。3、源代码复制和传播任何源代码文件包括设计文档等技术资料不得利用如QQ、MSN、邮件等涉外网络环境形式进行传输。源代码向技术部门以外复制必须获得总裁或者分管副总裁的书面授权。并必需记录复制人、批准人、复制时间、复制目的、文件流向、文件版本或内容;并且提供充分的copy理由。源代码以任何介质形式进行存储的备份,必须由SVN管理员负责保管。对于这些介质地借阅,用于技术部内部使用的必须获得技术部经理的授权,对于用于技术部以外使用的必须获得总经理的书面授权。对于因合作需要,需要向外复制、传播、分发源代码的,不论是全部还是部分代码和资料,均必需和对方签订技术、源码的保密协定,明确对方应当承担的对源码保密的责任和义务。对于本地用户采用域的管理方式,开发人员默认有本机管理员权限,对于从SVNcheckout出来的代码,禁止copy等一切可能传播源代码的行为。开发工程完成以后,源代码必须及时提交,并且在SVN上会依据不同的开发项目打baseline。三、附则1、实施日期2、解释权属烟台蓝图地理信息工程有限公司办公室3、其他说明