核心解答
替您编写代码的人,并不会自动成为代码对您的企业而言的所有人。泰国法律有默认规则,而且因开发者是您的雇员还是外部承揽人而不同。这些规则还仅限于确实为您创作的那部分代码。
规则(《著作权法》佛历2537年)。 计算机程序作为文字作品受到保护(第4条)。如果开发者是雇员,第9条规定,除非书面协议另有约定,著作权归雇员所有,雇主可为雇佣目的发表该作品。如果开发者是受委托人,第10条规定,除非创作人与委托人另有约定,著作权归委托人所有。转让必须采用书面形式,并由双方签字(第17条)。
我们的实务观点。 不要依赖默认规则。请使用书面合同,写明各项成果归谁所有,以书面形式把代码转让给您的公司,列明开发者可以保留的内容(其工具和既有代码),并把付款与经过测试的里程碑挂钩。第8节的合同条款清单,是可以交给您的律师的部分。
1. 在泰国,源代码受著作权保护吗?
受保护。第4条对"文字作品"的定义包括计算机程序,并把计算机程序界定为以任何编程语言编写的、用于使计算机工作或产生结果的指令、指令集或其他任何内容。第15条赋予权利人专有权利:复制或改编作品、向公众传播、出租程序的原件或复制件、享有著作权的利益,以及许可他人使用。
第4条还把对程序的实质性部分进行修改、但并未形成新作品的情形视为"改编"。因此,如果您日后聘请第二位开发者修改第一位开发者的代码,您需要拥有改编的权利,途径是拥有著作权,或取得涵盖修改的许可。
2. 如果我聘请开发者,代码归谁所有?
取决于双方之间的关系。
| 关系 | 默认规则 | 实际意义 |
|---|---|---|
| 雇员(劳动合同) | 第9条:除非书面另有约定,著作权归创作人(雇员)所有。雇主可按雇佣的需要发表该作品。 | 公司享有与职务相关的使用权,但不一定拥有所有权。请在劳动合同中增加权属条款。 |
| 承包商或外包机构(承揽) | 第10条:除非创作人与委托人另有约定,著作权归委托人所有。 | 是有利的默认规则,但仅适用于在委托范围内创作的作品。 |
| 没有合同、非正式合作的自由职业者 | 实践中并不明确。是雇佣、承揽还是其他关系,取决于事实。 | 应当避免。请在开工之前签订合同。 |
对于承包商,合同可以被归类为承揽。《民商法典》第587条把承揽界定为:承揽人同意完成一项确定的工作,委托人同意就工作成果支付报酬的合同。范围固定的软件开发通常属于此类。长期委托(retainer)、人员外派和持续性支持,则可能更像雇佣或服务关系,所以合同中的名称本身并不能解决这一问题。
3. 为什么仍然需要书面转让?
有四个原因。
- 默认规则存在缺口。 第10条只涉及开发者为该委托而创作的作品。开发者在您的项目之前编写的库、框架、模板和代码,并不是"为您"创作的。
- 第10条可以被变更。 如果机构的标准条款写明"开发者保留全部权利",这就是法条所说的"另有约定"。
- 举证。 发生争议时,一份签署的条款写明"项目中创作的所有代码、文件和设计均转让给客户",要比围绕关系定性展开的争论容易证明得多。
- 第17条。 如果您想要的是转让而不是许可,则必须采用书面形式,并由双方签字。如果没有写明期限,法律视为十年。永久转让需要使用诸如"在著作权保护期的整个期间内"这样的表述。
精神权利是另一回事。根据第18条,除书面另有约定外,创作人可以主张作者身份,并可反对损害其声誉的歪曲或修改。合同中常包含一个条款,约定如何署明开发者的贡献,以及客户可以修改代码。
转让还是许可? 永久、独占、不可撤销的许可有时可以满足业务需要,在开发者把核心平台重复用于其他客户时很常见。如果您选择许可,请写明是否独占、您是否可以修改、转许可、委托第三方托管,以及在出售业务时是否可以转让。关于名称和标志的类似问题,请参阅我们的指南:设立公司时的品牌与商标权属。
4. 代码仓库和访问权限应当如何处理?
如果唯一的副本掌握在开发者手中,代码的所有权就没有多少意义。请通过合同取得实际的控制权:
- 代码仓库放在由贵公司拥有的账户(组织级别)中,开发者以贡献者身份受邀加入。
- 云账户、域名、应用商店上架信息、API 密钥和证书都以贵公司而非个人的名义注册。
- 开发者定期提交代码,使您已付款的代码在每个里程碑都存在于您的仓库中,而不是只在最后才有。
- 凭据通过安全渠道交接,并在交接时更换。
- 测试和生产系统中的客户数据或个人数据,按事先约定的规则处理。请参阅我们的 PDPA 合规清单,以及涉及在公共 AI 工具中使用源代码的指南:公司 AI 政策与客户数据。
5. 开源和第三方组件怎么办?
几乎所有现代软件都包含开发者并未编写的组件,其许可证随组件一并适用。从实务角度看:
- 宽松型许可证一般允许在商业产品中使用,前提是保留规定的声明。
- Copyleft 许可证可能对与该组件结合或分发该组件的软件附加条件,在某些情况下可能要求以相同许可证公开您自己的源代码。条件因许可证而异,也取决于软件的使用方式(例如向客户分发,还是仅在您自己的服务器上运行),因此在依赖某一组件之前,应当审查实际的许可证文本。
- 付费第三方组件(SDK、字体、模板、支付或地图 API)通常按项目或按席位收费,也未必自动转移给您。
合同要点:开发者列出每一项第三方和开源组件及其许可证(物料清单),保证交付成果中没有任何内容迫使您公开自有的专有代码,并且未经您批准不得加入许可证带有限制的组件。开发者还应保证其有权交付该代码,且代码不侵犯他人的权利。我们在此不对某一具体许可证作出结论。请核实所涉及许可证的文本。
6. 里程碑和验收测试应当如何运作?
泰国法律并未规定软件的验收程序,所以必须由合同来规定。这一点很重要,因为根据《民商法典》第598条,如果委托人明示或以行为接受了有缺陷的工作成果而没有提出异议,承揽人对该缺陷一般不再负责,除非该缺陷在交接时无法发现,或承揽人隐瞒了该缺陷。因此,交付后保持沉默可能对您不利。请设定固定的审查期,并写明为测试而在生产环境中使用不等于验收。
假设示例(数字仅为示意)。 一家公司委托开发在线订购系统,价款为 600,000 泰铢。下表显示付款如何跟随经过测试的交付物。
| 里程碑 | 交付内容 | 验收测试 | 付款(示例) |
|---|---|---|---|
| 1. 需求规格与设计 | 书面需求、用户流程、界面设计、技术方案 | 客户签字确认书面范围;遗留问题已关闭 | 20% |
| 2. 核心开发 | 测试服务器上可运行的核心功能,代码位于客户的仓库中 | 规格书中的测试用例通过;没有未解决的严重缺陷 | 30% |
| 3. 集成与数据 | 支付、通知和数据导入可通过测试账户运行 | 客户运行约定的测试脚本;导入数据与源数据核对一致 | 20% |
| 4. 用户验收测试(UAT) | 预发布(staging)环境上的完整系统、发布说明 | 客户在约定期限内测试;缺陷按严重程度分级;没有未解决的严重或重大缺陷 | 20% |
| 5. 上线与交接 | 生产部署、源代码、文档、凭据、培训 | 生产环境冒烟测试;交接清单已签署 | 10%(签署前扣留) |
好的验收条款应包括:由谁测试、在什么环境中测试、使用哪些测试用例、审查期为多少天(例如 7 至 14 天,根据项目确定)、缺陷如何分级(严重、重大、轻微)、开发者须在何时修复,以及审查期届满而无人答复时会怎样。许多客户倾向于约定沉默不视为验收;如果开发者坚持视为验收,则应使该期限足够长,以便能够进行充分的测试。
7. 变更、缺陷与合同终止
变更请求。 范围蔓延是最常见的争议。要求变更必须以书面形式提出、报价,并在开工之前由双方签字,同时写明对进度的影响。还要写明,某项请求属于"变更"还是"缺陷",由谁来决定。
保修与缺陷。 在没有相反约定的情况下,《民商法典》第600条规定,承揽人对交付后一年内出现的缺陷负责(土地上的建筑物为五年,与软件无关)。第601条禁止在缺陷出现一年之后提出索赔。该法条是针对有形工作而制定的,法院如何将其适用于软件,是应当咨询律师的问题,所以请通过合同约定保修:期限、缺陷的定义、严重程度等级、响应与修复时限,以及保修期后的支持是否属于另行付费的方案。
合同终止。 根据第605条,在工作尚未完成期间,委托人可以终止承揽合同,但须赔偿承揽人因解除而遭受的损失。合同应当更加具体:通知期限、已完成工作的付款,以及重要的一点,即即使项目中止,迄今已创作的全部代码和文件也须交付。还要规定因开发者违约(错过里程碑、放弃项目)和因您违约(未付款)而终止的情形,并把权属的转移与付款挂钩,这样您就不必在支付有争议的账单与失去代码之间二选一。
交接。 完成或终止时:完整的源代码和构建脚本、数据库结构、部署说明、环境与凭据清单、开源物料清单,以及一段短期的知识转移支持。如果开发者想保留仓库或托管,请要求采用源代码托管(escrow),或定期向您交付副本。
8. 合同条款清单
- 合同各方、项目描述,以及作为附件的书面规格书。
- 固定价格或按工时和材料计费的规则,付款计划与已验收的里程碑挂钩。
- 权属:向贵公司作出的明示书面转让(第17条),写明转让期限为著作权的整个保护期,并由双方签字。
- 例外:列明开发者既有的工具和代码,并给予您永久、不可撤销、涵盖修改和托管的许可。
- 开源和第三方清单(物料清单)及其许可证,并附带不负有公开贵公司代码义务的保证。
- 仓库和账户由贵公司拥有;定期提交代码;交接凭据。
- 验收程序:测试用例、环境、审查期、严重程度等级、视为验收的规则。
- 书面的变更请求流程,开工前报价。
- 保修期、缺陷定义、修复时限和支持条款。
- 保密、个人数据处理和安全义务(见上文的 PDPA 指南)。
- 精神权利与署名:如何署明开发者;客户可以修改。
- 仅经您批准才可分包,且每名分包商须作出同样的转让。
- 延误救济、责任上限,以及侵权索赔的赔偿。
- 终止权、已完成工作的付款,以及退出时的代码交付(第605条作为默认规则适用)。
- 适用法律、管辖法院和电子签名安排。请参阅公司合同的电子签名。
书面合同远比口头合同容易证明;原因请见口头合同及其可执行性。
延伸阅读
付款之前先在书面上取得代码的所有权:一份签署的转让文件、一个由公司拥有的代码仓库,以及与经过测试的里程碑挂钩的付款,比任何默认规则都更能保护您。
我们为泰国企业起草和审查软件开发、许可和服务协议。初步咨询免费 —— 请致电 +66 92 254 2045 或将详情发送给我们。更多内容请见合同与文件以及法律顾问服务。
本指南由苏婉瓦拉律师事务所发布 —— 该律师事务所位于孔敬府,成立于 1986 年。本文仅为一般性信息,不构成针对任何特定事项的法律建议。

