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 Jonathan Warner, a HHVM contributor working on issues and code efficiency through the MLH Fellowship. Let’s learn from them how we can start contributing to HHVM.
“Working on HHVM/Hack was an amazing opportunity. The project's awesome maintainers helped me make my first open source contributions, and guided me to become a better problem solver and hacker.”
I'm a UI Engineer from Harrisonburg, VA. I enjoy toying with CSS and building full-stack web apps.
What excited me the most about working on open source is being able to make a positive impact on software while working with absolutely brilliant people. The maintainers that I have worked with on this project have been absolutely fantastic.
I am currently working on the HHVM/Hack project. Hack is Meta’s language derived from PHP to support their products, and HHVM is a virtual machine for executing programs that are written in Hack.
I learned about this project through the Major League Hacking Fellowship. Through this fellowship I have had the privilege to work with the project maintainers and contribute to the project with their support.
When I first started working on the project I hadn't written a single line of OCaml in my life, and I had only the faintest idea what a functional programming language was. This was a huge challenge up front, and I had no idea where to get started. The project maintainers recommended a book called Real World OCaml, which turned out to be invaluable. I am not a huge fan of programming books, and tried my best to avoid reading the book. Given that there are few online resources for OCaml, I was really struggling. After reading through the getting started guide in the book and asking questions about things I was unsure of, I was a lot more successful.
The HHVM/Hack project maintainers are absolutely awesome. They have been so helpful, responsive, and are brilliant. If you are looking to enter this space, check out the book Real World OCaml which is available for free online. The getting started guided tour in this book was so helpful in getting me started with OCaml.
My work on the Hack project has primarily consisted of writing quickfix functionality for programmers writing Hack. I've written a few fixes that have been merged and are actively making Hack developers more efficient.
Throughout my work on this project I've gone from knowing zero OCaml to understanding it better and really enjoying working with it. I've also had the chance to learn more in depth about how the Hack programming language works behind the scenes. Being able to contribute to the project and see that my code is being used by other developers is really exciting.
For me, the barrier of entry into open source was pretty high, but the community is generally full of people who really want to help you contribute in any way they can, and successfully getting your code merged into a project is a really good feeling.
Don't hesitate to ask questions! So many times I was so close to a solution, but was missing a critical piece of info. Asking good questions is an important skill that will save time and make you a better programmer.
We would like to thank Jonathan 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 Jonathan for their continuous contributions to the Meta Open Source ecosystem. If you’re interested to learn more about Jonathan’s work, follow them on LinkedIn.
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.