Amr Hesham

I’m Amr Hesham (Known with username @AmrDeveloper), and I am working as a Compiler engineer, and today I’m writing about my way into Open Source…

Currently, I am the creator and maintainer of GitQL, LLQL, ClangQL, LinkHub, TurtleGraphics and some other nice projects, and I contribute almost daily to the LLVM foundation, especially in Clang, which is a C/C++ compiler and in the past, I contributed to other projects like Rust analyzer, CheckStyle, etc…

How did you get involved with Open Source?

My journey with open source started back in 2018 when I was learning computer science subjects on my own, and on each course project, I used to just take it one step forward to implement more features, document features and share them on Github.

After a while, I was searching for an Android UI library to create a reaction button similar to social media, for example, like LinkedIn and Facebook, to provide emojis and dialog once clicking on the like button, and then I found that many Android Developers have the same use case so i decided to design and implement my first library to cover this use case but with a lot of customization options and released as an open source library, i surprised by the good feedback, contributors, people send messages about how they used it in their project.

After that, I implemented more libraries and tools to solve use cases for Android developers, and I learned a lot of technical and non-technical skills during that time, but I found that I can continue experimenting and improving my libraries or …… I can contribute to other projects and learn from senior engineers who have built libraries for a long time, so I can contribute, learn and then contribute back to the community, then repeat the circle :D.

Now, 6 years forward, I am still doing the same circle every day, not only contributing to popular Compilers and tools but also creating my own languages and database engines that are used by around 100k users.

What’s Open Source to you?

For me, open source has a lot of benefits for everyone, but I would like to highlight one important part, which is providing an amazing way to learn and practice in real projects that are used by millions, maybe even billions of people, in a safe community with mentors who share their experience in a good way, for example whatever the subject that you are interested in you can take course or read a book about it thats essential but in my opinion that the best return on investment is to try to contribute in real project in that area and be a part of the community.

What are the main challenges you face as a maintainer?

Maintaining an open source project is interesting, but it also comes with some challenges, for example, managing time between your full-time job, your open source time and family time is tricky :D, also maintaining your motivation, managing the community and make it safe for everyone to share ideas and contribute and mentor new contributors.

What are some ways contributors can better support maintainers?

There are many ways to support the maintainers, such as contributing to the source code, documentation or in the community channels like Discord, also sharing ideas, reporting issues, reviewing code and sponsoring the project if you can.

What’s the impact of AI on Open Source development?

In my opinion, AI tools can help you to start contributing to the project in a faster way, for example, building and understanding parts of the project, so you can use it as another source of information, and you can also use LLM to get a quick code review locally before submitting your code.

What advice would you give to current and new maintainers?

It’s essential to maintain your motivation and organize your time, enjoying what you do and always remember why you started to create or maintain the project.

Read stories shared by other maintainers.
This story was published under CC BY-SA by the author.