如何解讀Facebook的這款疑似Virtual DOM專利?
原文位於 Efficient event delegation in browser scripts (需翻牆)。酷客的陳皓提到它是一個Virtual DOM專利,我粗讀的感覺也是如此。請熟悉專利法的同學來解讀一下,該如何理解這個專利?如果這個專利成立,是不是改用了Preact等基於Virtual DOM的替代品也仍然會有法律問題?
大概看了一眼,這個專利主要是講事件委託的,跟virtual dom關係不大。
主要演算法如圖:
主要應該指的是react的合成事件系統吧。710~730 指的是事件冒泡。740是計算LCA。這樣可以減少parent的事件調用次數。
話說這樣也可以申請專利嗎?演算法不是不能申請專利嗎?不過這裡限定在了瀏覽器腳本和瀏覽器markup語言里(HTML),可能這樣就算一種特定領域吧。。。
Preact並沒有這麼複雜的事件系統,用的還是原生瀏覽器的事件,所以這個專利並沒有影響Preact。
但是這並不代表Preact就高枕無憂了,可能Facebook還有其他關於VD的專利。
medium上有篇文章說有提到這件事,《React, Facebook, and the Revocable Patent License, Why It』s a Paper》。作者自稱是美國的律師,結論就是,vue preact這種試用了vd的框架很可能一開始就觸犯fb的專利
這文章提到的只是 SyntheticEvent 的專利,和 Virtual DOM 沒什麼關係
目前尚無信息表明 FB 有 Virtual DOM 相關的專利,並且假如有,也可能因為借鑒了之前的一些開源方案從而是無效的,參見 Facebook Virtual DOM Licensing FUD and Patent Trolls
現在程序員真的好辛苦。。。。。拿著程序員的錢,操著大律師的心,還開始關心專利了,能不能留口飯給公司的法務吃?知識產權的水深著呢。。。。就算你整明白了都沒用,你還能到時候上庭?上庭能不被虐?法官說的英文都能聽懂?(⊙o⊙)啥?你們公司沒法務,那你怕個啥啊?光腳的啥時候會怕穿鞋的。。。。。。你以為fb會去告一個連法務都沒的公司?他家律師也是收錢的啊。
你要對美國的專利系統有充分的了解才能明白。
演算法按道理說是數學的一部分,是不可以申請專利的,但是法律總有那麼模稜兩可的地方。美國專利,當然也可以說各國的專利,都保護「方法」或者說是一種process。所以軟體的專利,同時具有演算法和方法兩方面的特點,有時候還有些recipe combination的特點(不能申請專利),不是很好定義區分。上面提到的這個FB專利,貌似是偏方法更多,但是太簡單了,簡單可以么?這就引出下一段。
所有的美國專利,最後裁定權在法院,USPTO可以批准你1000個專利讓你出去忽悠,但是一打官司,可能你一個都沒有。還有種可能,連沒有claim的部分,也能被法院認定為專利,參見蘋果告三爽的手機設計侵權。當然,有USPTO的批准,畢竟在法院理由多一些,需要侵權人舉證證明USPTO審理的時候有什麼不妥。問題是,現在的軟體專利都太忽悠人,讓人感覺USPTO在這方面專業知識不夠。備受詬病的amazon oneclick 專利就是一個,對學軟體的來說是瞎胡鬧,赤裸裸的recipe combination,居然也通過了,還用來告別人了,最後還庭外和解了,具體有沒有賠償不知。
所以現在各大有錢的科技公司,僱傭了一大堆律師,只要能申請專利的東西一律申請,反正不缺錢。有沒有用到時候再說。這就形成了專利優勢,或者說壁壘。也形成你所看到的是似而非的專利。大公司要的就是個數,比如我有20000個專利,你小公司有10個專利,那我雇一幫子律師,分分鐘告你到雇不起律師破產。要的就是這個效果,jobs曾經就用專利威脅過其他公司。
言歸正傳,你得主要看專利里claim了那些東西。然後才能知道是否構成侵權,當然這個很複雜,需要和專業律師聊聊才能搞明白。不過一條捷徑就是,一般大公司懶得告小公司,出力不討好搞不到錢。所以你要是剛起步,涉及的技術比較容易替代或者繞過,其實個人覺得並不用太在意。我在美國從來沒有聽說過哪家小公司整天擔心自己的軟體侵犯專利了。不過你要是大公司,利益相關,那就找個律師問問分析一下風險,反正大公司有的是錢。
在中國擔心美國商標,專利,著作權?你讓比爾蓋茨情何以堪。
世界這麼大,巧合那麼多,同樣的想法不一定只有一個人活著一個公司愛能想到~
安博體育電競
額 只看標題就能知道是關於事件委託相關的專利,放在react身上肯定是和合成事件相關,怎麼扯上vdom的。。。
推薦閱讀:
※比如說我想做的事情都早已經有人做過了,我再做的意義是什麼?比如學前端,有很多前端高手,我為什麼還要學?
※React作為時下最熱的前端框架,各位有什麼經驗分享下嗎?
※你為什麼喜歡 React?
※面試一個5年的前端,卻連原型鏈也搞不清楚,滿口都是Vue,React之類的實現,這樣的人該用嗎?
※如何看待 snabbdom 的作者開發的前端框架 Turbine 拋棄了虛擬DOM?