Editor's Note: We're celebrating February 3rd, the day the term "Open Source" was first coined, as World Open Source Day here at Sonatype by recognizing our incredible maintainers and contributors, and the open source projects they support. Read all about Sal's journey below.
The first project I ever contributed to was Nipype in 2013, a workflow for neuroimaging with a lot of cool machine learning extensions. It’s officially the 11th biggest contributing Python contributor community in the world: brain nerds really love open source because it makes it much easier to share our scripts, our data and our findings freely.
My first contributions were pretty basic, I just just fixed up some old Python 2.7 code to Python 3. Later I got the skill and confidence to convert some old Matlab scripts to Python so they'd be freely usable without a paid license. I was lucky enough to meet most of the maintainers of that project when I went to my first Brainhack, a global effort to bring brain scientists together for open science. That's when I really got it: A healthy open source project is just as much about community as it is about code, and they taught me how to be a good digital citizen in open source.
I haven't contributed to that project in years, but even today those developers stay in touch. They've shown me that there are really, really good people on the other side of those pull requests, and we're all in this together to make the world a better place.
The first project I really engaged with as a maintainer was Chaos Tool Kit. I got involved because Chaos engineering was just incredibly cool to me, but I learned a ton about software telemetry in the process. I also got the chance to train a few early career engineers into our contributing community, and one of them gave a talk on their own first contribution to open source at All Day DevOps this year!
Now, I'm just starting to jump into CycloneDX, where I can bring my minor obsession with telemetry/observability and my major love of machine learning together in new and cool ways. It's a space where I've got some value to give from my domain knowledge, but I've a lot more to learn from getting engaged, and that's what really gets me excited about a project. Every contribution is a chance to learn something new, to become a better developer while I’m giving back to communities that care about solving big problems.
I really wish people spent more time contributing meaningfully to open source project roadmaps. It's one thing to ask for a feature, it's another thing entirely to help a maintainer understand how they might go about putting it together. Communication is key, good documentation makes or breaks an open source project.
My favorite contributors really understand the motivation behind a project, well enough to know when a potential feature request is out of scope of what a maintainer might want to put their time towards. Every feature takes time, not just to build but to maintain afterwards. If you want to make a big feature ask, consider becoming a maintainer of that aspect of the code yourself! That's usually how contributors become maintainers, after you really understand a project enough to carry the motivation behind it forward with your own work.
Please go fix our typos. Developers make so many typos. If it doesn't break the executing code, I think we just forget to ever go back and clean up our documentation. Honestly, the second my code runs, I run away from my computer, and sometimes my documentation is so bad even I can't follow it later. I know I'm not alone there. If you can help us to make our documentation more inclusive and accessible, even better!
I wish I had understood how important it is to really care about the project you are working on. The maintainers really care, and that's why they stick around for their projects. It's not like every project is some abstract code either - some of the projects that I particularly love are actually around the language restoration for indigenous people, where we digitize the sounds and words of living elders so we can keep those stories alive on the open web.
I really learned about the philosophy of open source from open science. When you are working on code that can be a part of medical interventions, it's important to get that right, so we make sure that code can have as many eyes on it as possible by making them openly available for anyone to contribute. We need people from all backgrounds to make that work: scientists, doctors and developers working together from around the world. Open source is the only way to do that.
I learned about the philosophy of open source from my fellow brain nerds Cameron Craddock, Yaroslav Halchenko, Greg Kair and last but absolutely not least the genius Michal Ramot. I learned a ton about what it really means to be a modern maintainer from Sylvain Hellegouarch and Russ Miles working on the Chaos Tool Kit project. Now, I'm pulling from the developer wisdom of Jeffry Hesse, Paul Horton and Dan Rollo here at Sonatype, and I’ve got so much more to learn!