| CARVIEW |
I think network effects play perhaps the most important role here. They would explain why Scilab and Octave, which are free and open-source, haven’t really taken off, and give reasons to believe that a control toolbox in Python would have more success. And indeed developing such a toolbox as part of student projects seems like a great way of getting more of them interested in the subject.
]]>The fact that MATLAB is not free is only part of the problem. Another major problem is, in my opinion, the fact that MATLAB was designed for numerical computation, not for general-purpose programming. By contrast, Python was designed for general-purpose programming, and is now quietly invading MATLAB’s kingdom. Python is a “real” programming language, with real data structures. I like Python because it’s powerful and, yet, intuitive and simple to use. MATLAB has its domain of application, and it’s indeed a powerful tool if one restricts oneself to that domain, but it’s too restrictive! MATLAB is a straightjacket: if you want to use it as a “real” programming language, you are about to embark on a painful experience…
I may sound idealistic, but since not all countries on this planet enjoy the same standard of living as the U.S. and Western Europe, I think that shifting the “lingua franca” to Python (which is free) would be the right thing to do, not just from a technical viewpoint, but also from a moral perspective. Access to educational material / tools should be free. MIT’s OpenCourseWare is the pride of such a “movement”…
However, there are many difficulties. One of them is, in my view, the fact that developing technical software does not advance one’s academic career. Who is going to develop a Python-based control systems toolbox when writing journal papers is a much wiser option career-wise? And if such a toolbox is not developed in academia, who will develop it instead? I bet it won’t be MathWorks ;-)
Then, there are network effects. Unless there exists a significant number of people using a Python-based control systems toolbox, no one will pay attention to it, no one will be motivated to contribute to it, nor to build on it. I believe that a significant initial impetus would be needed for such a toolbox to gain momentum. If Stephen Boyd and Richard Murray are interested in Python, then I have reasons to be optimistic, as I get the impression that the interest in creating an alternative to the MATLAB Control Systems Toolbox comes from the core of the controls community, not from some open-source fanatics at the periphery.
Last but not least, a major difficulty is (obviously) coordination and documentation. If the toolbox is to be developed by various research groups, in different parts of the globe, and at different times… then coordinating the whole effort will be a daunting task… even more so because open-source projects tend to be very poorly documented. The bright side is that I believe that the bulk of a future Python Control Systems Toolbox could be developed by undergraduate students working during the Summer.
]]>