計算機視覺庫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 團隊
來源:開源中國