MATLAB and Open-Source Software - Panel discussion

MATLAB and Open-Source Software - Panel discussion

On October 27th, I participated in a panel conversation about MATLAB & Open-Source. This was very nicely moderated by Michelle Hirsch, who’s leading the MATLAB product management. She did a great job at balancing the conversation (and I’m not just saying this because she’s my boss).

In this article, I’ll try my best to summarize the discussions that took place. The main elements revolved around the following points:

1.??????The panelists

2.??????Defining Open-Source

3.??????Why MATLAB/MathWorks

4.??????Why & How MATLAB + Open-Source


1.?????The panelists:

This is a short introduction of the panelists and their respective context:

Yann:

  • Working at MathWorks since June 2020
  • Before that I was leading an open-source numerical computing project called Scilab
  • My personal mission (in this panel and beyond): bring balance to the force

Gustavo:

  • Co-founder & technical lead at Pandata Tech
  • Developing data validation systems based on time series from Oil & Gas assets
  • His IP strategy is based on a mix of open-source and MATLAB compiled code

Camilo:

  • CEO at Enovate
  • Developing Digital Twins products & services for the Energy sector
  • His team initially built on Python, but they are starting to adopt MATLAB

Mayank:

  • Faculty at Louisiana State University
  • Researching on Digital twins for Reservoir Simulation & Analysis
  • He sees undergrad students coming to engineering with a Python programming background. So, he was quite interested in my presentation about MATLAB with Python.


2.?????Defining Open-Source

The interesting debate on the definition of open-source revolved around:

-?????????When we say open-source, is it about the license specifically, the approach of community-driven development, or just capabilities that happen to be licensed as open source? Or is “open-source” just a euphemism for Python??

-?????????What do engineers & scientists see as specific benefits or risks/costs of using software with open-source licenses or developing software in open-source??


I find it helpful to start such conversation by agreeing on the terms of the subject. When discussing about open-source in the past 10 years, I’ve seen a lot of confusion about what is means. The main one is free vs open-source. Students for instance typically care more about the free access to the technology. So, this was the primary context in which academics like Mayank were approaching the subject. But immediately, there is a complementary context to teaching that is research.

Research is a context in which community matters a lot, and where open-source is a useful framework to bring people together. One example we have seen mentioned several times at the Energy Conference is the MATLAB Reservoir Simulation Toolbox (MRST). It is a community of reservoir engineers & geoscientists collaborating?to solve problems relative to the oil & gas industry.

This is why I cannot accept to have people say MATLAB versus open-source, because it doesn’t acknowledge the importance of such communities that have been building open-source MATLAB community toolboxes ever since MATLAB existed.

Pivoting to the software development practices that came along with open-source software. The big benefit that I see is the sense of ownership it creates in the community. This comes from the balancing of rights between the author and the user specified by the license. In practice though, what we often observe is only a few maintainers (sometimes just one) compared to the number of users. This lack of balance can apply pressure on the development without necessarily providing a sustainable funding system.


3.?????Why MATLAB/MathWorks

The previous point led us to the question of why commercial software in general, and what companies like MathWorks in particular bring to the table?

When making a decision to adopt a numerical computing platform like MATLAB, some of the dimensions you may want to take into consideration are the main features, the user base, the support and documentation as well as the cost. I’ve tried to summarize those in this page.

As we were having this conversation in a room full of MATLAB users, an industrial member of the audience provocatively asked: “What happens if I find a bug in Python that affects my application in production?”

This led us to discuss companies like Red Hat that provides a framework ensuring the stability and trust of open-source software for commercial use. And someone commented at this point, that those companies supporting open-source tend to resemble traditional software companies (with differences in the operating model).

To conclude on that, I felt relevant to mention that MathWorks actually does more around open-source than you may think. For instance, we are one of the two main contributors to LAPACK, the foundation of every linear algebra and numerical computing. So thankfully at this point the conversation was not about one vs the other.

4.?????Why & How MATLAB + Open-Source

The title of this session was on using MATLAB with open-source software. It took us a while to arrive to the topic, but at least the subject was well motivated by then. Of course, people have been using MATLAB with Open-Source Software for a really long time. Michelle mentioned using open-source MATLAB code from the predecessor to the File Exchange back in the 90s, and users have been running MATLAB on Linux since then, too.

But what are the new usages of MATLAB directly with any open-source software today??And what are things to consider when thinking about using MATLAB with open-source software? For instance, what do you need to keep in mind when mixing software with different licenses, like a commercial license, permissive open-source license like MIT or BSD, or copyleft like GPL?

Gustavo and Camilo both build and maintain complete software systems. They went through the rule of thumb of what parts of their system are expected build on a commercial offering versus what parts are using open-source software. And their considerations were quite pragmatically about satisfying their customers, by using the right tool for the job.

Mayank on his hand, commented on the MATLAB vs Python debate he has with his students. And he highlighted that languages wars are irrelevant, as he remembers teaching Fortran, Pascal, and all sorts of other languages in the past. He rather sees more opportunities to equip students with both Python & MATLAB so that they graduate trained with the tools that are used in the industry. That is the reason why he enjoyed my talk because it mirrors the complexity of systems that are in place in the industry, where the application can often be made out of more than one language or technology.

This gave me the opportunity to address the technical considerations when considering integrating MATLAB with other (open source) software like Python and AI frameworks specifically?(like TensorFlow and PyTorch). I also went through the license considerations with the example of the MRST toolbox. This one is more challenging than most MATLAB community toolboxes or Python packages, as it is GPL. So, it basically requires you to contribute the changes you make to the MRST toolbox if you intend to redistribute them. Other licenses like BSD just require you to mention them if you ship it with your code.


Overall, the conversation was well balanced, so I hope you enjoyed this summary, as much as I enjoyed the fruitful debate with the panelist. Feel free to like, comment and share.

Allan Cornet

Senior Software Engineer

2 年

Matlab uses intensively many open source libraries (in matlab's kernel): - blas/lapack --> mkl wrapper - fftw3 --> mkl wrapper - hdf5 (.mat files) - boost - CGAL - libcurl - netcdf - arpack - portaudio - libsndfile - mpfr - libxml2 - jogl - cdf - dsFMT - libexpat - ... Mathworks should more officially participate to support/develop and increase quality of these great open source libraries.

回复
Souvick Chatterjee

Passionate to accelerate the pace of engineering and science

2 年

Thanks for sharing Yann Debray! Very interesting discussions.?

要查看或添加评论,请登录

Yann Debray的更多文章

社区洞察

其他会员也浏览了