I would just like to share a story, and probably an opinion as well. When I was doing my STEM undergraduate degree a couple of years ago, I took a course in which I had to use MATLAB. I won’t disclose too much information, but it was a course involving computation.
Well, we (the students) weren’t given a student/institutional license of any sort, but the course coordinator still insisted on using MATLAB. We took it as an implicit instruction to “somehow” obtain MATLAB. In the end, one guy in our class pirated it and distributed it the whole class.
Before that though, I did approach my course coordinator, asking them if it’s possible to use other software like GNU Octave, which is a clone of MATLAB. Personally I think it should also possible to use any other programming language like Python for example, since the important part is the computation part, in my opinion. They refused any discussion and did not even consider alternatives, instead basically forcing us to “obtain” MATLAB. How else? Well.
As I have said, we all pirated it in the end.
I did something quite interesting though, which is that for every quiz, assignment, and projects that we had, I’ll run the same exact MATLAB code on GNU Octave, to see if it’s compatible. And it is. It works flawlessly. There’s only one function that GNU Octave didn’t support back the (this was a couple of years ago), and even then, it wasn’t an essential feature, you could use other software for that function as well.
By the end of that semester, I had compiled almost all input/output of the MATLAB code alongside its GNU Octave’s counterpart, to demonstrate that we didn’t need to pirate MATLAB to get through this undergraduate course.
Regrettably though, I didn’t follow through. So sad!
Do you think piracy is justified in this case?
There’s a reason why they insist that you all get MATLAB, and it’s because of compatibility. Like you’ve mentioned in your story, there’s one function that wasn’t working on Octave. If they don’t standardise and let every student decide themselves which software they want to use, every different software will probably have different incompatibility and different functions will be broken on different software and a lot of resources would need to be spent on debugging for all the different softwares out there.
There’s no reason that standard should be MATLAB though.
I can’t speak to OP’s field, but in my field (automotive and electrical engineering) and even within my company, MATLAB and Simulink are heavily used. The reason it’s the standard is that it’s an industry standard. MATLAB on my resume almost certainly got me the foot in the door for my first job.
YMMV on if you could get an employer to let you use a different software, but big companies tend to be very protective of IP and are wary of that.
My bachelor degree includes that I spent months practicing Matlab, but actually I only used Octave until two days before the exam.