在软件采购和授权使用的常见商业模式下,客户通常只获得软件的使用许可和目标代码(可执行的编译后代码),而不直接拥有或者获得软件的源代码(这涉及软件供应商核心的知识产权和商业机密),这种安排对软件供应商而言合理保护了自身的核心技术资产,但对客户而言,也意味着如果供应商未来无法继续提供必要的维护、升级、故障修复等技术支持服务,客户将难以自行维护和改进这套软件系统,可能给客户的业务连续性带来重大风险,尤其是对于依赖该软件运行核心业务的客户而言,这种风险更加突出。
源代码托管协议正是为了平衡软件供应商保护自身核心知识产权的需求,和客户保障业务连续性的合理诉求而设计的一种三方安排:软件供应商将源代码存放在独立、中立的第三方托管机构(通常是专门从事源代码托管业务的专业机构)处保管,托管机构与供应商、客户三方共同签订托管协议,明确约定在哪些特定情形(触发事件)发生时,比如供应商破产清算、供应商停止运营或者停止提供约定的维护服务超过一定期限等,客户有权要求托管机构将保管的源代码释放给客户使用。
对于客户而言,尤其是采购了对自身业务运营至关重要的定制化软件系统或者核心业务系统的企业客户,源代码托管协议提供了重要的风险保障,一旦触发条件成就,客户能够获得源代码,安排自身技术团队或者委托其他专业机构继续维护和改进该软件系统,避免因为供应商无法继续履约而导致核心业务系统陷入无法维护的困境;对于软件供应商而言,提供源代码托管安排,也有助于增强客户(尤其是对系统稳定性和长期可维护性要求较高的大型企业客户)的采购信心,是软件供应商提升自身产品和服务市场竞争力的一项增值举措。
建议软件企业在与重要客户(尤其是涉及核心业务系统的大型项目)签订合作协议时,可以考虑主动提出或者积极配合客户关于源代码托管的合理诉求,选择具备专业资质和良好行业口碑的第三方托管机构,并在托管协议中清晰界定触发条件、源代码更新维护频率等具体条款,既能够合理保护自身的核心技术资产,也能够更好地满足客户对业务连续性保障的诉求,提升自身在软件采购市场中的竞争力和客户信任度。