so I've made an app using a popular library called OpenCV (https://opencv.org/license/)

Its built on android and with the version I'm using it states that the licensing is:

OpenCV 4.5.0 and higher versions are licensed under the Apache 2 License.

Or if I use the older version its:

OpenCV 4.4.0 and lower versions, including OpenCV 3.x, OpenCV 2.x, and OpenCV 1.x, are licensed under the 3-clause BSD license.

But I get a little worried in this, I read up that OpenCV automatically uses FFMPEG which requires a licence, but then I saw another thread where this is not the case for Android?

I'm also worried whether OpenCV uses any third parties automatically that I don't know of, I've seen a few online referring to an xml document, and a few other things, but I'm not entirely sure how to check if its in my app and the forums I see this on are from 2012 so I'm unsure if things have changed since then.

If it helps, my code is based on the facial detection part of the sample code from the following link.

Apologies in advanced if this is the wrong place to post this, I wasn't sure if its coding related, law related or if there's a licence thread?


1 Answer 1


Apache 2 is a permissive license and you're just using OpenCV as a library so i think the answer is yes, you can sale an app that uses OpenCV as a library and your app don't even have to be released under Apache 2 license. In fact you could use a comercial license for your app if you want it to. But it is good to take a look at the licenses of the OpenCV third party dependencies too to see if all then are as permissive as Apache 2.

It would be good to consult a lawyer if you want to be really sure about it as I'm not a specialist.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.