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?
Can you elaborate? I looked at https://wiki.octave.org/Differences_between_Octave_and_Matlab and most stuff seemed minor.
Not the op, but syntactly they are ver similar. And so for minor things like looping over a matrix or making a plot or some calculations, It’ll be the same. Your intro numerical course will not really know the difference. It’s when you get to the packages that there’s massive divergence. Matlab really sells packages that have all sorts of libraries and gui things built in to do some advanced calculations or pre-Canned tool. They also change the package syntax from time to time. For things like signal processing or filter design, the tools reign and most scripts depend on them. Octave has a totally difference package ecosystem and syntax for loading packages.
So for basic things, you can go between the two fairly easily. For anything advanced or for 90% of scripts you download from papers, octave will not work.
Yeah, I imagine this’d be the case. Especially since MATLAB is designed for heavyweight computation in engineering industries, not merely simple looping or graphs. I’ll be honest and say that I neither use MATLAB nor GNU Octave since my work does not require it; I was just recalling a particular story during my student days that I thought would be interesting to share. For such heavy, niche and always evolving set of toolboxes and libraries, we can reasonable expect no open-source alternative will be able to “replace” MATLAB in any meaningful sense, it’s just too powerful and big.
I’m mostly okay with that though. These sorts of work are done in institutions or industries that can and should be able to afford them. It’s the reason why I don’t reasonably expect GIMP to overthrow Photoshop or Kdenlive/Openshot/Shotcut to overthrow Premiere Pro, unless somehow massive funds are channeled to their development. Rare cases like Linux or Blender or Firefox do happen, but they have massive backings.