Hacktoberfest in Jenkins 2022
As November continues, we want to share some highlights from Hacktoberfest 2022! This year’s edition was incredibly busy with lots of interesting ideas, great work, new Jenkins contributors, and returning contributors. We want to thank all of the contributors and mentors for all of their hard work, as none of this would be possible without them.
Hacktoberfest is an event to highlight and celebrate open-source projects like Jenkins. The main idea of the event is contributing to and improving open-source software. People are invited to submit pull requests and engage with open-source software in a variety of ways, such as contributing to plugins, creating documentation, providing localization, and reviewing code. Many products and services are based on open-source software, so giving back in this way continues the cycle of development.
For Jenkins, Hacktoberfest is an opportunity to collaborate with and expand the community, while learning and sharing with all experience levels. These contributions are what keeps Jenkins moving forward, so having an opportunity to celebrate both the project and the people is amazing.
During October, the Jenkins project received 613 pull requests from 117 different contributors. All of these helped to improve Jenkins, create new resources, and meet the needs of Jenkins users. From these, 531 pull requests are completed, meaning they have been merged or flagged as "hacktoberfest-approved". They were submitted by 95 different contributors, with 42 participants qualifying for swag with Jenkins contributions alone! A total of 1,183 manually created pull requests were submitted during October in the jenkins-ci and jenkins-infra organizations. Overall, this appears to be a 10 to 15 percent increase in the average number of monthly submissions. With this in mind, we want to highlight some new and returning Jenkins contributors, including their experiences and advice for other users. These contributors were selected at random, as Hacktoberfest had such high levels of participation.
First, we’d like to share some insight from Jagruti Tiwari. Jagruti is based in Mumbai, India and active in various areas of open source. This immersion is the main component of her strategy to explore and learn new things. She is not afraid of challenges and have received assistance from the friendly, open-source communities. She is inspired by thought leaders such as Ankita Tripathi. Jagruti’s contributions to Jenkins during Hacktoberfest include documentation, code examples, and testing. She has also provided reviews for other community members, which supports the open-source spirit.
Next, we want to introduce Omkar Borhade from Pune, India. Omkar just started as a software engineer, after graduating as a Mechanical Engineer. He is new to open source, and this was his first time participating in Hacktoberfest. His goal was to become more familiar the Jenkins project. This was achieved by a lot of reading, approaching issues with an open mind, and providing documentation. As a new contributor, he shared that it can be difficult to understand the issue and what is needed for resolution. This knowledge comes with experience, so have some patience when getting started.
Kris Stern is a full-stack software engineer based out of Hong Kong SAR, China. He has previously trained as an observational astrophysicist with a PhD in physics, and is currently studying part-time for a master’s degree in computer science. This is his third Hacktoberfest, and first Hacktoberfest contributing to Jenkins. He has contributed to open source previously for astronomy, but shifted focus since graduating. His goals during Hacktoberfest were giving back to the Jenkins community and acquiring more software development skills along the way.
Jim Klimov is a regular Jenkins contributor. Jim is based in the Czech Republic, and has been working in open source for quite some time. He has worked on various enterprise document workflow and messaging systems, and is currently a DevOps architect. He is the creator and maintainer of several Jenkins plugins. Along with his own experience, he also learned a lot from previous contributors. Having this knowledge feels like standing on the shoulders of giants. This is his second Hacktoberfest in Jenkins, but Jim contributes all year round. Challenges that have come up for Jim include maintainability expectations to get pull requests merged, and architecture becoming more costly as time goes on.
Teona Mushambadze is another contributor who submitted work to Jenkins during Hacktoberfest. Teona created three new logos: Turkey, Georgia, and a Jenkins nerd themed logo. These logos help connect Jenkins to users globally and extend the community even further. She is a freelance developer, and this is her first time contributing to Jenkins in Hacktoberfest. Her motivation when starting was curiosity and learning more about open source. Through her contributions, she has learned how to work with someone else’s code. There have been challenges when new tools are installed, but don’t work as expected. However, these are learning experiences, as each one is an opportunity to understand what is causing the behavior.
Stefan Spieker is a solutions architect and DevOps engineer from Aachen, Germany. He has been participating in Hacktoberfest since 2019, with a strong focus on Jenkins core and plugin development. Hacktoberfest was the trigger to start participating, and Stefan has continued to contribute regularly. Stefan likes to contribute to open source in his free time and has found that there are always ways to improve. For Hacktoberfest, this included updating projects that still have spotbugs disabled and adopting a plugin to become a maintainer. Since he uses open-source software daily, especially in his professional life, Stefan embraces this by giving back as an OSS consumer. He is an advocate for others contributing to open source, and has encouraged colleagues to participate in any capacity they can. Stefan feels that the first pull request is always toughest, due to the challenges of setting up an initial environment and meeting approval expectations of a maintainer.
Kayla Altepeter is a senior engineer from Minneapolis, Minnesota and has been participating in Hacktoberfest since 2018. Despite having less bandwidth to dedicate to this year, Kayla shared the Hacktoberfest information with her colleagues. This resulted in another person contributing, which encouraged Kayla to participate in this year’s event. Open source is mission critical for her own fun projects and the projects built at work. Kayla contributes to Jenkins because Jenkins is how product code is delivered. She also shared that Jenkins maintainers have been responsive and helpful when it comes to creating, reviewing, and merging pull requests. This collaboration is a hallmark of open source and important to the continued progress of Jenkins.
The thrill you get from knowing that countless people are using something you built is something a swag can never match.
If an issue is too hard to solve at the moment, take a break from it and try out a different one.
Contributing to open source also gives a feeling of satisfaction that the projects you are contributing to are used by several people on this planet and your contributions are benefiting them in one way or another.
When you are new, it does feel scary and confusing. Patience is important in the beginning. Don’t be afraid to ask your doubts. Find good first issues that you are comfortable with.
Since, my all contributions for this Hacktoberfest were to Jenkins project, I would like to thank Jenkins and team to accepts my commits, guiding me in the resolution of issues and helping me to learn and grow by the means of the project.
For people hesitating, there is nothing to fear. Start with the easiest issues, and step after step it gets more fun. You will notice how you grow as a developer.
I think open source is important because besides its utility it is also a great way to organize knowledge and to build communities with a common set of interests or purposes.
Sometimes engaging in open source means tinkering with new tech and going at it alone. It is challenging at times but also tremendously rewarding.
Sometimes it is hard to get started, and it takes time and perseverance to make things work the way they are intended.
Find a project that interests you, with technologies or approaches you want to learn, go tinker, and post pull requests.
In any case, you would learn more about the world, project, yourself, interactions and patience.
Documentation is one area almost everyone can do better, and almost anyone can help improve. It is easy to overlook something as "apparent" after a decade of experience with a project when it is really non-trivial for a newcomer.
In case of Jenkins core, plugin or shared library contributions, keep in mind that Java IDEs like NetBeans or IDEA can be very helpful to step through the server sources with a debugger. Peppering code with temporary
printlnsonly goes so far, sometimes you will need real tools.
To those that hesitate: I encourage everyone to try it out. We have within Jenkins a great community, which tries to help so that the PR also gets merged eventually.
If you are afraid to contribute, find a repo with clear steps to remove that hurdle and just try to set it up locally. If you can do that, you can open a pull request and someone will probably offer to help if you get stuck. Finding orgs that have a good chat or helpful maintainers makes it easier.
Fixing a small bug that affects you is great because you know the issue.