My contribution journey to the Yocto Project and OpenEmbedded
Exciting news to share! Today, I reached my 100th contribution which is a significant milestone in my journey with the Yocto Project and OpenEmbedded. While my contribution may not be groundbreaking, I wanted to share my experience in the hope of helping those who are new to open-source contributions.
First of all, I always had the desire of improving things and taking them to better places. That was the driving force that fueled my journey. Initially, I was using the Yocto Project in the projects I was involved in. At those times, I actually wanted to contribute but I always had this thought in my head: “I’m not that experienced, can I do it? Even if I could, what would be the importance of my small contributions?”. In the long run, I got over that and realized that these small contributions actually make a big impact. There aren’t too many contributors and core developers don’t have much free time to do these small things. Also, we can say big goals are achieved with small steps, right? Maybe there are people who have thought like me before or still thinking that way, I would like to say that the first step is always challenging but after that it gradually becomes more understandable and easier. Don’t forget, little drops of water make the mighty ocean!
As I stated above, making my first contribution took some time. During this initial phase, I found myself struggling with questions related to the steps of the patch submission process. At this important point, the Yocto Project’s documentations and a fellow who is one of the contributors played a significant role in guiding and getting me started. Thus, my adventure started. At first, I was just picking easy upgradeable recipes and working with them. As time goes, started to understand things better and work on slightly more complicated recipes. When you start working on recipes, encounter a problem and trying to solve it allows to gain knowledge while contributing at the same time. I think, that’s a priceless thing. In the future, I hope I will be able to contribute to the core structure of the Yocto Project. I would also like to mention a few things that played an important role in my progress:
✒ Googling and reading the Yocto Project’s documentations
One of the key role in improving your knowledge. If you are a newbie, it may take some time to understand some things in the beginning but if you stick with it, you can be sure that you will start to understand things better. Also, recommend that you take a look at Bootlin’s documentations and practice labs, which is one of the contributors to the Yocto Project.
✒ Reading Git log and mailing list
Suppose you are upgrading, updating or trying to fix something in a recipe and you encounter an error or warning. You can get help from IRC but if the answer you are looking for has already been in the git log or mailing list, you will be taking people’s valuable time. So, that’s why we should look at the Git log and mailing list firstly. Furthermore, I also think it might be useful to have a look at the daily commits, see what has been done and try to understand it. It will also help to improve your skills as well.
✒ Actively using IRC is a game changer. Why?
On IRC, you can chat with the Yocto Project development team and community. This is a good way to get immediate help or answers to quick questions. Don’t be shy or think that your question is unimportant. Sometimes you may not get an answer but it all depends on the time you ask the question. I highly recommend becoming a part of this friendly community. The members are not only knowledgeable but also respectful and helpful. It feels good to witness everyone’s helping each other and to be part of an environment where learning and growth develop together.
I would like to add one last thing before I end my speech. If you are using the Yocto Project and you have the same mindset like “what’s the meaning of my little contributions?” that I had before, I suggest you get over it and check out the bug triage page and look for the “newcomers” issues which are great opportunity for a newcomers to start learning on. In addition, you can ask your questions about bugs from mailing list or IRC. If you are new to the Yocto Project world and can’t find solutions to bugs, updating the documentations or making updates to recipes is a great way to start. Take small steps forward and remember that Rome was not built in a day.
In conclusion, this journey taught me how contributions can significantly impact the open-source ecosystem. The process which started with initial challenges, became more understandable over time. The challenges you face, the knowledges you gain and the insights you share, not only improve to personal growth but also help the success of the project and others. I’m sincerely grateful to the people I will mention below and the Yocto Project’s community, as this journey maybe wouldn’t have been the same without their helps. Last but not least, I invite everyone to join friendly and supportive environment of the Yocto Project’s community. If you have any question, feel free to reach me from IRC(alperak) or email.
Special thanks:
@Leon Anavi: At the beginning of my journey, Leon answered all my trivial questions. Helped and guided me to for my first contribution along the way. Leon has been an unwavering source of support throughout my journey.
@Ross Burton: Always patient and explanatory, I can’t remember any of my questions not being answered by Ross. When submitting a patch, people might say “do this or that” without any explanation but Ross always explains why it has to be done this way, what the consequences will be if it is not done this way.
@Khem Raj: Khem always responded to each of my questions, not only providing answers but also reassuring me that I was capable of overcoming challenges.
My contributions -> https://git.openembedded.org/meta-openembedded/log/?h=master-next&qt=author&q=alperyasinak1%40gmail.com
Contributer guide -> https://docs.yoctoproject.org/next/contributor-guide/submit-changes.html
Mailing lists and IRC channel -> https://www.yoctoproject.org/community/mailing-lists/
Bug triage -> https://wiki.yoctoproject.org/wiki/Bug_Triage
