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