跳到主要內容
寶秀

資訊科技/軟體

軟體公司M&A:程式碼資產盡職調查完整指南

事業傳承誌 · 閱讀約 4 分鐘

一、為何程式碼盡職調查至關重要

軟體公司的核心資產不是辦公室、設備,而是程式碼庫(Codebase)。然而,在台灣中小型軟體公司M&A中,程式碼審查往往被輕忽——許多買方在收購後才發現:技術債嚴重、文件缺乏、關鍵邏輯由離職員工獨自掌握。

程式碼技術盡職調查(Technical Due Diligence, TDD)應與法律、財務盡職調查並行進行,且應由具有實際開發經驗的技術評估師(而非一般IT顧問)負責。


二、程式碼資產的法律歸屬確認

在深入技術評估之前,首先須確認程式碼的法律所有權。

2.1 著作權歸屬

依台灣《著作權法》第11條:「受雇人職務上完成之著作,以該受雇人為著作人。但契約約定以雇用人為著作人者,從其約定。」

實務問題:多數台灣中小型軟體公司未在員工合約中明訂「著作財產權讓與」條款,導致:

  • 員工離職後,公司可能對程式碼僅有使用權而非所有權
  • 自由工作者(Freelancer)撰寫的程式碼,著作財產權通常仍屬於開發者

盡職調查清單(法律面):

  • 所有員工合約中是否有「職務著作歸公司所有」條款
  • 自由工作者合約中是否有「著作財產權讓與」
  • 外包開發商合約確認著作權歸屬
  • 創辦人個人是否持有部分程式碼著作權

2.2 開源授權合規性(OSS License)

現代軟體幾乎不可避免地使用開源套件,但不同開源授權有不同的合規要求:

授權類型代表套件商業使用限制
MIT / BSD大量通用套件幾乎無限制
Apache 2.0多數Google開源需保留版權聲明
GPL v2/v3Linux Kernel衍生程式碼須開源
AGPLMongoDB(部分)網路服務亦須開源
LGPL部分函式庫動態連結可商用

盡職調查重點:

  • 掃描所有依賴套件的授權類型(工具:FOSSA、Black Duck)
  • GPL/AGPL套件若被靜態編譯進商業產品,可能構成侵權
  • SaaS產品中使用AGPL套件,若提供網路服務即觸發開源義務

三、技術盡職調查六大維度

3.1 程式碼品質評估

評估工具:

  • SonarQube:程式碼品質與安全漏洞掃描
  • Code Climate:可維護性指標
  • Semgrep:安全模式匹配

關鍵指標:

程式碼健康度評分項目:
✓ 測試覆蓋率(理想:>70%;警戒:<30%)
✓ 技術債(SonarQube以「天」計算修復工時)
✓ 循環複雜度(Cyclomatic Complexity,>10需注意)
✓ 重複碼率(>20%代表架構設計問題)
✓ 文件覆蓋率(API文件、架構說明)

3.2 架構評估

  • 是否有清晰的系統架構圖(最近更新日期)
  • 前後端分離程度
  • 資料庫設計(正規化程度、索引設計)
  • 微服務vs單體架構的技術選型合理性
  • 第三方服務依賴(若某個API停用,系統是否癱瘓)

3.3 技術棧與人才風險

台灣軟體市場特有的人才風險:

高風險技術棧(人才稀缺、維護困難):
- 老舊語言:COBOL、Visual Basic 6、Delphi
- 過時框架:ASP.NET WebForms、jQuery(僅)
- 自研框架(只有原開發者懂)

低風險技術棧(生態活躍、人才充足):
- 後端:Node.js、Python、Java、.NET Core
- 前端:React、Vue.js、Angular
- 資料庫:PostgreSQL、MySQL、MongoDB
- 雲端:AWS、Azure、GCP

3.4 安全性評估

依台灣《個人資料保護法》,軟體系統若處理個人資料,收購後同樣承擔法律責任:

  • OWASP Top 10掃描(SQL注入、XSS、CSRF等)
  • 密碼儲存方式(bcrypt vs MD5明文)
  • API認證機制(JWT有效期設定)
  • 敏感資料加密(個資、金融資料)
  • 歷史資安事件紀錄

3.5 擴展性評估

  • 目前系統最大承載量(QPS、並發用戶數)
  • 水平擴展能力(是否可輕易增加伺服器)
  • 資料庫效能瓶頸(慢查詢分析)
  • CDN與快取策略

3.6 CI/CD與工程成熟度

成熟的工程文化指標:
✓ 有版本控制(Git)且有合理的分支策略
✓ 自動化測試(單元測試、整合測試)
✓ CI/CD Pipeline(Jenkins、GitHub Actions等)
✓ 文件化(API文件、部署說明、架構決策紀錄ADR)
✓ 監控與告警(Prometheus、Grafana、Datadog)
✓ 錯誤追蹤(Sentry、Bugsnag)

四、估值影響因素

技術盡職調查結果直接影響估值:

發現估值調整
技術債超過200個工作天折扣10-20%
無自動化測試(覆蓋率<10%)折扣5-10%
有重大安全漏洞暫停交易或大幅折扣
關鍵開發者即將離職加入留才條款
開源授權侵權風險修復成本計入估值調整
技術棧現代化、文件完整溢價5-10%

五、關鍵人才留任

軟體公司M&A中,人才保留往往比程式碼本身更重要:

風險信號:

  • 超過50%的核心程式碼由同一人撰寫(巴士因子Bus Factor=1)
  • 技術長(CTO)為創辦人且計劃退休
  • 員工平均年資<2年(高流動率)

常用留才機制:

  • Earn-out:部分收購款與關鍵人才留任掛鉤
  • 簽約獎金(Sign-on Bonus):交割後立即發放
  • 股票選擇權(Phantom Stock):給予未來公司成長的分潤
  • 職涯承諾書:明確說明新架構下的職位與發展路徑

六、台灣相關法規

《著作權法》:程式碼著作權保護
《個人資料保護法》:系統中個資的保護義務隨收購移轉
《營業秘密法》:競業禁止條款(離職員工帶走程式碼的法律保護)


七、結語

程式碼技術盡職調查是軟體公司M&A中最容易被省略、卻代價最高的環節。建議買方在簽署LOI後、正式合約前,安排2-4週的技術審查期,聘請獨立技術顧問(而非賣方推薦)進行全面評估。

PassBiz 合作技術顧問可提供軟體公司M&A的程式碼盡職調查服務,協助您做出有憑據的投資決策。


本文僅供參考,實際法律與技術問題請諮詢專業顧問。

免責聲明:本文以台灣現行法規為基礎撰寫,供教育與參考用途,不構成法律、稅務或財務建議。進行交易前,請諮詢合格之會計師、律師及 M&A 專業顧問。

同產業的其他記事

回到事業傳承誌記事一覽