
Commercialization and Open Source Code — Accelerating Development in the Materials Science Community
Software impacts materials science, everywhere from control and automation of instruments in the factory to calculations and display of data. Experimentalists to modelers to coders covers the progression from very user friendly and easy to start with programs like Microsoft Excel to programs with a higher learning curve, Mathworks Matlab & Comsol Multiphysics, and interacting with Linux operating systems to run code for high computational volume, to finally coding and using Python libraries for automating calculations and processes without waiting for new software releases.
The development cycle in advanced materials is surely slower than the development cycle in software products. Maybe we have something to learn from the software industry?
It’s really easy to learn software in comparison to materials science, so more people are able to contribute. Software developers have created many YouTube videos explaining concepts and open sourced their code, both support learning. In comparison, learning about materials synthesis and characterization is less accessible. Most resources are at the text book level, rather than here is what we are developing the materials industry right now, try contributing to this. An immediate reaction might be working in a lab requires a ton of training. Think creatively, how can more people be involved in your project. Can they do research on supply chains? Can they add to the calculations? Can they create software that automates work-flow?
The next question might be, why would anyone work for free? This eludes me a bit also, but I started doing it after moving to the Bay Area because of peer pressure to be cool by writing code for things you are passionate about. I wrote a script that creates an audible instruction for breathing during yoga practice. It can be customized for different skill levels, increasing the time breath is retained for a more practiced yogi and decreasing the time for a beginner. This helped me learn about voice choices in Python libraries because I wanted a calm, soothing voice. It helped me see a potential for a library with voice choices. It created an entrepreneurial spirit for building a product.
There are so many entrepreneurs in the software industry. Creative work makes us think and discover missing gaps a new product could fill. Many people with this train of thought accelerates an entire industry. Open source code made it easy for me to try coding and then write code for an application interesting to me.
There has been a ton of development in the materials community towards creating open source code in the advanced materials community. Just to name a few: Pymatgen, hyperspy, pycroscopy, py4dstem are free code that can be used to create diagrams, run thermodynamic calculations, and process image data and numerical data from different lab instruments. There is a learning curve to understanding and using the capabilities in these libraries.
Naturally, a question arises if we agree that open source work will accelerate the industry. How do we make working on open source economically sustainable? Is this a solved problem in the software industry? These are a few ways, and we may have some ethical disagreements, but have they created momentum in the software industry? Can the pros be kept, and the cons be resolved?
1) Sell data to an organization willing to pay for it.
2) Sell advertising space on your platform.
3) Sell another version of the same code with more features.
4) Sell another version of the code with the same features, but supports more volume of work.
5) Sell another version with more security features. The selling point depends on the buyer.
Case studies for commercial value of open source work or free services reveal interesting business paradigms. Watsapp had a revenue model for a business API, i.e. the selling point would be custom coded features to interact with customers via watsapp (Reference 1).
Delving more into open source technologies and organizations that support them, I came across a very thought provoking list of articles on open source software architecture. Very widely used technologies are open source: Nginx, Audacity (Reference 2). The articles explain the why of technical choices made in the development. Commercialization is not covered in this collection. It would be interesting to go through the same list of technologies and understand their economics. From the flip side I decided to look at commercially successful companies and see what they invest in open source. Android operating system is open source (Reference 3). If a basic infrastructure is open source, it allows many developers to build on it, some of which can be charged. The free infrastructure creates value. One conclusion this has led me to is that the rotation of money has to be understood separately from value creation. Both have to be considered creatively to create something sustainable.
Reference 1:
https://whatisthebusinessmodelof.com/business-models/how-whatsapp-makes-money/
Reference 2:
http://aosabook.org/en/index.html
Reference 3: