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 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 got it: A healthy open source project is just as much about community as 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 cool to me, but I learned a lot 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 gets me excited about a project. Every contribution is a chance to learn something new, become a better developer, while I'm giving back to communities that care about solving big problems.
I 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 put it together. Communication is key, good documentation makes or breaks an open source project.
My favorite contributors 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 understand a project enough to carry the motivation behind it with your own work.
Please fix our typos. Developers make so many typos. If it doesn't break the executing code, I think we 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 make our documentation more inclusive and accessible, even better!
I wish I had understood how important it is to care about the project you are working on. The maintainers care, and that's why they stick around for their projects. It's not like every project is some abstract code either - some projects I 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 learned about the philosophy of open source from open science. When you are working on code that can be part of medical interventions, it's important to get that right. We ensure that code has as many eyes as possible on it, 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 not least the genius Michal Ramot. I learned a lot about what it 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.