“當前,互聯網行業迅速發展,各行各業積極開發電腦程式,爭取發展先機。初創企業由於無力承擔高額的用人成本,無法招聘大量程式員開發並維護軟體,只能委託專業的電腦軟體外包公司開發相關程式。然而,創業者與外包公司往往對於軟體的認識存在分歧,電腦軟體開發合同成為糾紛的高發區。
本文從糾紛特點、開發流程、爭議焦點、代理要點、合同審查,五個方面全面分析了代理電腦軟體開發合同糾紛案件的關鍵問題,希望對你有所幫助。”
- 1 -
電腦軟體開發合同糾紛的特點
1.涉案金額不高
大公司一般會招聘程式員自行開發並日常維護,故委託電腦軟體外包公司開發軟體大部分是初創企業。初創企業不可能承擔高額的開發費用,故涉案金額大多在50萬元以下。
2.爭議焦點集中
電腦軟體開發合同糾紛單純因拖欠款項引起的糾紛很少,大部分案件的爭議焦點包括:①開發的軟體是否符合合同約定;②開發的軟體是否交付,有無遲延交付;③委託方合同目的是否實現。
3.反訴率較高
通常委託方前期支付了一部分費用,如果雙方對於軟體是否符合驗收標準產生較大分歧,則反訴基本不可避免。
4.案情難以查清
委託方和開發方多數均為小微企業,保留證據的意識不強,只能出示微信聊天記錄、電子郵件等證據,法官只能結合雙方的聊天記錄來判斷。一旦法官無法查明軟體是否符合驗收標準,為了平衡雙方利益,可能同時駁回本訴與反訴全部訴訟請求。
5.技術問題複雜
電腦軟體開發合同糾紛屬於知識產權糾紛,事實認定和法律適用較為複雜,故專門化、集中化審理是必然趨勢,浙江省內的電腦軟體開發合同由杭州市中級人民法院、寧波市中級人民法院集中管轄,二審直接由最高人民法院管轄。
針對電腦軟體開發的技術問題,最高人民法院頒佈的《關於技術調查官參與知識產權案件訴訟活動的若干規定》引入了技術調查官制度,技術調查官就案件的技術問題可以法庭發問、調查取證並出具技術調查意見供審判員參考。律師不一定要看懂代碼,但是對軟體的開發流程和功能需要有一定的瞭解。
- 2 -
電腦軟體開發流程
瞭解商業模式是律師辦案的第一步。電腦軟體開發可分為下列幾個階段:
1.UI設計階段
對軟體的人機交互、介面美觀、操作邏輯進行設計並形成設計稿。委託方必須先確定UI設計稿之後,開發方方可進行下一步工作。UI設計稿是軟體驗收重要的證據之一,開發方的軟體必須與UI設計稿完全一致。
2.軟體開發階段
開發方根據已經確定的UI設計稿進行軟體開發工作。一般來說委託方對於開發期限有要求,開發方必須在UI設計稿確定後約定期限內向委託方交付軟體。
3.軟體測試階段
委託方對開發方交付的軟體進行測試,檢驗軟體是否與UI設計稿或合同相符,是否存在BUG等。如果委託方發現軟體存在問題須告知開發方,開發方應當修改軟體以符合UI設計稿與合同要求。
4.軟體上線階段
在軟體通過測試驗收之後,將軟體部署到伺服器上,開發方交付軟體源代碼,軟體開發正式完成。
- 3 -
電腦軟體開發合同糾紛爭議焦點
1.開發方何時交付電腦軟體?是否構成延遲交付?
開發方交付軟體的形式各種各樣,有通過電子郵件、微信、QQ告知下載方式的,有現場將軟體安裝到委託方設備上的。大部分的開發方是小微企業,缺乏證據保留意識,而且開發方員工流動頻繁、電腦中數據過多,如果是通過電子郵件以外的方式交付軟體的,基本無法證明交付時間。
開發方應當在何時交付軟體,有些合同中約定在UI設計稿確認之後一定期限內交付,有些合同約定在某一個時間點交付。委託方堅持要求開發方必須在某個時間點交付,開發方會提出委託方未及時確認UI設計稿,或者說開發過程中要求增加、修改功能,導致開發時間被迫延長,未按時交付的責任在於委託方。
2.開發的軟體驗收標準是什麼?是否符合驗收標準?
UI設計稿是軟體驗收重要的證據之一,軟體應當與UI設計稿相符。但是委託方往往是初創企業,軟體開發週期較長,故商業模式可能發生變動,便要求開發方增加或修改功能。開發方為了服務客戶一般也不會拒絕,導致開發的軟體與UI設計稿發生變動。
此外,委託方不是電腦軟體專業人士,無法撰寫軟體測試報告,只能是邊使用邊發現問題,對發現的問題也闡述不清,通過聊天記錄也難以看出委託方具體提出哪些異議。
3.委託方合同目的是否得到實現
在電腦軟體開發合同中,委託方的合同目的是取得符合合同約定的軟體。故應著重判斷軟體的主體功能是否完成。如果軟體主體功能已經完成,個別功能缺失或者存在瑕疵的,委託方不能主張法定解除。
- 4 -
電腦軟體開發合同糾紛代理要點
1.開發方對於委託方提出的新需求該如何處理?
由於委託方大多為初創企業,商業模式未能成熟,所以軟體開發過程中必然會提出新的需求。那麼開發方對於委託方提出的新需求該如何應對?
①(2019)最高法知民終396號案件中,最高人民法院認為“雖然委託方有權利在電腦軟體開發的過程中對其需求進行適度更改,但這種更改應該在一定限度之內,否則將導致軟體開發目標不明確、開發方工作量驟增、驗收標準難以確定等問題”、“雖然雙方未就變更的需求等簽訂補充協議,但部分需求的變更或新增必然會導致工作量的增加或反復,從而導致工期的延長。因此,無猜公司未提交符合驗收標準的工作成果,主要責任在於仕達新語公司,仕達新語公司應當承擔違約責任”。最終法院支持了開發方大部分的訴訟請求。
②(2018)京73民初69號案件中,北京知識產權法院認為“增項系合同外增加的部分,即使該部分產生爭議,原合同應當繼續履行。因電腦軟體開發合同中原合同內容和增項部分難以分割,在沒有特殊約定以及原合同仍作為主要部分的情況下,增項部分不足以對抗其向遠健公司交付涉案軟體的義務”、“睿斯瑪特公司已基本完成涉案軟體的開發,根據雙方的往來郵件,遠健公司明確增項不在交付和溝通範疇,對睿斯瑪特公司未能交付工作成果具有一定的責任”、“造成涉案合同不能履行雙方均有責任,各自損失由各自承擔”。最終法院駁回了雙方的訴訟請求。
由此可見,作為開發方有義務配合委託方提出的新需求,但是新需求必須在合理的範圍之內。如果是對軟體功能、模組的明顯變動,開發方有權利予以拒絕。但是委託方提出的新需求不能作為開發方未交付軟體的理由。開發方仍鬚根據原有合同約定和UI設計圖交付軟體。
2.軟體驗收標準是什麼?
電腦軟體開發第一步是製作軟體UI設計圖交給委託方確認,但是UI設計圖並非軟體驗收的唯一標準。在(2018)粵73民初2702號案件中,廣州知識產權法院認為“軟體行業中並沒有嚴格統一的具體驗收標準。
而軟體產品原型是整個軟體產品面市之前的一個框架設計,原型設計能讓人提前看到或是體驗到產品的一個創作過程”、“涉案軟體UI設計圖應當作為軟體驗收的參考依據,但並非唯一驗收標準”、“涉案軟體是否符合合同約定應當以涉案軟體功能報價單為依據,同時結合涉案軟體的UI設計圖以及開發過程中雙方溝通協商變更情況綜合判斷”。
法官這樣的考量是基於委託人不是電腦軟體行業的專業人士,對於UI圖所呈現的交互功能不一定能夠完全理解,所以驗收標準首先應當以合同、備忘錄等書面檔為基礎,再結合UI設計圖綜合判斷。
3.軟體是否存在瑕疵的證明責任由誰承擔?
開發方交付軟體之後,委託方應當及時對軟體進行測試並提出異議。但是委託方往往僅通過微信聊天記錄提出異議,或者說相關證據已經滅失的情況下,證明責任該如何分配?根據證明責任分配理論,軟體存在瑕疵的證明責任應由委託方承擔。但是司法實踐中存在較大分歧,如:
①(2015)粵知法著民初字第53號案件中,廣州知識產權法院認為“從原告收到源代碼並運行之後反映“短信發不了,整套碼太多問題”看,被告提交的源代碼檔並沒有通過原告的驗收”、“原告未能證明源代碼檔沒有按約定連接吉信通或者是運行源代碼檔後顯示的內容與原約定的附錄頁面存在何種不相符,故原告無權解除合同”、“被告雖然向原告交付了源代碼檔,但該源代碼檔沒有通過原告驗收,而且按雙方修改後的約定,即使源代碼檔經原告驗收,雙方的合同權利義務也終止,被告沒有權利要求原告支付約定的餘款”。法官未能查明涉案軟體是否存在瑕疵,認為原告與被告的訴訟請求均缺乏法律依據。
②(2015)粵知法著民初字第55號案件中,廣州知識產權法院認為“艾空提供的聊天記錄只能證實雙方對專案內容進行了討論及修改,無法充分證實艾空公司的修改不符合合同約定以致無法實現合同的目的,眾派公司也沒有提出具體的證據證實艾空公司交付的工作成果不符合合同目的。故根據現有證據,可以認定艾空公司交付的工作成果符合合同約定”。本案中法官認為由委託方承擔軟體是否存在瑕疵的證明責任。
③(2017)京73民初51號案件中,北京知識產權法院認為“西馬公司怠於對涉案軟體系統進行驗收”、“西馬公司亦未能提供證據證明涉案軟體的何種功能不符合合同約定,並證明該項功能應當包含在合同開發範圍之中”。本案中法官認為由委託方承擔軟體是否存在瑕疵的證明責任。
也有法院根據“優勢證據規則”進行判決。優勢證據規則又被稱為“高度蓋然性佔優勢的證明規則”。即當證據顯示待證事實存在的可能性明顯大於不存在的可能性,法官可據此進行合理判斷以排除疑問,在已達到能確信其存在的程度時,即使還不能完全排除存在相反的可能性,但也可以根據已有證據認定這一待證事實存在的結論。
(2019)京民終245號案件中,北京市高級人民法院認為,委託方曾在運行過程中提出軟體不正常退出的情況,儘管委託方的證據並不能完全證明待證事實,但是開發方也無法證明已經滿足“穩定運行一個月”的尾款支付條件。由於委託方的證據證明力更強,故法官根據優勢證據規則採納了委託方的意見。
結合上述案例來看,如果委託方對於軟體瑕疵僅僅是通過微信聊天記錄的方式向開發方提出,不一定能得到法院的支持,委託方需要通過軟體測試報告或錄影綜合說明。開發方在收到委託方提出的瑕疵之後應當及時回復,如果查證屬實的須儘快修復,如果不存在瑕疵須向委託方解釋說明,便於雙方進一步查清。如果開發方對於委託方提出的瑕疵不置可否,可能會承擔不利的法律後果。
4.軟體無法當庭測試如何處理?
在電腦軟體開發過程中,開發方通常會將開發成果階段性的部署在雲伺服器上,供委託方即時進行測試,最終交付成果也是通過在雲伺服器上部署代碼。
實踐中,部署軟體的雲伺服器既可能是以委託方名義申請並付費租用的,也可能是以開發方名義申請付費租用的,待開發成果部署完成後,再將租用的雲伺服器轉移給委託方。
在訴訟時如果伺服器能夠正常登陸,則軟體可當庭測試功能以判斷是否與UI設計稿或合同相符;但是當事人在提起電腦軟體開發合同糾紛訴訟時,合同履行往往已經處在停滯狀態。由於伺服器的租用有一定的成本,如果雙方未及時續費則伺服器無法登陸。即使再次租用,之前上傳伺服器的數據也會丟失,開發方必須支出大量的人力物力才能恢復數據。
此時軟體無法測試該怎麼辦?(2015)京知民初字1727號案件中,北京知識產權法院認為委託人已經完全清除了伺服器數據,直接現場查證雙方當事人實際履行情況已無可能。不過雙方合同履行情況均通過QQ來確認,故法院根據QQ聊天記錄的內容查證合同的實際履行情況。所以雙方聊天記錄、來往郵件等均可作為法官認定事實的依據。
5.軟體主體功能是否完成如何判斷?
委託方以合同目的不能實現主張開發方構成根本違約,並提出合同法定解除是最為常見的訴請,這裏涉及軟體主體功能是否完成的判斷。如果合同中約定了軟體的驗收標準,法官自然以雙方的約定作為判斷依據。如(2015)京知民初字第01469號案件中,北京知識產權法院認為合同中約定了涉案軟體驗收標準為驗收時不存在等級3(高錯誤)、4(較高錯誤)、5(緊急錯誤)的錯誤,現涉案軟體存在上述3、4級錯誤,不符合合同約定的驗收條件,故涉案軟體品質不符合驗收標準。
不過大部分電腦軟體開發合同不會將驗收標準寫得非常明確,而開發方交付的軟體又存在一定的瑕疵時,此時法院將會如何判決?司法實踐中存在較大分歧,如:
①(2016)京73民初165號案件中,北京知識產權法院認為“雖然龍翔公司向漠濃湖交付的涉案寵物酒店APP第一版和第二版均存在APP無法打開、不能登錄個人中心、平臺不具備支付功能等問題,但對於電腦軟體開發合同而言,所開發的軟體存在上述瑕疵時可以通過龍翔公司的修改工作實現其相應功能,進而實現涉案軟體開發合同的目的的,漠濃湖主張龍翔公司的涉案行為構成根本違約並就此請求法院判決解除涉案軟體開發合同,缺乏事實與法律依據,本院不予支持”。本案中法官認為開發方可以通過修復軟體來實現合同的主要目的,不支持委託方根本違約解除合同之訴請。
②(2015)京知民初字第1727號案件中,北京知識產權法院認為“本項目的主要功能板塊為股票配資功能、股指配資功能以及P2P金融專案招投標功能等,廣州銳聯公司提出的前述問題在整個合同標的中屬於較為次要、細節的功能”、“從雙方測試階段的QQ聊天記錄可以看出廣州銳聯公司員工以及認可該專案基本符合涉案合同的要求”。本案中法官認為涉案軟體存在部分小瑕疵是可以容忍的。
③ (2019)浙02知民初353號案件中,寧波市中級人民法院認為“涉案軟體產品的系統框架和基本功能雖已具備,但與雙方確認的需求相比,仍存在部分不符點,並存在個別數據錯誤,相關不符點和系統數據錯誤已影響軟體產品的正常運行和客戶體驗”、“因此被告違約行為導致追地道公司合同目的不能實現,本院對於追地道公司要求解除合同之訴請予以支持”。本案中法官認為系統數據錯誤影響了軟體的正常運行和客戶體驗並認定開發方構成根本違約。
結合上述案例來看,受限於電腦軟體開發費用,如果要求開發方的軟體沒有任何BUG錯誤是不公平的。如果是不影響軟體主要功能運行的瑕疵,法官偏向於不構成為根本違約。如果是影響軟體主要功能運行的瑕疵,即使是細微的錯誤也可能構成根本違約。
6.合同解除後開發費用如何支付?
電腦軟體開發是一個漫長的過程,合同被解除的可能性較高。那麼合同被解除之後開發費用該如何支付?根據《民法典》第五百六十六條之規定,合同解除之後當事人可要求恢復原狀、採取其他補救措施、並有權要求賠償損失。恢復原狀是指使當事人恢復到合同訂立時的狀態。但是開發方已經付出了相應的成本,無法適用恢復原狀,只能根據歸責的認定相互進行損失賠償。由於每個案件軟體開發的進度不同,法官自由裁量權較大,如:
①(2015)京知民初字1727號案件中,軟體已經通過了委託方驗收,但是委託方對於軟體不滿意另行委託第三方重新開發軟體。委託方無權要求開發方返還無爭議,但是北京知識產權法院認為“涉案軟體仍需北京融美公司後續跟進服務,並對細節問題繼續完善與改進”、“北京融美公司無證據證明其為履行已完成涉案合同專案的開發成果的成本支出超出了廣州銳聯公司的預付款,故此本院認為北京融美公司的成本支出已能得到彌補”。本案中開發方在軟體已經通過驗收的情況下最終僅拿到了50%的開發費用。
②(2015)京知民初字第01469號案件中,軟體存在第3、4級錯誤,而且軟體核心功能“摔倒時報警功能”沒有實現,故北京知識產權法院判決開發方退還全部開發費用並賠償違約金。
③(2016)京民終307號案件中,開發方遲延交付2個月才上線軟體,而且部分功能仍未完成,軟體源代碼也未交付,故北京知識產權法院和北京高級人民法院均判決開發方退還全部開發費用並賠償違約金。
④(2016)京73民初165號案件中,開發方已經完成APP第一版和第二版的開發工作,但是兩個版本均存在一定的問題,而且開發費用包括後續的開發後系統維護、技術諮詢和服務等,北京知識產權法院綜合考慮了涉案APP應用合同的履行程度,電腦軟體開發成本等因素,最終開發方收取了近60%的費用。
⑤(2019)浙02知民初353號案件中,涉案軟體產品的系統框架和基本功能雖已具備,但與雙方確認的需求相比,仍存在部分不符點,並存在個別數據錯誤,相關不符點和系統數據錯誤已影響軟體產品的正常運行和客戶體驗。寧波市中級人民法院綜合考慮了專案總金額、合同履行程度、軟體產品完成程度、開發方為研發投入的人力物力及其遲延交付產生的違約責任等因素,最終開發方收取了約30%的費用。
結合上述案例來看,如果開發方未交付軟體或者交付軟體存在嚴重瑕疵的,則可能會退還全部費用。如果開發方交付的軟體存在明顯瑕疵,法官將綜合各方面因素支持開發方收取一部分費用。為了平衡雙方的利益,法官傾向於雙方敗訴或者開發方退還一部分費用。開發方要求委託方支付尾款難以實現。
- 5 -
電腦軟體開發合同審查
在掌握了法官可能的判決思路之後,律師該如何對電腦軟體開發合同進行審查並提出修改意見?企業自行擬定的電腦軟體開發合同通常存在下列問題:
1.軟體需求
在簽訂電腦軟體開發合同之後,由於委託方的需求經常性反復不定,導致雙方對於軟體需求各執一詞。合同中可將委託方希望的功能進行羅列,並注明最終以UI設計圖為准。如果委託方要求修改軟體功能的,則必須另行簽訂補充協議或者電子郵件確認。
2.交付時間
交付可分為UI設計稿交付和軟體交付,由於委託方的需求可能發生變化導致工作時間延長,故分別明確交付的期限和延長交付時間的情形,不應當固定交付日期。此外合同中可約定委託方對UI設計稿的修改次數,確定完之後拒絕任何修改,避免開發期限無限拖延。
3.交付方式
實踐中軟體交付通常是使用QQ或微信將軟體的下載方式和登錄帳號密碼發給委託方,一旦開發方員工離職或不小心刪除,開發方即陷入被動。建議UI設計稿和軟體的交付一律通過電子郵箱進行,在合同中明確雙方的送達郵箱,並約定以電子郵件作為雙方確認的唯一途徑,其他員工的QQ、微信等僅方便溝通之用,不作為雙方的最終意見。
4.驗收標準
受限於開發費用,開發方不可能將軟體做得非常完美,但是委託方並不瞭解軟體可能會存在部分BUG,而以互聯網巨頭開發的軟體作為判斷標準,雙方必然會發生爭執。合同中應當明確以雙方書面確認的功能和UI設計稿為准,並將軟體的BUG進行分級,並允許軟體出現一定次數較低等級的錯誤,便於雙方對於軟體是否實現合同目的或是否構成根本違約進行判斷。
5.驗收期限
由於委託方不是電腦專業人士,委託方對軟體的測試會無限進行下去,故合同中可要求委託方必須在收到開發方交付成果之日起一定時間內提出異議,否則視為開發方軟體驗收合格,避免測試驗收期限被無限拖延。
6.異議形式
委託方必須一次性以表格形式完整的提出異議,說明軟體瑕疵之處及異議理由,避免委託方反復擠牙膏式的提出異議,導致開發方無法一次性集中修改導致拖延。
7.異議次數
為了督促委託方對軟體進行全面測試,應當限制委託方異議提出次數。如果委託方兩次均未提出的瑕疵,視為委託方已經同意。
8.軟體部署
合同中可約定如果委託方已經將軟體部署到自己的伺服器上,即視為軟體驗收合格,以減輕開發方的舉證責任。
免責聲明:本平臺不保證所提供資訊的精確性和完整性,內容僅供學習交流和參考,對任何人使用本資訊所引發的任何直接或間接損失均不承擔任何法律責任,我們旨在傳播美好。
本平臺文章版權歸原作者及原出處所有,若平臺發佈的內容涉及侵權或來源標記有誤,煩請告知,我們將根據要求更正或刪除有關內容。