Chiara Marmo joined the scikit-learn Triage Team in 2019. In this interview, learn more about Chiara’s passion in open source.
Tell us about yourself.
I’m Chiara, I’m Italian, from Biella, a small town in the North of Piedmont. I have a PhD in Astronomy. I am a Research Engineer and a French civil servant. I have worked in data processing and archiving for Astronomy, Earth and Planetary Sciences. Right now, I’m living in the US with my family.
How did you first become involved in open source?
Research is a big customer of open source software. I have found myself managing some technical aspects of research projects. Grants, in Europe, are more and more subject to open source constraints regarding software and IT infrastructure: this is a guarantee for transparency and reproducibility. I started packaging for Debian for internal needs and I ended up contributing to the distribution. I started using the Geographical Data Abstraction Library (GDAL) for a European project and I ended up contributing to a part of the code specific to my research area.
We would love to learn of your open source journey.
I finished my PhD (quite some time ago) thinking that everyone was better than me at coding stuff. I had spent a lot of time asking questions about some undocumented software I was using, which source was not open. During my first postdoc I discovered that some people were indeed writing scientific software under open licenses. Suddenly, I was able to check the code myself and even fix small issues I found. And I enjoyed it! So much that I switched to another career.
How did you get involved with scikit-learn?
I applied to a position offered by Inria (the French National Institute for Research in Digital Science and Technology). After so many years as an Open Source Software user, with some sparse contributions, I was interested in improving my understanding of the Open Source world.
Inria is a French public institution, where the first public release of scikit-learn was prepared. As Community and Operation Officer I have performed a mix of technical and non-technical tasks for the scikit-learn Consortium, a project of the “Fondation Inria”. I learned a lot, but I must confess that coming from nowhere, or, let’s say, elsewhere, into the Python Open Source community is not comfortable. But I guess changing one’s perspectives is never comfortable.
To which OSS projects do you contribute?
I maintain two packages in the Debian distribution under the umbrella of the Debian Astronomy and Debian Python teams. I make small contributions to astropy and numpy, in testing and documentation. I’m continuing my involvement in the scikit-learn triage team. Triaging is a valuable learning experience: you are forced to go through the activity of the developers, you learn how the library is structured, how developers respond to contributors, what are their preferences, perhaps their obsessions.
What advice or tips do you have for people starting out in your field of work?
I often had the chance to be at the right place at the right moment, without expecting it. I am grateful to all the colleagues that have made me feel valued in my career. When I felt otherwise, I moved. A lot of people, like me, haven’t a dream to realize since they were like 10 years old, perhaps this is just a cinematographic myth. The best thing one can do is keep open eyes and ears and learn. Also never miss an opportunity because someone else says you do not fit.
What do you find alluring about OSS?
Freedom! Technology is becoming a big part of our lives and having the opportunity to check the code yourself and helping in making it more stable and reliable is a guarantee of democracy. In scientific research Open Source Software is one of the keys to reproducibility and contributes to making research more transparent. Especially when funded by public institutions, scientific research has the responsibility of being readable by its users and funders.
What pain points do you observe in community-led OSS?
“This software is provided ‘as is’ ”. This is the origin of all joy and pain in Open Source Software. The user base has grown, especially to non-coder users, those that can’t or won’t spend time checking the code. Community Open Source Software in general, is missing a clear framework in which responsibility is assumed in front of users and funders. As it is Darwinian by design the system will probably adapt at some point, every project is different in this respect, some have already adapted. The balance between market and community needs is sometimes difficult to find especially when strictly horizontal structures are chosen. In the meanwhile a lot of people leave, as in similar missions essentially based on volunteer engagement, because they feel responsible, despite what is said in the license, and they receive no reward or temporary relief from this self-assumed overwhelming responsibility. On the other hand, denying the need for better structure, the projects grew without a clear scheme about how to distribute responsibilities (which responsibilities anyway?!). Historically, developers are reticent to delegate and are willing to onboard new people only if they have the same knowledge of the whole project, which is harder and harder after so many years of existence, unless you are almost their clone. As a consequence, recruitments are always made in the same circles.
How would you like to see OS evolve in the next 10 years? What would you like to see happen?
I would like to see public institutions more involved in supporting Open Source Software. Some are already moving in this direction, but public administrations should find a way to be more flexible and responsive, to better answer the needs of rapidly evolving communities.
I would like to see developers learn how to delegate specific responsibilities, perhaps starting with non-technical (communication, funding hunting), then extending to technical aspects. After all, this is how the “Bazaar” claims possible to break Brook’s Law, making “halo developers work on what are in effect separable parallel subtasks”.
What are your favorite resources, books, courses, conferences, etc?
For those willing to explore the origins of open source development “A Beginner’s guide to Linux Kernel Development” is a detailed and pedagogical approach brought to the Linux Foundation Training by Shuah Khan, Linux Foundation Fellow, that I really enjoyed.
For people willing to refresh their bases about optics, (hey, this is from where I am!) I recommend “Optics” written by Eugene Hecht. I have found it full of enchantments.
What are your hobbies, outside of work and open source?
I really like to read, especially aloud, to whoever is in the room. Luckily my kids stay, in general… others might decide not to. I contribute to wikisource.it, here and there.
The movie I have watched more is “Ratatouille”. “Barry Lindon” is just after. I love languages, I am not talking about the programming ones. I like to learn how they have evolved. I found it fascinating to know how many they are and how they reflect our humanity.