客製系統的程式碼歸誰?合約裡一定要寫的授權條款
出錢做系統,不等於擁有程式碼。合約沒寫清楚,想換廠商、想自己改、想拿回原始碼時才發現卡住。這篇拆解程式碼權利的四種安排、原始碼該交什麼與何時交、廠商既有元件怎麼處理,附一份簽約前必寫條款清單。

「系統是我出錢做的,程式碼當然是我的啊。」
很多老闆在簽系統開發合約時,心裡都是這樣想的,所以合約裡關於程式碼的部分,常常只有一句「本系統交付後歸甲方使用」,甚至什麼都沒寫。平常相安無事,直到有一天:廠商不回訊息了、報價突然變很貴、你想找另一家接手、或你想讓自己的工程師加一個功能。這時候你去要原始碼,對方說:「合約沒有寫要交原始碼。」
我是熊董,台灣川輝科技創辦人。我帶團隊做系統導入七年,經手超過 34 個案子、14 個以上產業,現在一個人加 AI,一年交付 2,000 萬以上的客製系統。我接手過別人做不完、做壞的系統,也看過老闆為了拿回自己花錢做的東西,跟前一家廠商耗上很長的時間。先說清楚,我不是律師,這篇講的是我在專案現場看到的實務,合約條文最後請一定給律師看。出錢做系統,不等於擁有程式碼。合約沒寫清楚的時候,程式的著作權通常歸實際寫程式的那一方,出錢的你多半只拿到使用的權利,想自己改、想換廠商、想拿回原始碼,都可能卡住。所以系統開發合約至少要寫清楚五件事:權利是移轉還是授權、原始碼交付的範圍和時間點、廠商既有元件和第三方套件怎麼處理、網域主機帳號與資料歸誰、以及廠商不再服務時你能做什麼。重點不是每一樣都要全拿,而是你清楚知道自己拿到什麼,付的錢對應的是什麼。
先承認:「我付錢,東西就是我的」這個直覺很合理
在大部分的交易裡,這個直覺都是對的。你付錢買一台機器,機器就是你的;你付錢請人裝潢,裝好的房子就是你的。所以老闆會很自然地認為,付錢請人寫系統,寫好的東西就是自己的。
軟體不一樣的地方在於,它有兩層東西:一層是你看得到、每天在用的系統,另一層是讓系統跑起來的程式碼,以及程式碼背後的著作權。你付了錢,第一層通常沒問題,你可以用;但第二層歸誰,要看合約怎麼寫。在台灣,出錢請人開發的情況,如果合約沒有特別約定,著作財產權一般是歸實際創作的那一方,出資的人可以利用,但能利用到什麼程度、能不能修改、能不能交給別人改,就常常變成爭議。細節請以律師意見為準,但結論很明確:這件事不能靠默契,要寫進合約。
程式碼的權利,其實有四種安排
很多人以為只有「歸我」和「不歸我」兩種,其實常見的安排有四種,各有適合的情況,價格和彈性也不一樣。
| 安排方式 | 你拿到什麼 | 適合的情況 | 要注意的地方 |
|---|---|---|---|
| 著作財產權移轉 | 客製部分的程式碼完全歸你 | 系統是核心競爭力、未來會自己養團隊 | 報價通常較高;廠商既有元件仍要另外約定 |
| 專屬授權 | 你可以使用和修改,廠商不能再授權給別人 | 不想被同業用到同一套做法 | 要寫清楚授權範圍、期間、能否轉授權 |
| 非專屬授權 | 你可以使用和修改,廠商也能用在別處 | 一般管理系統、預算有限 | 至少要有修改權和原始碼,不然等於綁死 |
| 只有使用權 | 能用系統,拿不到程式碼 | 訂閱制、標準化產品 | 停止付費就不能用,資料匯出要先談好 |

這四種沒有絕對的好壞。如果你買的是一套訂閱制的標準產品,拿不到程式碼很正常,你付的本來就是使用費;這時候該在意的是資料能不能完整匯出。如果你花了不少錢做一套完全照自己流程設計的系統,那至少要拿到原始碼和修改的權利,否則你等於花錢替廠商開發了一個產品,自己卻被綁在他身上。
訂閱制和買斷客製怎麼算總成本,是另一個題目,我在訂閱制 ERP 還是買斷客製那篇有完整的試算框架。
原始碼交付:交什麼、什麼時候交?
就算合約寫了「交付原始碼」,實務上還是有很多模糊空間。我看過的爭議,很多都出在這兩個地方。
交什麼:原始碼不只是程式碼
只拿到一包程式碼,常常是不夠的。另一家廠商或你自己的工程師拿到之後,可能根本跑不起來,因為缺了設定、缺了資料庫結構、缺了部署方式。完整的交付至少應該包括:
- 全部的原始碼,包括前端、後端、排程、串接程式
- 資料庫結構和初始資料的建立方式
- 部署文件:在什麼環境、用什麼步驟可以把系統架起來
- 設定檔範本,以及哪些設定是機密、要另外交付
- 使用到的第三方套件和服務清單,含各自的授權條款
- 系統架構說明,至少讓下一個人看得懂各部分在做什麼
合約裡可以直接寫一句:「交付之原始碼與文件,應足以讓具備相關技術能力之第三方,在合理時間內獨立完成部署與維護。」這句話比任何清單都更能保護你,因為它定義的是結果,而不是格式。
什麼時候交:跟著付款節點走
最常見的寫法是「尾款付清後交付原始碼」。這聽起來合理,但風險在於:如果專案在中途出問題、走不到尾款那一步,你已經付了一大半的錢,卻什麼程式碼都沒有。
比較好的做法是讓原始碼跟著分段交付。每一段驗收、付款之後,那一段的原始碼就同步交到你名下的程式碼倉庫。川輝自己的客製開發就是這樣設計的:NT$300,000 起,依書面規格報價,分段收款,每一段交付完,應收就是零。錢和交付物是對等的,任何一方都不會積欠對方太多,萬一中途要分手,你手上也有已經付過錢的那些部分。
分段收款和規格怎麼寫,可以參考客製化系統開發要注意什麼。
廠商的既有元件:為什麼不可能全部歸你
這一點常常讓老闆很困惑:「我都付錢了,為什麼還有一部分不能歸我?」
原因是,大部分的系統開發都不是從零開始寫。廠商會用自己累積多年的框架、共用模組、工具程式,再加上專門為你寫的部分,組成你的系統。那些既有元件,廠商也用在其他客戶的系統上,如果全部移轉給你,他就不能再用了,這對任何廠商都不合理,就算答應了,報價也會高到不合理。
比較合理的安排是把系統分成兩塊:專門為你開發的客製部分,依你們約定的方式移轉或專屬授權;廠商的既有元件,則給你一個永久、不可撤銷、可以修改、可以交給第三方維護的使用授權。重點在最後這幾個字。如果既有元件的授權只限「由原廠商維護」,那你等於還是被綁住,換一家廠商就不能動那一塊。
第三方開源套件則是另一回事。它們的授權條款由原作者決定,不屬於你也不屬於廠商。合約可以要求廠商列出使用了哪些套件、各自是什麼授權,並保證沒有使用會影響你商業使用的授權。
帳號與資料:比程式碼更常被忽略的命脈
就算程式碼的條款寫得很完整,還有一塊很多公司會漏掉:系統運作需要的那些帳號。
網域登記在誰名下?主機或雲端帳號是誰開的、誰付錢、誰有最高權限?程式碼放在哪個倉庫,倉庫的擁有者是誰?系統串接的第三方服務,例如簡訊、金流、地圖、LINE,那些帳號和金鑰在誰手上?
如果這些帳號都在廠商名下,就算你拿到了原始碼,也可能架不起來、轉不出去,甚至網域到期被別人註冊走。我的建議是:所有帳號一律用公司名義開,廠商用被授權的子帳號操作;合約裡寫清楚,這些帳號從一開始就歸公司所有。
資料也一樣。系統裡的所有資料屬於你,合約要寫明你可以隨時要求以通用格式完整匯出,而且廠商終止服務時,要在約定期限內交付完整資料、並在確認交付後刪除他手上的副本。
這些條款看起來很瑣碎,但真的出事的時候,它們比任何功能都重要。我們接過一個醫美品牌,前一家廠商把系統建了好幾年,從來沒有上線過。我們做的第一件事不是開發,而是先把東西拿回來:程式碼、主機、資料,能拿的先拿到手,再評估怎麼重做。如果你已經遇到廠商不回應的狀況,系統廠商倒了或不回應怎麼辦那篇有拿回原始碼、主機和資料的步驟。
簽約前,一定要寫進合約的條款清單
把前面講的整理成一份清單。簽任何系統開發合約之前,逐條對過,沒寫到的就要求補上。

- 權利歸屬:客製部分是移轉、專屬授權還是非專屬授權,寫清楚範圍與期間。
- 原始碼交付範圍:程式碼、資料庫結構、部署文件、設定範本、套件清單,並以「第三方可獨立部署維護」為標準。
- 交付時點:跟著每一段驗收和付款同步交付,放進公司名下的程式碼倉庫。
- 既有元件授權:永久、不可撤銷、可修改、可交由第三方維護。
- 第三方套件:列出清單與授權類型,保證不影響商業使用。
- 帳號歸屬:網域、主機、雲端、程式碼倉庫、串接服務帳號都歸公司。
- 資料匯出:隨時可用通用格式完整匯出,終止時限期交付。
- 終止與交接:合約終止或廠商無法服務時,交接的範圍、期限與配合方式。
其他像驗收標準、保固、維護範圍這些條款,也一樣重要,可以搭配簽 ERP 合約前一定要問的 12 個問題一起看。
簽約前,用這三個問題測試廠商
條款清單是寫在紙上的,廠商願不願意配合,談的時候就看得出來。我建議在簽約前直接問這三個問題:
第一,「每一段付款之後,那一段的原始碼可以同步交到我們的倉庫嗎?」願意的廠商通常會直接說好,因為他對自己的交付有信心。猶豫的,要問清楚原因。
第二,「你們的既有元件,如果之後換別家維護,能繼續用嗎?」答案是不行的話,你要知道那一塊有多大,以及將來換廠商時要重寫多少。
第三,「主機和網域可以從一開始就開在我們名下嗎?」這一題幾乎沒有不能答應的技術理由,如果對方堅持要開在他名下,你就要多想一下。
這三個問題不是要為難廠商。好的廠商會欣賞把話說清楚的客戶,因為這樣的合作,雙方都比較安心。
常見問題
程式碼買斷和授權,哪一種比較好?
看系統對你的重要性和未來規劃。如果系統是你的核心競爭力、你打算長期自己維護,買斷客製部分的著作權比較安心;如果是一般的管理系統,取得原始碼和修改權的非專屬授權通常就夠用,價格也比較合理。不管哪一種,都要拿到能讓別人接手的原始碼和文件。
廠商不願意交原始碼,正常嗎?
如果你買的是訂閱制標準產品,不交原始碼是正常的,你要確保的是資料可以完整匯出。如果是專門為你開發的客製系統,完全不交原始碼就要特別小心,至少要協商在特定情況下交付,例如廠商停業或無法履約時。
系統開發合約一定要找律師看嗎?
建議要。金額越大、系統越關鍵,越值得花一點律師費。你可以先用這篇的清單把商業條件談清楚,再請律師把文字寫嚴謹,這樣律師的時間花在刀口上,你也比較知道自己在簽什麼。
已經簽了沒寫清楚的合約,現在還能補救嗎?
可以試著跟廠商簽補充協議,把原始碼交付、帳號移轉、資料匯出這幾條補上。關係還好的時候談最容易,等到出問題才談就難了。同時先把能做的做掉:確認網域和主機帳號在誰名下、定期自己匯出一份資料備份。
結語:程式碼歸誰,要在簽約那天就決定
系統開發合約裡最容易被跳過的,就是程式碼和帳號的歸屬,而它偏偏是將來能不能自主的關鍵。在簽名之前,把權利安排、原始碼交付、既有元件、帳號和資料這五件事一條一條寫清楚。
如果你正在規劃一套系統、想知道從規格到合約該怎麼一步步走,可以先看看ERP 導入怎麼做,裡面有我們從評估到上線的完整流程。
那,照你的流程做一套要多少錢?
導入 30 萬起、依你的規格報價,維護期內同功能項目的調整不再加費。價格與試算表單就在頁面第一屏,先估一個範圍,不用先決定做不做。
書面功能清單再固定報價・分階段驗收・代碼與資料是你的 · 也可以直接預約 30 分鐘免費診斷
