文/劉華健 編輯/一帆
基于“大眾創(chuàng)新,萬眾創(chuàng)業(yè)”國家政策層面的鼓勵及網絡時代的興起,很多人把創(chuàng)業(yè)的方向選在互聯(lián)網領域,而手機APP和計算機軟件則成為了許多創(chuàng)業(yè)公司開展商業(yè)運營的核心。通常將商業(yè)思維轉換成可運營的計算機軟件則需要一定的時間跨度及相應的技術實力,時間預估不準、開發(fā)能力不足或者雙方在開發(fā)過程中對合同條款的分歧,都極容易產生糾紛,從而影響整體創(chuàng)業(yè)進程。
2015年7月22日,王某(創(chuàng)業(yè)者)與上海A網絡科技公司(以下簡稱“A公司”)簽訂了《開發(fā)合同》,約定王某委托A公司開發(fā)APP軟件,具體功能見附件《功能需要》。雙方特別約定, A公司保證其開發(fā)的APP軟件與“XX”APP(另一款同類型的軟件)在相同情況下自動喚醒用戶手機,并盡最大可能的優(yōu)化技術方案,該功能作為軟件的基礎功能,如無法實現(xiàn)該功能,則退還全部開發(fā)費用。合同價款人民幣x萬元,工期為項目正式啟動后45個工作日。
2016年4月13日,因雙方發(fā)生糾紛,王某向法院提起訴訟,要求解除開發(fā)合同,退還已經支付的開發(fā)費用,并賠償違約金損失。
A公司辯稱,不同意王某的訴求,公司未能在合同規(guī)定的期限內完成全部開發(fā)任務的原因在于王某,是王某一直增加功能和變更需求才導致工期的延遲;另涉案APP已經完成了大部分開發(fā)工作,基礎的喚醒功能已經實現(xiàn),不同意解除合同,反而是王某沒有按照合同約定支付開發(fā)費用。
一審法院認為,王某與A公司簽訂的《開發(fā)合同》合法有效,對雙方都具有約束力。王某于2015年7月22日簽約當日向A公司支付了首期款,但A公司卻沒有在合同約定的收到款項后45個工作日內完成開發(fā)工作,而且現(xiàn)有的證據也無法證明A公司開發(fā)交付的APP軟件實現(xiàn)了合同約定的基礎功能。王某據此要求解除合同合法有據,應支持;合同解除后,A公司已經收取的開發(fā)費用應退還;至于王某的違約金主張,因無合同的具體約定及損失證據,法院不予支持。一審判決后,A公司提出了上訴。
二審法院圍繞案件爭議焦點,經過評議后認為:A公司雖然抗辯履行期限的延長系由軟件調試工作特性以及開發(fā)過程中王某增加需求所造成,但綜合雙方提交之在案證據,不足以證明該主張,且亦無在案證據表明A公司于涉案合同履行期間對此類軟件調試周期較長或王某不斷增加涉案軟件功能將導致該合同不能按期履行表達過任何異議或相應意見;另,關于涉案開發(fā)的APP是否實現(xiàn)了合同約定的基礎功能問題,一審庭審演示已經證明A公司提交的APP無法實現(xiàn)與“XX”APP在相同情況(無網環(huán)境)下的自動喚醒功能。綜上所述,駁回上訴,維持原判。
筆者作為本案原告王某的代理律師,全程參與了案件的辦理,現(xiàn)就相關法律問題和經驗感觸評析記錄如下。
本案屬于解約訴訟,提出解除合同訴求的一方需要對其擁有合同解除權提供證據支撐和明確具體的訴訟指向。我國《合同法》中規(guī)定的解除權有兩種類型,約定解除權和法定解除權。通常情況下如果存在合同約定解除權的情況,相較于法定解除權,原告方的舉證責任明顯會輕松很多。所以,在本案中原告王某的訴訟依據就是基于合同特別條款約定的解除權,具體指向為無法實現(xiàn)喚醒功能,由于被告上海A公司無法舉證證明其開發(fā)的軟件實現(xiàn)了合同約定的基礎功能,則作為委托方的王某便有權解除合同,而不用再關注其他的功能實現(xiàn)情況。與此同時,關于因違約行為導致合同解除后的損失賠償問題,因涉案合同中沒有明確具體的約定條款,相關損失的舉證責任便應由原告王某承擔。但王某確實無法提供具體的損失證據,所以,法院駁回了其違約金的訴訟主張。試想如果合同中有相關的損失計算條款,這對原告方會更加有利。
因為涉及復雜的技術及事實問題,本案一審法院總排期開庭四次。在前三次的庭審中,被告上海A公司一直沒有委托專門的律師參與庭審,且三次的答辯陳述相互矛盾,沒有證據支撐,很難讓法官信服。A公司只是在第四次庭審(技術演示)時才提交了部分書面證據,而且已經明顯超過了舉證期限。后來當被告公司感覺到情況不妙,再委托律師聯(lián)系法官要求再次開庭時,主辦法官已經失去了耐心,沒有準許。相較被告方,原告王某則慎重細致很多,對于合同履行過程中出現(xiàn)的問題都及時提出了異議和意見,并保存了相關記錄(電子郵件和微信),這些證據經過律師整理后,便很容易讓法官得出清晰的判斷。
當案件因某個法律問題陷入僵局的時候,律師要替法官去找出路,而不是被動地把所有問題都交給法官去處理。一審法官安排第四次庭審的主要目的是對被告上海A公司開發(fā)的APP軟件進行現(xiàn)場演示(能否實現(xiàn)自動喚醒功能)。關于演示的APP版本,原告王某及法院的要求須是A公司訴訟前郵件發(fā)送提交的版本,而不能是其在訴訟過程中重新技術生成的版本。但A公司(法定代表人)卻聲稱之前的版本是與HY服務器綁定的,因HY公司的不配合,所以現(xiàn)場只能演示新生成的版本并保證不會進行任何的技術篡改。另外,被告A公司又要求法院提供網絡環(huán)境。這一似乎正常合理的要求,因法院當天的特殊情況(無法通網),致使案件庭審演示陷入僵局,此時無論是原告方還是法官都不想再次排期演示。
為了打破僵局,快速了結本案,筆者當時征詢當事人“XX”APP是否可以實現(xiàn)在無網的情況下的自動喚醒,王某用自己的手機測試了一下,回答說可以。
于是,我方當庭提出在附條件情況下同意被告A公司先以新生成的版本進行演示,但應當與“XX”APP一樣在無網的環(huán)境下進行。經過演示,被告新生成的APP版本,均不能同步實現(xiàn)“XX”APP在無網的環(huán)境下的設置功能和自行喚醒功能。如此,我們便無需再對涉案APP新舊版本的問題和有無網絡環(huán)境的問題爭議和糾結了,這樣也為法官找到了解決思路。
同樣是APP軟件開發(fā)合同糾紛,在另外的一起案件中筆者代理被告方,法院一、二審處理的最終結果是駁回了原告方的全部訴求。當時筆者的庭審抗辯觀點和思路與本案被告基本一致,那個案件中有一個關鍵問題是,雙方在合同中約定乙方須在軟件開發(fā)完成后先郵件提交驗收申請表,然后按甲方的指示要求提交開發(fā)成果。庭審查明的事實是,被告在合同期的最后兩天直接以電子郵件的方式發(fā)送提交了其開發(fā)APP安裝包。在訴訟中,原告卻以被告未交付作為行使合同解除權的具體指向。尤其是在法官明確釋明詢問原告是否要求對郵件交付的APP安裝包進行評估鑒定時,原告(可能是基于時間和費用成本的考慮)仍固執(zhí)已見不要求鑒定,結果導致一、二審均敗訴。從那個案件的辦理中我也得出了以下兩點經驗提示:(1)關于合同的履行,不能過于機械地理解合同條款的約定形式,更應考慮實際的履行情況,從而做出準確而清晰的風險判斷;(2)程序性的權利(如要求法院進行評估鑒定、特定問題的抗辯、舉證的權利),如果在一審中不加注意或者放棄,二審法官基于訴訟層級的限制是不會進行審理的,相應的不利后果也無法改變。所以,不要在事情已經無法挽回的時候才去找律師。
計算機軟件(含手機APP)設計開發(fā)合同,因相關的功能和設計內容具有一定的主觀性,且雙方也無法在合同簽訂前就對相關的技術、事實和法律問題約定清楚明確。但是,作為委托方起碼應當將核心功能需求清晰列明,作為開發(fā)方在合同履行過程中如委托方的相關要求超出合同約定工作范圍當及時提出異議。同時雙方都應當謹慎誠信履約,并保存好相關證據。如果一旦發(fā)生糾紛,應及時委托專業(yè)律師處理,因為訴訟方向的選擇、庭審證據的組織與開庭技巧都會對案件的最終處理產生重大影響。