OpenCV 開源協議將從BSD 變更為Apache 2
計算機視覺庫OpenCV即將迎來20週年,其重要版本OpenCV 5也發佈在即。OpenCV官方宣布,隨著此版本的推行,OpenCV的開源許可協議將從3-clause BSD變更為Apache 2。
自項目發布之初,OpenCV 就一直使用較為寬鬆的BSD 協議。然而,BSD 協議已很難滿足快速發展的計算機視覺領域,尤其因為該協議不涉及專利,而使用該協議的代碼很有可能包含一些專利算法的實現。根據OpenCV 的介紹,“從傳統的視覺算法到深度學習拓撲網絡以及兩者的混合,越來越多的算法申請了專利”。但在BSD 條款下,專利用戶的權利難以得到保障。
此前的報導有提到過,為了避免這個問題,OpenCV選擇不接收有專利的算法。這樣做雖然保障了安全性,但也讓一些優秀算法無法進入OpenCV。
經過考量,OpenCV 團隊發現Apache 2 是最為有效的解決方案。因為“Apache 2 比BSD 協議更新,提供了與BSD 許可相同的免費使用特性,還包含有關專利的使用條款”。關於專利,Apache 2 中有兩項條款做了大致說明:
- 如果個人或實體在Apache 2 協議下提供代碼,由於包含的專利被授予了一個隱含許可,則用戶不能因違反該實體在該代碼中的專利或從該代碼派生的作品中的專利而被起訴。
- 如果個人或實體(A)決定起訴某人或某個實體(B),被起訴的(B)創建了一個由(A)的專利所涵蓋的上述(1)中代碼派生的作品,那麼(A )將失去他們所有的Apache 2 專利訴訟保護,從而可能使他們面臨其他方面的法律攻擊。
OpenCV 表示,雖然這種專利保護不是絕對的,但 Apache 2 在這方面目前是最先進的,因此決定進行協議變更。
遷移將從OpenCV 4.4 開始,考慮到原有許可和原有版權,該版本會在同一個倉庫中復制分支。仍舊需要使用BSD 許可證的用戶,可以繼續使用OpenCV 2.x、OpenCV 3.x 和OpenCV 4.x,以及最新的OpenCV 4.4。
從OpenCV pre-5.0(將在新創建的分支中開發)和OpenCV pre-4.5(“master”分支)開始,許可證將正式更改為Apache 2。所有新功能的貢獻者都必須同意將他們的代碼在Apache 2 許可證下授權。
此次協議變更,對於OpenCV 用戶來說,並無太大變化,主要是需要增加針對專利訴訟的保護措施。Apache 2 許可下的OpenCV 仍然可以自由地用於商業和非商業項目。
參考:OpenCV開源協議將變更為Apache 2 作者:OpenCV團隊