Suppose I write a Matlab script and place it under the GPL. The question is whether the result can be considered free software.

On the one hand, the script itself is clearly free. On the other hand, if one cannot run the script without having access to Matlab, it seems to make nonsense of the notion of freedom in this case.

1 Answer 1


If you take a look at the GPL v2 and proprietary extensions question you can get to the conclusion that if the proprietary software you depend on to create a script does not allow to do so(license modules/scripts/extensions as GPL or other open license), you will not be able to make your script free form the start.

The holder of the software patents/rights can on its EULA enforce how a derivate plugin/script/customization can behave and what license is imposed.

But, if your software provide does not states clear to forbid scripts to be free, this is exactly the same thing that happened with the Java Trap:

April 12, 2004

If your program is free software, it is basically ethical—but there is a trap you must be on guard for. Your program, though in itself free, may be restricted by nonfree software that it depends on. Since the problem is most prominent today for Java programs, we call it the Java Trap.

A program is free software if its users have certain crucial freedoms. Roughly speaking, they are: the freedom to run the program, the freedom to study and change the source, the freedom to redistribute the source and binaries, and the freedom to publish improved versions. (See http://www.gnu.org/philosophy/free-sw.html.) Whether any given program in source form is free software depends solely on the meaning of its license.


Sun continues to develop additional “standard” Java libraries, and nearly all of them are nonfree; in many cases, even a library's specification is a trade secret, and Sun's latest license for these specifications prohibits release of anything less than a full implementation of the specification. (See http://jcp.org/aboutJava/communityprocess/JSPA2.pdf and http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html for examples.)

Sometime ago, a lot of features from Java were not free, creating this trap where even if you have developed a GPL software with Java, you will still be bound to restrictions of the software infrastructure required(that is nonfree).

Making a comparsion with this Java specific case, best thing you can do is also find a good opensource implementation that could replace Matlab and also make use of your scripts. But this is just an advice and there is no much that can be done if your software requires nonfree software to be able to run.

Have you ever tried GNU/Octave? Maybe it can be a good alternative for drop-in compatible with many Matlab scripts as their site advices, and you could also help the development team by reporting issues you could face.

Short answer: It depends if the software rights holder specifies if this extension/script can be created on opensource license. Even if this company/person does not deny you from creating free software scripts that depends on this proprietary software, you will still be in a trap because they can change this terms whenever they want.

  • Hi @nwidner. Thank you for the answer. If I understand you correctly (though it isn't completely clear) you are saying that, firstly, proprietary software can forbid software depending on it to be free. If this is correct, I didn't know this was possible. And if this is not the case, then software depending on proprietary software can indeed be free. Lastly, I don't use Matlab. Actually I don't think I've ever written a Matlab script in my life. It was just a simple example that I thought most people would be familiar with. Jun 29, 2017 at 8:55
  • "you will not be able to make your script free form start.". Should that intended to read "free from the start"? Jun 29, 2017 at 8:56
  • Yes. Free from the start. The point is that the holder of the software rights can put a statement on it's EULA that "scripts have the same license as Matlab, and we are not responsible for the result of scripts execution" making not possible for scripts to be free. Each proprietary license and each EULA from a proprietary software can be different so, is hard to rule if a script can be free if uses proprietary software. It depends entirely of the software license.
    – user8416
    Jun 29, 2017 at 9:33
  • added more content to my answer to make myself more clear. :)
    – user8416
    Jun 29, 2017 at 10:46
  • 1
    To the ones downvoting this answer, at least say why you disagree on a comment so i can write a better answer >.<
    – user8416
    Jun 29, 2017 at 16:48

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.