MONOLITH 律師事務所+81-3-6262-3248平日 10:00-18:00 JST [English Only]

MONOLITH LAW MAGAZINE

IT

前IT工程師律師解釋合約審查與除錯的相似性

IT

前IT工程師律師解釋合約審查與除錯的相似性

所謂的「公司的顧問律師」的主要工作,就是檢查和修改公司每天與客戶或業務合作夥伴等簽訂的契約。而這種檢查和修改,必須由「熟悉法律和該業務領域的人」來進行,否則無法充分完成。本所將解釋為什麼。

然而,以下的解釋可能對非工程師或沒有編程經驗的人來說比較難理解。Monolith法律事務所是由前IT工程師和有企業管理經驗的律師擔任代表的法律事務所。這篇文章的定位是「由前IT工程師和企業經營者擔任代表的法律事務所,針對有編程經驗的經營者,解釋契約檢查和修改」。

在這個定位的基礎上,契約的檢查和修改可以說是類似於所謂的「除錯」的工作。

  1. 首先,什麼是「錯誤」
  2. 「除錯」是什麼樣的工作
  3. 契約如何規定算法
  4. 契約的修改是什麼樣的工作

按照這個順序,對於工程師來說,這些可能是「理所當然」的事情,但本所還是會進行解釋。

「蟲」與「除蟲」是什麼?

「蟲」並非「電腦故障」

當本所提到「蟲」,可能有些人會想到在電腦上工作時,機器突然冒出煙來,螢幕顯示出奇怪的畫面等情況。然而,基本上,電腦只會「按照指令」運作。這也適用於「蟲」產生的情況。也就是說,「蟲」是指:

  • 儘管電腦按照指令運作,
  • 但對使用者來說,這種運作是「意料之外的行為」

的現象。

為什麼會產生「意料之外的行為」?

例如,讓本所考慮一下馬里奧類型的動作遊戲中的「穿牆」蟲。

馬里奧的跳躍是一個二次函數。加速度、速度、座標。然而,儘管它是一個所謂的二次函數,例如「當X=1.76582時,Y是多少?」這樣的問題,本所可以將X無限細分,但在電視遊戲中,本所無法將時間無限細分。因為螢幕每秒只能切換(例如)30次。因此,可以說,馬里奧每秒「瞬移」30次。

在這種情況下,例如,「當馬里奧跳躍時,上空有牆,所以他被彈回」,這種情況是指:

  1. 前一刻,馬里奧在空中,
  2. 下一刻,馬里奧的座標在牆壁內。

的情況。

在這種情況下,本所可以判斷「馬里奧在跳躍中撞到了上空的牆壁」。因此,如果本所用自然語言寫出:

如果馬里奧的座標在牆壁內,則進行反彈處理(※1)

這樣的程式,就可以實現「當馬里奧跳躍時,上空有牆,所以他被彈回」的處理。

※1看起來是正確的,只要本所這樣寫。實際上,「在某些條件下」,這種處理是正確的。

然而,如果本所仔細考慮,也可能出現以下的情況(※2)。

在這種情況下,「馬里奧的座標在牆壁內」的瞬間並不存在,因此不會進行反彈處理,馬里奧會穿過牆壁。

這就是「蟲」的例子。即使因為這種原因產生了「穿牆蟲」,也並不表示電腦出現了故障。電腦只是按照指令運作,將這種行為評價為「意料之外」或「蟲」的是人類。而這種「蟲」是因為演算法不適當而產生的。

考慮「是否會產生意料之外的行為」

然而,實際在遊玩遊戲的過程中,上述的「穿牆」是否會發生,僅憑上述的抽象思考是無法確定的。「穿牆」是否可能發生,取決於:

  • 馬里奧的跳躍力(初速)有多大,是否有增加跳躍力的道具
  • 牆壁在最薄的情況下有多厚

這些條件。根據這些條件,是否可能出現※2的情況。如果不可能出現※2的情況,那麼※1的程式就沒有問題。

「除蟲」是什麼樣的工作?

因此,為了進行「除蟲」,也就是找出蟲並修正它,需要:

  1. 閱讀並理解程式的演算法(上述的※1是自然語言,但實際上程式是用專用語言寫的,所以閱讀本身就很困難)
  2. 考慮該程式在什麼條件下運作(調查跳躍力和牆壁的厚度)
  3. 考慮在這種情況下是否會產生意料之外的行為

這樣的過程。

何謂檢查契約書的工作

檢查契約書的工作具有與「除錯」相似的性質

檢查契約書的工作與此相似。首先,契約書是為了規範其當事人,即甲方乙方,對於可能發生的未來事件的預期,以及在此情況下甲方乙方將產生何種權利和義務,因此雙方將如何行動等問題。在這個意義上,可以說它是「規範現實世界的程序」。例如,

如果發生●●情況,甲方應向乙方賠償100萬日元。

這種規範的契約書,對於未來可能發生的事件,定義了條件和效果。

然後,對於這種「規範現實世界的程序」進行檢驗,看是否有問題,如果有問題則進行修正,這種工作無疑與「除錯」非常相似。

合約書並未記載算法的全貌

然而,「合約」這個概念對於非法律專業人士來說可能難以理解,但它有一個極其重要的要點。合約書只規定了規範當事人之間的算法的「一部分」。換句話說,僅僅閱讀合約書,本所無法知道自己和對方將在何種算法的規範下,也無法了解其全貌。

例如,在商店購買二手CD的情況下,店家和客戶並不會簽訂像「買賣合約書」這樣的文件,但如果購買的CD表面有無法在播放器上播放的刮痕,您可能會想要向店家抱怨,並期望店家能對此作出回應。這不僅僅是「因為是服務業」的問題,從理論上來說,

  1. 即使沒有合約書,買賣合約也已經締結
  2. 民法(日本民法)規定,對於二手CD等(被稱為「特定物」)的買賣合約,賣方需要承擔瑕疵擔保責任
  3. 因此,店家和客戶之間運行的是民法所定義的算法,店家需要承擔瑕疵擔保責任

這就是其中的道理。而「合約書」就是用來覆蓋民法等法律所定義的算法的。例如,如果店家和客戶之間簽訂了「本店不接受任何關於CD缺陷的事後投訴」的合約書,那麼,

  1. 買賣合約已經締結
  2. 民法規定,對於該合約,賣方需要承擔瑕疵擔保責任
  3. 但是,根據合約書的規定,第二點的原則被覆蓋,店家不需要承擔瑕疵擔保責任

這就是其含義。

契約書是「覆寫」民法等原則的文件

僅閱讀契約書並不能完全理解「演算法」的全貌

這同樣適用於企業間簽訂的契約,如系統開發等。例如,如果甲方乙方雙方簽訂了承包型系統開發的契約書,

  1. 通過簽訂該契約書明確地締結了承包契約
  2. 在承包契約的情況下,根據民法的規定,受託方將產生瑕疵擔保責任
  3. 如果契約書中有瑕疵擔保責任的規定,則該規定將覆寫第2點的民法原則。例如,如果設定了比民法原則更長期間的瑕疵擔保責任條款,則該期間的規定將有效

這就是其結構。也就是說,即使契約書中沒有特別關於瑕疵擔保責任的規定,瑕疵擔保責任也會產生。

這不僅限於承包和系統開發等,也適用於公司進行的所有契約的一般論,如股票轉讓、債務資金調配(金錢消費貸款)、雇用、股票發行等。

因此,僅閱讀契約書並不能完全理解規範對方和自家公司關係的「演算法」的全貌。為了掌握其全貌,必須理解「民法等法律所定義的預設演算法」。契約書只是覆寫這種「預設演算法」的文件而已。

如果無法預測未來可能發生的事件,則無法進行「除錯」

此外,僅理解演算法並不能驗證「該演算法是否不會產生預期外的行為」。就像遊戲的「錯誤」一樣,演算法終究是抽象的,如果不預測未來可能發生的事件,就無法驗證「當這些事件發生時,是否不會產生預期外的行為」。

這尤其是在新的應用程式、服務等產品,新的商業模式等情況下,可能成為重大問題。在這些產品或模式下開展業務時,未來可能會發生什麼。如果沒有相關領域的知識,這是很難預測的。此外,特別是在企業間的合約中,對方企業和自家企業都是在一定的經濟合理性下行動,因此,為了預測未來的事件和可能引起這些事件的對方的行為,需要具有企業經營相關的遊戲理論思維。

「意料之外」的判斷也基於經營決策

此外,就像判斷某事件是否為「錯誤」的不是電腦而是人類一樣,判斷契約帶來的某結果是否「意料之外」也不僅僅是純粹的法律問題,而是經營決策的問題。

例如,「依照日本民法原則」的算法在某公司的某業務中可能是無法接受的,這在現實中是可能發生的。雖然這與前面的例子有所不同,但例如,日本民法對於準委託契約規定了「受託者再委託將違反契約」這一默認的算法。但例如,對於某公司來說,某業務自然會考慮使用下游企業,這種情況是存在的。在這種情況下,無法再委託的契約,也就是

  • 對於再委託的可能性沒有明確說明(在這種情況下,如上所述,將適用日本民法原則)
  • 明確說明不能再委託

即使這是「依照日本民法原則」,也應該無法接受這種契約。

此外,經營中總是存在「如果某種情況發生,將承擔責任」的風險。對於自己的公司來說,幾乎不存在「無風險」的契約,這基本上是不存在的。是否接受這種風險最終是經營決策。進行經營決策的是經營者,而不是顧問律師等顧問性質的人,但顧問應該提供經營者進行經營決策所需的充足信息,

  • 無需一一指出的風險
  • 接受將成為該公司重大決策的風險,可能需要開會等

必須對這些進行深淺的指出。為了設定這種「深淺」,就像其他領域的顧問一樣,進行契約審查的律師也需要一定程度的「經營」感覺。

總結

如此,本所可以說,契約審核和修改主要包括以下工作:

  1. 理解契約如何覆蓋了民法等原則,並最終形成了什麼樣的算法
  2. 在該算法下,考慮未來可能發生的事件
  3. 考慮是否可能出現意外的行為

而上述每一項都是:

  1. 如果不理解法律,則難以完成的工作
  2. 如果不理解該契約所規範的事業內容,例如應用程序或網絡服務,以及商業模式等,則難以完成的工作
  3. 如果不在一定程度上理解該公司或事業的內容和經營感覺,則難以完成的工作

這就是原因。

由於這些原因,契約的審核和修改非常「專業」。

由本事務所提供的契約撰寫與審查等服務介紹

在Monolis法律事務所,作為專精於IT、網路和商業的法律事務所,本所為顧問公司和客戶公司提供各種契約撰寫和審查等服務。

如果您有興趣,請在下方查看詳細資訊。

https://monolith.law/contractcreation[ja]

Managing Attorney: Toki Kawase

The Editor in Chief: Managing Attorney: Toki Kawase

An expert in IT-related legal affairs in Japan who established MONOLITH LAW OFFICE and serves as its managing attorney. Formerly an IT engineer, he has been involved in the management of IT companies. Served as legal counsel to more than 100 companies, ranging from top-tier organizations to seed-stage Startups.

Category: IT

Tag:

返回頂部