資訊科技/軟體
軟體公司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/v3 | Linux Kernel | 衍生程式碼須開源 |
| AGPL | MongoDB(部分) | 網路服務亦須開源 |
| 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的程式碼盡職調查服務,協助您做出有憑據的投資決策。
本文僅供參考,實際法律與技術問題請諮詢專業顧問。