OpenCV 庫開源許可協(xié)議擬從 BSD 變更為 Apache 2
計(jì)算機(jī)視覺庫 OpenCV 2020 年技術(shù)委員會的會議記錄顯示,其中一項(xiàng)議程提到計(jì)劃將其開源許可協(xié)議從 BSD 變更為 Apache 2.0。
OpenCV 開發(fā)團(tuán)隊(duì)目前正在討論變更開源許可協(xié)議的詳細(xì)問題,預(yù)計(jì)在6月29日進(jìn)行第一次評估。
BSD 許可協(xié)議比較寬松,對于采用 BSD 的開源項(xiàng)目,開發(fā)者使可以自由使用、修改源碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布,不過需要保留當(dāng)前許可內(nèi)容。根據(jù)維基百科的介紹,BSD 不像 GPL 那樣具有“傳染性”。
然而 BSD 許可協(xié)議在某些情況下(例如涉及到專利)卻無法保護(hù)用戶。引用OpenCV團(tuán)隊(duì)舉的一個(gè)例子來進(jìn)行說明:
某名為“發(fā)明”的公司為某算法申請了專利,并發(fā)表了論文。因算法效果優(yōu)秀,某CV愛好者依論文編寫了代碼,并以BSD協(xié)議將代碼提交到OpenCV。這個(gè)過程中沒人知道算法已申請專利,隱患便被埋下。
另一名為“發(fā)財(cái)”的公司將OpenCV中的這個(gè)算法應(yīng)用到其產(chǎn)品中。依照現(xiàn)有BSD協(xié)議,此公司可以商業(yè)銷售產(chǎn)品,只需注明產(chǎn)品使用了OpenCV,而無需對用戶開源。
“發(fā)明”發(fā)現(xiàn)“發(fā)財(cái)”使用了其專利技術(shù),遂起訴“發(fā)財(cái)”要求賠償和停止侵權(quán),并順帶起訴或要求開源社區(qū)停止侵權(quán)。一旦發(fā)生這樣的案例,“發(fā)財(cái)”肯定要破財(cái)。開源軟件聲譽(yù)也會受到負(fù)面影響。
OpenCV團(tuán)隊(duì)表示這樣的案例在其他開源社區(qū)中發(fā)生過,但沒在 OpenCV 社區(qū)發(fā)生過,因?yàn)?OpenCV 不接收有專利的算法。對于每個(gè)提交的新算法,社區(qū)會確認(rèn)是否有專利。若有,只能拒絕接收。
以上做法雖然保障了安全性,但也讓一些優(yōu)秀算法無法進(jìn)入 OpenCV。
與 BSD 相比,Apache 2.0 是一個(gè)更規(guī)范和更詳細(xì)的開源許可協(xié)議,其第三條“Grant of Patent License”明確規(guī)定了專利所有人通過代碼向使用者進(jìn)行“永久性的、全球性的、非排他性的、免費(fèi)的、免版稅的、不可撤銷的”授權(quán)。也就是說,專利所有人同意永久授權(quán),不可再起訴用戶侵權(quán)。