做这行十来年,见过最难受的纠纷不是钱没结清,是项目做完了,客户发现东西不完全是自己的。
具体点说,是源码。
网站定制这个事,客户一般关心三样:能实现什么功能、多久做完、多少钱。源码归属这种听着很技术的问题,签合同的时候没人提。等团队散了、要换人了、想做第二套站了,才发现当初那几行字写没写,差着几十万的窟窿。
先说一个很多人不知道的事。
按现行的法律,委托别人开发软件,著作权的归属是由书面合同约定的;合同里没约定,或者约定不明的,著作权归受托人——也就是给你做站的那家公司。
意思是,如果你合同里一个字没提,那法律上的默认结果,可能真的不归你。你付了钱,拿到的是使用和部署的权利,不是这套代码本身的所有权。
源码归属这条不写,等于把最要命的东西悬在半空。
再说几种"写了等于没写"。
有的是写了交付源码,没说交付什么。最后给你一个能跑的部署包,里面没有可读的源代码;或者给了源码,但缺注释、缺某个模块、版本比线上跑的旧。你说他没交付,他说交付了。
有的写的是"提供源码",不是"著作权归甲方"。这两个差别很大。前者可以解释成授权你使用,你不能拿这套代码去做第二套站,不能自己找人二次开发,也不能转手给同行。
有的没写交付时间。站都上线一年了,源码还没给。
有的没说清第三方部分。任何定制项目都会用到框架、插件、字体、图片库,这些东西的著作权本来就不属于乙方,乙方也没法转给你。合同里要写清楚:哪些是自研、可以完整交付的;哪些是第三方授权,授权范围是什么、期限多久、要不要续费。用商业组件的项目,续费一断,站上某个功能可能直接用不了。
还有的只写源码,没写账号。域名在谁名下、服务器在谁手上、备案主体是谁、后台最高权限账号归谁,这几样跟源码是两件事,但经常一起出事。尤其是备案主体,如果不是你公司的名字,以后换服务商、做推广都会卡住。
那合同里该怎么写。列几条可以直接拿去用的:
一,本项目由乙方为甲方定制开发的全部自研代码,著作权归甲方所有。
二,乙方应在项目验收通过后若干工作日内,向甲方交付:完整可编译的源代码、数据库结构与初始化脚本、部署文档、运行环境说明、第三方依赖清单及其授权说明。
三,交付方式为提交至甲方指定的代码仓库,或提供可下载的完整压缩包。
四,项目涉及的域名、服务器、备案主体、管理后台最高权限账号,均登记在甲方名下并交付甲方管理。
五,乙方逾期未交付上述内容的,按日承担违约责任,具体比例在合同里写明确。
这几条不复杂,正规公司看了不会皱眉头。真正要留意的是对方的反应。如果对方开始解释"我们从来不给源码""给了你也看不懂""这个要另外加钱",那就是信号。
最后提一句,源码归你,不代表你就能自己改。一套跑起来的定制站,动它需要有人能读懂它。所以拿到源码之后,至少让对方给一份部署文档和一次交接说明。这两样东西不贵,但能在你换人的时候省下大笔钱。网站定制做完之后,双方大概率不会再打交道了,正因为这样,事情更要在还说得上话的时候讲清楚。