軟體開發 2026-10-02 作者:爵識科技團隊

系統維護合約怎麼簽?原始碼歸屬與交付清單

我們每年都會接到幾通這樣的電話:系統用了三年,原廠商聯絡不上,或是維護費談不攏想換人,這時才發現手上沒有原始碼、主機是廠商的帳號、連網域都登記在對方名下。來電的老闆通常很錯愕:「錢是我付的,東西不是我的嗎?」很遺憾,不一定。這篇把簽約時該談清楚的事情整理出來,包含原始碼到底算誰的、維護合約該寫什麼、以及驗收時要拿到哪些東西。先聲明,以下是我們作為開發商的實務經驗,不是法律意見,金額大的合約請讓律師看過。

重點摘要

  • 依著作權法第 12 條,出資委託他人開發的系統若合約沒有約定,著作財產權歸開發商,出資的業主只有利用權。
  • 擁有著作財產權與實際拿到原始碼是兩件事,合約要分別寫清楚權利歸屬與交付內容。
  • 維護合約至少要寫明服務範圍、回應與修復時間、計費方式,以及哪些工作不包含在內。
  • 原始碼、資料庫、部署文件與各種帳號的所有權,應該在付清尾款之前逐項點交,不要等到要換廠商才處理。

合約沒寫的話,原始碼是誰的?

是開發商的。這是最多業主誤會的一點。著作權法 第 12 條規定,出資聘請他人完成的著作,原則上以受聘人為著作人;著作財產權歸誰依契約約定,沒有約定的話,著作財產權歸受聘人享有,出資人則可以利用該著作。電腦程式屬於著作的一種,所以委外開發的系統適用這一條。

「可以利用」的意思是你能照原本的目的使用這套系統,但能不能自己修改、能不能交給另一家廠商改、能不能拿去授權給別人,條文沒有替你講清楚,一旦有爭議就得看當初委託的目的與雙方往來紀錄。與其事後各自解讀,不如簽約時用一兩個條款直接寫明。順帶一提,公司自己的員工在職務上寫的程式適用的是第 11 條,沒有約定時著作財產權歸公司,跟委外的情況剛好相反。

「擁有著作權」和「拿到原始碼」有什麼不同?

一個是法律上的權利,一個是手上有沒有檔案,兩者可以分開存在。我們看過合約寫了「著作財產權歸甲方」,但沒寫交付原始碼,結果業主只有一套跑在廠商主機上的系統,權利是他的,檔案拿不到。也看過相反的情況:廠商把原始碼壓縮檔寄給業主,但合約沒有授權修改,下一家廠商不敢接。

實務上常見的約定方式大致有三種,各有適合的情境。

約定方式 業主得到什麼 費用傾向 適合情境
著作財產權讓與並交付原始碼專案專屬程式的完整權利,可自由修改、轉委託最高系統是核心競爭力,或未來要自建團隊
授權使用並交付原始碼可自用、可修改、可交給其他廠商維護,但不能轉售中多數中小企業的客製系統
僅授權使用,不交付原始碼只能使用,修改與維護都得找原廠商最低廠商既有產品的客製版、租用型服務

第二種是我們最常建議的折衷。業主真正需要的通常不是「擁有」這套程式,而是「不被綁住」:廠商出狀況時,能拿著原始碼找別人接手。把這個需求講清楚,比堅持所有權利全部讓與更容易談成,價格也合理。

為什麼有些廠商不願意把著作權全部讓與?

因為系統裡通常有一部分不是為你寫的。有經驗的開發商會累積自己的共用元件,例如登入模組、後台框架、金流串接程式,這些在每個客戶的專案裡重複使用。如果把整套程式的著作財產權讓與給某一位客戶,等於這些元件以後不能再用在別的案子上,廠商自然不願意,或者得報一個很高的價格。

合理的處理方式是把程式分成兩塊寫進合約:專為本案開發的部分,權利歸業主或授權業主完整使用;廠商既有的共用元件與第三方開源套件,維持原本的權利歸屬,但授權業主在本系統內永久使用與修改。遇到完全不肯交付原始碼、也說不出原因的廠商,才是需要警覺的情況。另外,系統裡用到的開源套件各有授權條款,請廠商在交付時附上一份清單。

維護合約應該寫清楚哪些項目?

四件事:做什麼、多快做、怎麼算錢、不做什麼。「系統維護」四個字在業主心裡常常等於「有問題找你都要處理」,在廠商心裡則是「確保既有功能正常運作」。這個認知差距是維護期糾紛的主要來源。

服務範圍建議分成三類列出:錯誤修正(原本該正常的功能壞了)、例行維運(主機監控、備份、安全性更新、憑證與網域續約提醒)、以及小幅調整(改文字、調欄位)。新功能開發不屬於維護,應該另外報價。回應時間則要依嚴重程度分級,系統完全不能用與報表上一個錯字,不該是同一個處理時限;同時寫明服務時段是上班時間還是全天候。

計費常見的做法有月費制、時數包與按次計價。月費制適合每天都在營運、不能停的系統;時數包適合偶爾需要調整的系統,買一包時數用完再補;按次計價最省,但出事時要排隊。不論哪一種,合約都應該寫出備份的頻率與保存天數,以及廠商是否做過還原演練。有備份卻還原不回來的例子,我們實際處理過不只一次。資安與備份的基本觀念可以參考 網站被駭怎麼辦。

常見錯誤:尾款付清之後才想到要原始碼

驗收通過、款項結清,這時候才開口要原始碼,是最被動的時間點。合約如果沒寫,廠商可以合理地表示那不在報價範圍內,要另外收費;就算願意給,也可能只是一包沒有說明文件、不知道怎麼部署的檔案。業主手上已經沒有任何籌碼。

正確的時間點是簽約之前。把交付項目列成合約附件,並把最後一期款項與「交付項目點交完成」綁在一起。更好的做法是從專案第一天就讓程式碼放在業主名下的程式碼代管帳號裡,廠商以協作者身分加入。這樣不需要等到最後才「交付」,東西一直都在你這裡,每一次修改也都有紀錄。

驗收時該拿到哪些東西?

原始碼只是其中一項,能讓另一組人把系統重新架起來,才算交付完整。帳號的所有權尤其重要,它比程式碼更常成為被卡住的原因。

交付清單

  • 完整原始碼,包含版本紀錄,而不是只有最後一版的壓縮檔
  • 資料庫結構說明與一份可還原的完整備份
  • 部署文件:需要什麼環境、怎麼安裝、設定檔有哪些項目
  • 第三方服務清單:金流、簡訊、地圖、AI 等,各用了哪個帳號與方案
  • 使用的開源套件與其授權條款清單
  • 網域名稱的註冊帳號,註冊人應為業主公司
  • 主機或雲端服務帳號的最高權限,帳單由業主直接支付
  • App Store 與 Google Play 開發者帳號,以公司名義申請
  • 系統最高管理員帳號,以及所有金鑰與憑證的保管方式
  • 操作手冊與後台管理說明

清單裡的帳號類項目,原則是「公司申請、公司付費、授權廠商使用」。為了方便而讓廠商用自己的帳號代為申請,短期省事,日後要轉移時每一項都可能卡關。網域與主機的基本觀念可以回頭看 網域與主機是什麼。

要換廠商或終止合約時,怎麼交接?

在合約裡預先寫好「退場條款」,交接才不會變成談判。內容包括:終止合約的通知期、原廠商在通知期內要配合的交接工作(文件更新、帳號移轉、對新廠商的說明會議)、這些工作是否計費與如何計費,以及交接完成後原廠商要刪除手上的客戶資料。

關係好的時候談這些有點尷尬,但這正是該談的時候。我們自己與客戶簽約時也會主動放進這一段,理由很單純:一家對自己的服務有信心的廠商,不需要靠扣住原始碼來留住客戶。如果你還在專案的前期,這些條款連同需求規格一起整理會更完整,可以搭配 軟體外包需求規格怎麼寫 一起看。

常見問題

系統維護費一般怎麼計算?

常見的有月費制、預購時數與按次計價三種。月費通常依系統規模、服務時段與回應時限來訂,要求全天候與短時限的合約自然較高。比較報價時不要只看金額,要對照服務範圍是否包含主機維運、備份與安全性更新。

開發商倒閉或失聯了,系統怎麼辦?

先確認手上有什麼:原始碼、資料庫備份、主機與網域的帳號。這些都在的話,可以找其他廠商評估接手。如果主機在原廠商名下,優先把資料備份出來,並確認網域的註冊人是誰,因為這兩項一旦到期失效就很難挽回。

合約已經簽了但沒寫到原始碼歸屬,還能補救嗎?

可以,用書面的增補協議處理。趁雙方還在合作、關係良好時提出,通常比較容易談成,可能需要支付一筆合理的授權或交付費用。協議內容至少包含交付原始碼的範圍、業主可以修改與轉委託維護的授權,以及交付的時間。

標籤:維護合約、原始碼歸屬、著作財產權、交付清單、軟體外包