A Personal Statement on Open-Source Microscopy Software

Carter Francis, Research and Development Scientist at Direct Electron.

One of the most recent things I did at my job was help define a commitment to open source.  It wasn’t a huge shift in company culture; rather, it was more of a public announcement of something we already believed in and were already working towards. But in writing this commitment, I thought quite a bit about my relationship to open-source software. 

For those who don’t know, I help maintain a slew of related python packages pyxem, orix, diffsims, Hyperspy, and Rosettasciio in addition to my job as a research and development scientist at Direct Electron.  I often tell my wife that (un)fortunately, my hobby and my job overlap (she is less enthusiastic about this and thinks I should “work” less). Sometimes this works exceedingly well.  I can contribute code to rosettasciio during work hours to improve the file importing for .mrc, .de5, and .hspy files (all file formats that Direct Electron writes to). I can also do some code maintenance and development to help improve our users’ experience using open source software. (If you have a Direct Electron camera and there are some features you really would like please let me know!)  Sometimes I do find myself in a more grey area, however, when I get asked to help read/write competitors’ file formats. But at the end of the day I always come back to the idea that a rising tide raises all boats.

Supporting open source is something that I love.  It’s the small things. The excitement people get from loading their data.  Someone visualizing their data using hyperspy, and spotting something new. The satisfaction of using the dask-dashboard and watching calculations fly across the screen.  There is also the community.  I love helping new contributors with programming, answering questions, working to improve things and teaching workshops to help people with data analysis. And I love to see what new things people do with the software I help develop. 

It’s hard sometimes too.  People are more than willing to give criticism on the internet. It’s even harder when those criticisms are valid, but fixing those things takes time, effort, and money. It requires changes upstream, careful considerations to not break existing code. Sometimes it’s hard to see other people working on similar things, duplicating efforts and wondering why they didn’t choose to contribute or work together.  And a lot of times it would be easier to just focus on making something that works only for our customers.  To these thoughts, I often find myself with more questions rather than answers. 

But so much of science dies without honesty, clarity and openness. People talk so much about the replication crisis in science, and part of the reason for that is the prevalence of black box solutions. It’s part of the reason I love the recent push towards F.A.I.R. data and software.  At my core, I still think of myself as a scientist even working in industry. I think many of my colleagues do as well. We are not too far removed from the struggles to access your data, or frustration with purposefully obscure analysis and locked down software. At the end of the day that is never a situation that I want to contribute to and is one of the reasons that I really like working for Direct Electron.

Questions?