references/基本面.md

6.1 KB

一、 合同类型(法律性质)分析

  • 法律定性

  • 复合型技术开发合同:软件委托开发合同在《民法典》中属于技术开发合同的一种,同时受《著作权法》和《计算机软件保护条例》的严格规制。

  • 智力成果承揽属性:其核心在于按照委托人的特定功能需求,由开发人进行创造性的代码编写。它不仅是“交付软件”,更是“提供智力解决方案”。

  • 易混淆辨析

  • 软件开发 vs 软件许可(SaaS/成品购买):软件开发是“量体裁衣”的定制化过程;软件许可是直接购买已有软件的使用权,不涉及底层代码的修改。

  • 软件开发 vs 技术服务:技术服务通常指对现有软件的维护、升级或培训;软件开发则涉及从逻辑架构设计到代码实现的“从无到有”。

  • 效力认定(高风险)

  • 实质性交付红线:若合同仅交付了运行程序(.exe/APP包)而未交付源代码技术文档,在司法实践中可能被认定为“未完成核心交付义务”,除非合同另有明确约定。

  • 开源协议(OSS)合规性:若开发人在代码中大量使用 GPl 等强传染性开源协议的代码,可能导致委托人的整个闭源商业软件被迫开源,产生巨大的合规风险。

  • 适用场景

  • 企业 OA/ERP 系统定制、电商平台网站建设、移动端 APP/小程序开发、嵌入式系统研发等。


二、 合同主体(交易对手)分析

  • 主体适格性

  • 技术栈匹配度:核查开发人是否具备项目所需的特定编程语言(Java, Python, C++ 等)及框架的实操经验。

  • 团队稳定性:软件开发周期通常较长且具有延续性。需核查开发方的项目经理(PM)和核心架构师是否在职,防止“售前牛人,售后新手”。

  • 高频风险

  • 转包/分包风险:开发方为节省成本,常将部分模块(如 UI 设计或后端接口)分包给第三方甚至外包给临时团队。需在合同中约定:未经委托人书面同意,不得分包关键模块

  • 人员流动导致的“代码断层”:若项目因开发方人员离职导致无人能读懂此前编写的代码,项目将面临瘫痪。

  • 关联主体分析

  • 第三方接口方:如支付接口(支付宝/微信)、地图接口(高德/百度)。需明确接口费用的承担方。


三、 合同标的(交易对象)分析

  • 标的物的完整构成(核心)

  • 交付物清单:必须包含:目标程序(可执行文件)、源代码(含注释)、数据库结构、开发文档(需求规格说明书、设计文档)、用户手册、安装部署手册。

  • 知识产权(IP)归属(重中之重)

  • 法定规则:无约定时,著作权归开发人所有。

  • 商事习惯:通常约定由委托人全额付费后,著作权归委托人所有。

  • 权利负担:需明确开发人是否保留了“基础库/工具类代码”的所有权,并对委托人进行永久免费授权。

  • 验收标准(技术指标)

  • 功能需求书(PRD):必须作为合同附件。需明确:响应时间、并发数、兼容性要求(如支持哪些浏览器或手机型号)、安全性要求等。


四、 合同程序(交易步骤)分析

  • 需求冻结程序

  • 开发前需签署《需求确认书》。防止委托方中途频繁修改需求导致项目延期和成本激增。

  • 里程碑交付程序(分阶段管控)

  • UI/原型确认 -> 测试版交付 -> 正式版上线 -> 验收结项。每个阶段应设置签字确认环节,作为支付进度款的依据。

  • 测试与验收程序

  • UAT(用户接受度测试):由委托方在真实环境下运行软件。

  • Bug 修复期:约定验收前必须修复所有 A 类(崩溃)和 B 类(功能缺陷)Bug。

  • 维保与迭代程序

  • 免费维护期:通常为 1 年。涵盖故障修复、系统优化及因环境变化(如手机系统升级)导致的兼容性处理。


五、 交易结构设计(风险规避方案)

  • 分期付款结构

  • 首付(启动金) -> 阶段款(按功能模块) -> 验收款 -> 质保金(通常 5%-10%)。质保金建议在维保期满后支付。

  • 源代码托管(Escrow)

  • 对于大型核心系统,可约定将源代码托管在第三方,一旦开发商倒闭或拒绝维护,委托方可直接提取代码。

  • 侵权担保机制

  • 开发人必须承诺软件不侵犯任何第三方的著作权或专利权。如产生侵权纠纷,由开发人承担全部赔偿责任。

  • 文本形态设计

  • “主协议 + 需求规格说明书 + 详细设计方案 + 项目里程碑进度表 + 验收标准书”


六、 宏观风险预警与尽调指引

  • 高频争议点

  • “需求蔓延”与“需求误解”:委托人认为“你应该有这功能”,开发人认为“合同里没写”。

  • 交付逾期:软件开发极易出现延期。需约定逾期违约金,并区分“因需求变更导致的顺延”和“因技术实力不足导致的延误”。

  • 性能不达标:系统上线后在高并发下崩溃,双方对“合格”的定义产生冲突。

  • 尽职调查清单

  • 技术能力调查:要求开发商演示过往类似的成功案例。

  • 合规性调查:核查开发商是否有使用盗版开发工具或非法库的记录。

  • 宏观风险预警

  • “黑盒交付”风险:严防开发人通过混淆技术或设置“逻辑炸弹”实现对软件的非法控制。

  • 数据安全预警:对于涉及个人信息的 APP 开发,必须在合同中强制加入《数据安全协议》,确保代码层面符合国家等保要求及隐私合规。

建议:在合同中务必增加“文档实时同步条款”,要求开发人在编写代码的同时交付对应的开发日志和技术文档,防止最后时刻交付的文档与代码“两张皮”。