Licensing:
A Quick Overview
Emgu CV use a Dual License business model for its software development library and offers licenses for two distinct purposes - open source and commercial development
- If you wish to use the open source license of an EMGU product, you must contribute all your source code to the open source community and you must give them the right to share it with everyone too.
- If you derive a commercial advantage by having a closed source solution, you must purchase an appropriate commercial licenses from EMGU. By purchasing commercial license, you are no longer obligated to publish your source code.
Open Source License
EMGU is an avid supporter of open source software. This is the appropriate option if you are creating an open source application with a license compatible with the GNU GPL license v3.
A quick guide to GPL v3 can be found here
Commercial License
If you wish to derive a commercial advantage by not releasing your application under an open source license, you must purchase a commercial license from EMGU. By purchasing commercial license, you are no longer obligated to publish your source code. The commercial version for Windows has Open CV DNN module compiled with Intel OpenVINO backend.
Terms
Commercial licenses:
- Are perpetual and include upgrades to all minor revisions. For example: a 4.0 license includes all 4.x releases including 4.0, 4.1, 4.2, etc.
- Are royalty-free
- Remove any obligations to release any source code.
- Are backward compatible. For example: a 4.x license includes all 3.x release as well. Commercial licenses are not forward compatible, meaning that if you have a 3.x license and you need to deploy 4.x release in your commercial product, a 4.x license upgrade purchase is required.
- Only cover the binary of Emgu CV, and do not cover usage on any non-Emgu implemented binary. Usage of Open CV and Tesseract OCR library is govern by Apache 2.0 license. In general Apache 2.0 license allow commercial usage, however some algorithms implemented by OpenCV, such as SURF are patented in the U.S. These patents covers the algorithm regardless of the implementation, which means that even if you use Open CV directly, or if you implement the algorithm from the ground up, you are still required to obtain permission from the patent owner in order to distribute them in a commercial product. It is your responsibility to check whether the algorithms you used are patented in your country and contact the patent owner if you want to use them in your commercial software. Open CV can optionally use FFmpeg, which is under its own license. On the windows version, this module has the name of "opencv_ffmpeg{xxx}.dll". If you do not wish to use FFMPEG due to licensing concerns, simply remove the dll from the folder and Open CV will not use FFMPEG. If you place the "opencv_ffmpeg{xxx}.dll" into the same folder as the other OpenCV components, and use video encoder and decoder in your application, it is likely that you will be using FFmpeg. Legal information regarding FFmpeg can be found here. You don't need the "opencv_ffmpeg{xxx}.dll" component in most cases, the alternative driver in the absent of FFMPEG is "Video for Windows (VfW)" and it is able to encode and decode video in the majority of time. We provide the "opencv_ffmpeg{xxx}.dll" in our build for completeness purpose, such that you can choose this module if you wish. List of 3rd party components used by Open CV and their license terms can be found here.
Performance Advantage
- In Emgu CV 4.4.0, the windows commercial release will be built with IPP for optimal performance. It is also built with OpenVino DNN backend.
- Software performance depends on the CPU the application is running on and the instruction sets they supports. Not all operations are optimized by IPP, but for those functions that are optimized by IPP, you can see a plot for the performance improvement here: https://github.com/opencv/opencv/wiki/Opencv3 Commercial release will have a longer load time than the open source version, due to the larger binary size. For smaller application that only perform a small image operation, the longer load time may cause the overall application runtime to be longer. For larger application that perform a lots of image processing operation, the commercial version should provide better performance. However, it will also depends on the image operation that you are using. If you are using UMat or GpuMat, and the image operations are performed on the OpenCL/GPU device, the commercial version will not provide performance advantage, the OpenCL/GPU binary are the same between the open source and commercial release, only the CPU binary has been optimized.
- Commercial package can be downloaded from our website. Using the credential provided during the license purchasing process.