How OK is it to take parts of Matlab add-ons for one's own code?
4 次查看（过去 30 天）
I'm currently working on a Matlab app for my Master Thesis. I wanted it to be very user friendly, so I used a few functions from the Image Processing Toolbox to make the GUI menu behave nice. However, it wouldn't make sense if the user had to download a whole large add-on just for the app to look good, so I thought about copying the few necessary functions into my apps directory, so that the add-on would no longer be needed.
Now, is this completely legal? For example, I could send this to someone who doesn't have a license for the add-on at all. It feels slightly weird, especially since the results of my thesis are suppossed to be very official.
Walter Roberson 2023-7-19
No, it is a violation of the license agreement to copy portions of a toolbox to use without the toolbox.
There are the occasional toolbox functions that are very simple and it might seem sort of foolish that they are protected by copyright law -- for example deg2rad . None-the-less, those contributions are as protected in law as are more complicated contributions that took Mathworks a lot of work to protect.
Laws vary by country, but the general principle in "Western" countries is that copyrights protect at particulary expression of an idea but not the idea itself, whereas patents protect ideas . Many countries do not permit "software patents" (that is, pieces of code cannot themselves be patented in many countries), but the USA does permit software patents.
This leads to the point that if you take the central ideas behind a toolbox function, and you research the ideas in textbooks and write your own code that achives the same end without reading the implementing Mathworks code yourself then you would be very likely in the clear under copyright law. Whether you would be in the clear under patent law would be more complicated, with the fact of it being a thesis in particular granting some leeway for patent purposes (but not for copyright purposes.)
A significant exception for copyright purposes would be if you are doing a scholarly analysis of the copyrighted work. If, for example, you were writing a thesis, "The Annotated Howl" that went through clause by clause on the famous poem, then it would be legally foolish to say that you could do that but not include the wording of the lines you were discussing. But even that has restrictions, and in such cases the legal recommendation would be to first ask permission for reproduction. (This is not an exception that applies to you, as you are not doing detailed analysis of the implementation of those functions; you just want to be able to run the functions.)
Getting back to your original premise:
If you have access to an Academic license, you can use MATLAB Compiler to create binary executables for the convenience of people who wanted to run your code; they would not need a MATLAB license at all do run such code. But "bit-rot" -- at some point people would stop being able to run the executable, as operating systems change or security updates happen to affect components the code used.
If you include source code in your thesis (or make it available on github) then you are already assuming that people have access to a MATLAB license to run the code. It is not unreasonable to say "You will also need a license for Image Processing Toolbox" -- it is a common toolbox that many people have access to, and it is not expensive as MATLAB licenses go.
Now, if you happened to use one of the coordinate conversion utilities that just happen to be in (say) the Navigation Toolbox, and you don't need anything else in the toolbox, then Yes, it would make a lot of sense to instead write your own conversion utility instead of forcing people to buy an expensive uncommon toolbox.
Harsh Kumar 2023-7-19
Hi Filip ,
I understand that you are trying to confirm whether sharing Add-Ons in such a way is legal or not .
The MATLAB Answers community is indeed a great source of information. However, since you mentioned that your thesis is supposed to be very official, It is recommend that you seek confirmation from official resources directly, such as MathWorks Customer Support, with your license ID. This will ensure that you have an authentic answer that you can attach to your thesis if it is legal.
Refer this documentation for details of seeking MathWorks support : https://in.mathworks.com/help/matlab/matlab_env/contact-technical-support.html