License Inquiry: Integrating Matlab Functions into In-House Software for Commercial Use
Seiya
on 23 Oct 2024
Latest activity Reply by Walter Roberson
on 27 Oct 2024
I have one question.
Would it be possible to purchase Matlab for our company and incorporate the functions provided by this software into our in-house developed software to offer it to customers? Is this kind of action permitted under the license terms? I would appreciate advice from someone knowledgeable on this matter.
3 Comments
There are three possibilities here:
- You are offering MATLAB source code to your customers. In this case, your customers would need to purchase MATLAB licenses themselves (including licenses for all of the toolboxes you need). You would be permitted to call any MATLAB functions. You would retain the rights to the MATLAB code that you write.
- You use MATLAB Compiler to compile MATLAB source code into an executable. In this case, your customers would not need to purchase MATLAB licenses -- they would only need the executable. You would need the MATLAB Compiler toolbox to do this; your customers do not need any toolbox license. You are permitted to sell access to the executable. There are a restricted set of functions and toolboxes that can be compiled. Much of MATLAB can be compiled -- but for example nothing in the Symbolic Math toolbox can be compiled. The executables share a great deal of technology with MATLAB, so compiled executables have much the same startup time as MATLAB sessions, and execute at much the same speed as MATLAB sessions. The executables you produce have to be special purpose, and cannot provide general access to MATLAB functions.
- You can use MATLAB Coder to compile MATLAB source code into C/C++ code and incorporate it into your own projects. In this case, your customers would not need to purchase MATLAB licenses -- they would only need the final project you build. You would need the MATLAB Coder toolbox to do this; your customers do not need any toolbox license. You are permitted to sell access to your project. There is a much more restricted set of functions and toolboxes that can be compiled, and code typically needs to be tuned to use with MATLAB Coder. I am not sure that any graphics are supported. The C/C++ source code produced does not share basic technology with MATLAB, so the C/C++ source code is typically faster for basic variable access and small arrays. However, the C/C++ source code does not call into high speed mathematical libraries, so the C/C++ source code is typically slower for vectorized mathematics and linear algebra.