OpenCV 4.5.0 and higher versions are licensed Apache 2. OpenCV software contains code written by third parties. This software has its own individual license or copyright. The following links refer to the license or copyright associated with the third-party software used by OpenCV. In principle, you must either purchase a license for ffmpeg if you want to use it or remove ffmpeg from OpenCV, which is a compilation flag, and use a free video backend. Ippicv is a limited free part of the primitive ippicv given by Intel. It is not explicitly in a license header, but it was announced by Intel itself a year ago. By downloading, copying, installing or using the software, you accept this license. If you do not accept this license, do not download, install, copy or use the software. In principle, nothing should change, but with additional safeguards against patent remedies.
OpenCV under the Apache 2 license could continue to be freely used for commercial and non-commercial projects. If you have any questions or comments, please ask them below, or in the corresponding post in our release tracker here. BSD is a good license that has been used in OpenCV from the beginning. It allows people to use the library in any type of project, be it education, research, personal project or up to a commercial product, without restrictions. By 2020, however, it may not be quite sufficient for the current state of the computer field of view, which has grown rapidly over the past 2 decades (in part, thanks to OpenCV). In particular, BSD says nothing about patents, which means that the code under a BSD license may contain implementations of certain patented algorithms, and the code itself is “free,” but it is not free because patent holders can ask users of that software to concede the patents contained. Today, Computer Vision is patenting more and more algorithms ranging from traditional vision algorithms to deep learning topologies and hybrid approaches. We thought about possible solutions, and we discovered that Apache 2 was the easiest way to tackle this problem. Apache 2 is newer than BSD and contains not only the same characteristics of BSD licenses, but also special patent clauses. We refer you to the license text and wikipedia article for details and a summary comparison of the open source license, but with respect to patents, the Apache 2 license has 2 clauses that are roughly called:1. If a person or entity provides code according to Apache 2, users cannot be sued for violating that entity`s patents in or from that contribution code, due to the granting of an implied license for the contented patents.2.
When a person or entity (A) decides to sue someone or a legal entity (B) that creates a derivative work from the code in (1) covered by one of (A`s) patents, (A) loses all its Apache 2 safeguards, which they may open up to other legal attacks. Note that Clause 2 is not really necessary, as the license is granted in Clause 1, but this adds an additional penalty for breach of Term 1. Also note that this does not prevent the Company (A) from suing the company (B) for infringement of the patents of (A) in general, only to first bring the code and then to sue against patents in this contribution code.