I had the opportunity to attend the MathWorks Automotive Conference this year. The conference was held remotely and the presentations were streamed live using the Webex platform. I watched three of the presentations on the first day, which included the Farm of the Future, Ford Automated System Simulation Toolkit, and a presentation from Cooper Tire and Rubber Company. The proceedings from the conference were made available on the MathWorks website with the presentation slides available in PDF format and links to the videos are also available. Except for a few audio hiccups, I liked the format that MathWorks chose for this conference.
I found the presentation about the Ford Automated System Simulation Toolkit from Ford Motor Company to be the most interesting. The FASST is a tool chain for building virtual vehicles and simulating vehicle models quickly. Ford pursued an “inner source” development philosophy in creating the FASST which uses open source development practices within an enterprise. Ford even included quotes from Eric S. Raymond’s The Cathedral and the Bazaar. I’ve been a long time Linux user and have admired the ability of the open source software community to develop high quality software. Inner source is not a new idea; it can be traced backed to Tim O’Reilly in 2000 when he was discussing the development of OpenGL, but I was surprised to see companies like Ford embracing open source ideas.
In The Cathedral and the Bazaar, Eric S. Raymond describes two software development models, the titular cathedral and bazaar. The cathedral model is described as a centrally controlled, top down model of development where a small team of managers and developers decide what features the software should have, how to implement it, debug it, and maintain it. The development source code is not made available to the public, even if the project is open source. The bazaar model was inspired by the open source development model of the Linux kernel where development is much more open, software releases occur often, and the development source code is available to anyone, and anyone can contribute. The bazaar model is a distributed, collaborative development method where users and beta testers are considered to be co-developers. The source code is available throughout the development process. Why are users and testers considered co-developers? More users add more ways to stress the software and lead to more problems being found and the solutions will be obvious to someone. However, the bazaar model is not well suited to starting projects. To get people interested in developing a project, the project leader needs to present a “plausible promise”. The initial program does not need to work well and can be crude, but it must not fail to run and it must be able to convince potential co-developers that the program can evolve into something worthwhile.
I found this event to be quite interesting and worth attending. In conclusion, I would like leave you with some quotes from Eric S. Raymond’s The Cathedral and the Bazaar that I think encapsulate important open source development ideas:
“Users are a wonderful thing to have – and not just because they demonstrate that you’re serving a need, that you’ve done something right. Properly cultivated, they can become co-developers.”
“Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.”
“Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.”