项目定位
本项目为 ARCBOS Snowbot 机器人软件系统委托开发项目。项目目标不是单纯完成某些代码模块,而是由乙方在甲方定义的系统架构和产品边界下,协助甲方完成一套可运行、可测试、可维护、可扩展、可独立接管、最终可实现全自治能力的工业级除雪机器人软件系统。
本项目的最终控制权、技术路线决定权、系统边界解释权、版本管理权、知识产权及商业化权利均归甲方所有。乙方仅为受托开发方,不得主张对系统架构、核心模块、交付成果、后续路线或商业化享有控制权或限制权。
系统目标与交付导向
本项目交付目标应明确写为以下五个层次:
- 系统可运行。
- 系统可在真机上稳定运行并满足基本作业要求。
- 系统可由甲方团队独立编译、部署、调试、维护和修改。
- 系统具备继续演进到完全自主作业能力的清晰基础架构。
- 系统在脱离乙方、脱离云端、脱离外部网络的前提下,仍可由机器人在本地独立执行核心作业。
合同应明确:最终验收标准不是乙方主张“开发完成”,而是甲方具备独立接管能力且机器人具备本地自治作业基础。
软件系统边界
本项目软件系统边界包括但不限于以下部分:
- 上位机系统,包括工业计算机环境、Linux 或 Ubuntu 运行环境、进程管理、日志管理、本地调试接口、本地数据管理。
- ROS 或等效机器人中间件层,包括感知、定位、规划、决策、控制、状态机、任务管理、节点通信与系统集成。
- MCU 或嵌入式控制层,包括底盘运动控制、作业机构控制、电池与电源管理、底层传感器采集、安全控制、总线通信。
- 本地人机交互与调试接口。
- 云端接口,但云端仅作为远程调试、远程监控、日志分析、版本更新、参数下发和运维支持之用途,不得成为机器人核心运行的必要前提。
合同中应明确:系统总体架构、分层边界、模块划分、接口原则、软硬件责任分界均由甲方定义,乙方必须按甲方要求实现。
委托开发范围
乙方受托开发范围包括但不限于:
- ROS2 或甲方指定中间件的系统搭建与节点开发。
- 感知、定位、路径规划、局部规划、避障、行为决策、运动控制、任务编排、异常处理相关模块实现。
- 上位机部署环境搭建、服务管理、日志与配置管理、与本地 HMI 和调试工具的集成。
- MCU 嵌入式软件开发,包括驱动控制、作业机构控制、BMS 通信、安全联锁、急停逻辑、底层数据采集。
- IPC 与 MCU 通信协议开发及联调。
- 本地自治运行逻辑开发,确保机器人在无云、无外网条件下仍可执行核心任务。
- 远程调试、OTA、日志上报、运维接口开发,但不得将核心运行依赖绑定到云端。
- 联调、测试、缺陷修复、性能优化、交接支持和部署支持。
离线自治与云边界要求
这是本项目最关键的工程约束之一,合同必须单独成条写清。
应明确约定:
- 机器人核心运行能力必须部署于本地上位机与本地控制系统,机器人必须能够在脱离云平台、脱离互联网、脱离外部服务器的条件下独立执行核心除雪任务。
- 机器人不得因云端不可达、网络延迟、网络中断、DNS 异常、第三方平台故障或任何远程服务异常而丧失基本作业能力。
- 云端功能仅限于远程调试、远程监控、日志汇总、参数管理、软件更新、设备管理和后台运维,不得承担实时控制、核心决策、实时路径规划、核心安全闭环或本地执行依赖。
- 任一核心控制链路、核心状态机、核心安全逻辑、核心任务执行逻辑必须可在机器人本地独立运行。
- 乙方不得通过设计方式将机器人变相做成依赖云端或依赖持续联网的架构。
建议律师在条款中直接写明:云为辅助系统,本地为主系统;云失效不应导致机器人失效。
开发规范与代码格式要求
这是本项目必须新增的强制条款。
应明确约定:
- 项目全部软件开发、脚本、配置文件、接口定义、数据库字段、协议字段、日志字段、报错信息、变量命名、函数命名、类命名、目录命名、文档命名、提交记录、发布记录、开发文档、API 文档、代码注释,必须全部使用英文。
- 全部源代码文件、脚本文件、配置文件、文档文件统一使用 UTF-8 编码。
- 绝对禁止在源码、脚本、配置、接口、协议、数据库结构、文件名、目录名、变量名、函数名、类名、日志信息、注释中使用中文字符。
- 绝对禁止使用中文注释,所有注释必须为英文。
- 绝对禁止交付中存在乱码、混合编码、不统一字符集、依赖中文系统环境或依赖中文本地化环境的实现。
- 乙方应确保该系统在美国本地团队接手、美国客户审查、美国合作方集成、后续融资技术尽调和国际化协作场景下可直接使用,不因中文开发习惯造成维护障碍、审查障碍、出口障碍或合规障碍。
中国相关技术依赖禁止要求
这是本项目必须单列的红线条款。
应明确约定:
- 乙方不得在本项目中调用、集成、依赖或默认接入任何位于中国境内的 API、云服务、消息服务、地图服务、数据服务、身份服务、推送服务、对象存储、镜像服务、日志服务、监控服务或其他在线服务。
- 乙方不得使用任何位于中国境内的服务器、云平台、CDN、镜像仓库、代码托管依赖、软件分发源、遥测通道或数据中转通道作为本项目运行、更新、调试、部署或维护的必要组成部分。
- 乙方不得引入任何会导致机器人、上位机、后台系统、调试工具或运维工具访问中国境内服务器的代码、SDK、依赖项或默认配置。
- 乙方不得引入任何带有中国境内网络回连、许可证校验、默认遥测、后台数据上报或隐性远程访问机制的第三方组件。
- 乙方不得使用中国厂商在线 API、在线地图、在线语音、在线 AI 服务、在线设备管理系统或任何需要向中国服务器发送请求的数据链路,即使该服务免费、开源或由第三方封装后调用,也一律禁止。
合同应进一步写明:乙方必须确保本项目在美国市场销售、美国客户部署和美国云环境运行时,不会产生对中国服务器、网络服务或中国网络基础设施的技术依赖或访问行为。
云部署地域与数据主权要求
应明确写明:
- 本项目未来云侧部署原则上以美国境内云基础设施为准。
- 当前默认目标云环境为美国 Google Cloud 或甲方后续指定的美国合规云环境。
- 所有远程服务、日志存储、OTA 分发、设备管理后台、监控后台、调试后台和后续车队管理后台,应以美国部署为默认目标架构。
- 乙方应按该方向设计接口、部署方式、依赖管理与数据路径,不得引入与该方向冲突的区域性依赖。
开源与第三方依赖使用要求
开源和第三方软件使用不能只写“允许使用”,必须加条件。
应明确约定:
- 乙方可以使用经甲方书面同意的开源组件或第三方组件,但必须完整披露其名称、版本、许可证类型、用途、是否联网、默认外部访问行为、是否存在区域依赖、是否有商业限制。
- 乙方不得使用任何会限制甲方后续闭源商业化、美国销售、全球部署、融资并购、代码再授权或客户交付的许可证。
- 乙方不得使用任何存在地域访问依赖、默认访问中国服务器、默认访问不可控第三方服务、默认上传数据、默认远程校验的开源或第三方组件。
- 乙方必须提供第三方依赖清单,并在每次版本交付时同步更新。
- 若因第三方依赖、许可证问题、侵权争议、区域合规问题、出口限制问题或网络依赖问题造成损失,由乙方承担全部责任。
知识产权归属
合同应明确规定:与本项目有关的全部成果,无论其处于初稿、中间稿、测试版、阶段版、最终版、可运行版、可编译版或待完善版状态,均自形成之日起归甲方独占所有。
范围包括但不限于:
- 源代码、脚本、配置、构建文件、镜像、部署文件、数据库结构、协议定义。
- 架构设计、模块设计、节点设计、状态机设计、接口文档、测试文档、培训文档、排障文档。
- 所有派生版本、改进版本、优化版本、适配版本和衍生技术成果。
应明确:甲方对上述成果享有全球范围、永久、不可撤销、可修改、可复制、可再开发、可许可第三方使用的完整权利。
乙方不得对已交付成果主张保留权、限制权、二次收费前提、地域限制、版本限制或技术封锁。
代码仓库与版本控制
应明确约定:
- 全部代码、文档、配置、脚本、设计文件必须进入甲方指定的代码仓库。
- 默认仓库应设于甲方控制的 GitHub Organization 或甲方指定的美国可控代码管理环境。
- 乙方不得以私人仓库、私人电脑、私人服务器、私人组织、未授权代码托管平台作为唯一实际开发载体。
- 所有开发过程应保留清晰的 commit 历史、分支管理、合并记录、版本标签、发布记录和变更说明。
- 乙方必须按周同步开发进展与代码提交,不得集中突击交付,不得形成黑箱开发。
技术转移与接管要求
合同必须把技术转移写成独立章节,而不能只写“协助培训”。
应明确要求乙方完成:
- 系统架构文档交付。
- 模块说明文档交付。
- API 与通信协议文档交付。
- 编译、部署、调试、测试、发布、回滚、排障文档交付。
- 第三方依赖清单、许可证清单、环境清单、硬件适配清单交付。
- 对甲方工程师进行系统培训,覆盖 ROS、中间件、上位机、MCU、通信、部署、调试、故障诊断和版本发布。
- 培训必须录屏,录像与培训材料归甲方所有。
- 乙方必须配合甲方完成接管演练,直到甲方工程师能够独立编译、独立部署、独立启动、独立调参、独立定位问题、独立修改核心模块。
建议律师把最终验收条件直接写为:甲方团队在不依赖乙方支持、也不依赖乙方控制的账户、服务器、许可证、私有知识或私有工具的情况下,能够独立运行、维护、修改、更新并扩展系统。
禁止技术锁定
合同中应设红线条款,明确禁止乙方通过任何形式制造卡脖子。
应包括但不限于禁止:
- 隐藏代码或不交付完整源码。
- 只交付编译结果而不交付构建链路。
- 使用不披露源码的私有中间件、私有协议封装、私有插件或私有授权机制。
- 设置激活码、远程授权、在线校验、许可证服务器、远程白名单、隐性账号绑定。
- 将关键能力绑定于乙方控制的服务器、账号、证书、密钥、容器仓库、镜像源或调试通道。
- 通过培训不足、文档不足、依赖隐瞒、环境复杂化等方式形成事实上的不可替代性。
验收与付款原则
应将付款与里程碑和真实交付结果绑定。
建议至少设置以下阶段:
- 架构与开发环境阶段。
- 核心模块开发阶段。
- 上位机与 MCU 联调阶段。
- 真机本地自治运行阶段。
- 技术转移与甲方接管阶段。
每个阶段都应写明交付物清单、源码状态、文档状态、测试要求、演示要求、问题关闭标准和验收标准。
尾款必须绑定以下条件同时满足:
- 完整源码交付。
- 文档完整交付。
- 第三方依赖披露完整。
- 无中国 API、无中国服务器依赖、无中文开发残留。
- 机器人可在离线状态下完成核心作业。
- 甲方完成独立接管。
保密、竞业与成果隔离
乙方及其人员必须对项目全部信息承担严格保密义务,包括但不限于代码、架构、硬件接口、测试数据、商业计划、客户信息、部署方式、运维方式和未来产品路线。
乙方及其核心人员在合同期内及合同终止后一定期限内,不得将本项目成果、相似架构、相似模块、相似实现直接或变相用于与甲方构成竞争关系的机器人、除雪机器人、清扫机器人、巡检机器人或自治作业装备项目,除非经甲方书面同意。
重大违约情形
应明确以下情形构成重大违约:
- 不交付完整源码。
- 未披露第三方依赖或许可证限制。
- 存在中文源码、中文注释、中文字段、混合编码或不符合英文开发规范的内容。
- 存在任何中国 API、中国服务器、中国云依赖或面向中国网络的默认访问行为。
- 存在联网依赖,导致机器人无法离线执行核心任务。
- 存在技术锁定、隐藏模块、后门、未披露账户依赖或远程控制依赖。
- 知识产权不清或存在第三方争议。
- 未完成技术转移,导致甲方无法独立接管。
- 擅自复用、泄露、转让或对外提供本项目成果。
对于重大违约,甲方应有权解除合同、拒付未付款项、要求返还对应未完成部分已付款项,并要求乙方赔偿全部损失,包括替代开发成本、项目延期损失、客户损失、融资损失、合规损失及维权费用。
给律师的起草要求
请律师基于以下方向形成正式合同条款:
- 外包的是开发能力,不是系统控制权。
- 甲方必须完全掌握知识产权、源代码、仓库、接口、文档和版本管理权。
- 项目必须满足美国市场销售、美国云部署、国际化协作和后续融资尽调要求。
- 项目必须彻底排除中文开发残留、彻底排除中国服务器和中国 API 依赖。
- 机器人核心能力必须本地运行,绝不能依赖云端或持续联网。
- 云仅作为辅助调试、远程监控、后台运维和版本更新系统。
- 最终交付标准必须是甲方能够摆脱乙方并独立控制整套系统。