In A Contributor’s Story series, our major open source contributors and community members give us insight into the projects they are working on, the successes and challenges they face when developing, and best practices for getting started in open source. For today’s blog post, we have Franklin Phan, a Hasher-Matcher-Actioner contributor working on issues and code efficiency through the MLH Fellowship. Let’s learn from them how we can start contributing to Hasher-Matcher-Actioner.
“I couldn't have worked with a better community than with my maintainer, Dipanjan, and my partner, Samyak, on Meta's HMA project. Meta's Internet Safety team is doing good work and I'm very proud to have contributed to a project that makes the internet a better place.”
My name is Franklin and I am a Computer Science graduate from Dominican University.
What excites me most about working on open source is that I get to contribute to things that I believe in, projects that are awesome and where I can genuinely make an impact through coding.
I am working with Meta’s Internet Safety team on their Hasher-Matcher-Actioner (HMA) project. The HMA project is a content moderation tool that uses similarity search in media to classify potentially dangerous images and other media types to reduce effort for human reviewers.
To be honest, I found out about the HMA project when MLH assigned me to them, but it's definitely a project that I would be proud to work on regardless. Almost everything I've done on this project is something I haven't really done in depth before. This involves learning AWS and AWS Lambdas, Terraform and Docker. All of my work on this project is a result of the things that I've learned during the Fellowship.
I have made plenty of mistakes along the way. The project maintainer, Dipanjan, was kind and took these as learning opportunities, which made us very comfortable when sharing, troubleshooting and asking questions to him. He assured us that it was okay to not know things. He taught us that learning is just recognizing mistakes and remembering how to deal with them. There's comfort in the idea that I could become a great software engineer if I just keep learning.
My maintainer, Dipanjan, as well as the AWS/Terraform and general Python documentation were a great help, along with the source code and its wikis.
I have merged multiple changes into the source code.
I learned that coding involves more conversing, thinking and planning out loud, rather than just programming. Development is a collaborative process and that is even important for open source. If you bond with your partners, your mentors and your community, the coding experience is more fun and the learning process is a lot more effective.
Open source is cool; therefore cool people work on it. The OS community is friendly and doing good work for the world.
Share your questions. It's the fastest way to learn, to understand and be understood.
We would like to thank Franklin for taking time to share their experiences with us. It was very interesting to learn about the process of contributing to open source and we would like to thank Franklin for their continuous contributions to the Meta Open Source ecosystem.
Open source at Meta is about more than just code. It's also about facilitating environments where collaborators from all backgrounds and experiences can come together to discuss ideas, foster innovation and work on projects together.
This blog is a part of A Contributor’s Story series where we hear from various contributors about their experiences contributing to the open source projects under the Meta Open Source ecosystem, how to get started, the challenges and successes faced when developing, and what excites them about open source. Look out for more blogs from A Contributor’s Story series where we learn about various other open source projects and how to start contributing to them.