As of October 1, 2023, LINE has been rebranded as LY Corporation. Visit the new blog of LY Corporation here: LY Corporation Tech Blog

Blog


Make your GitHub contributions calendar greener (featuring Armeria Sprint)!

Hi, there! Do any of you need to make lots and lots of commits to turn your GitHub contribution calendar into a pastureland? If that's the case, I proudly present Armeria Sprint! Let me give you some ideas on what Armeria Sprint is and share reviews from our enthusiastic participants.

You've probably come across a sprint at technical conferences such as PyCON Development Sprints before. Or, you might just find the term, sprint, familiar because it appears in Agile software development. You might still wonder, "What is an open source sprint anyway? What's up with Armeria Sprint?"

What is an open source sprint?

An open source sprint is a time dedicated for those who want to contribute to open source projects to come together and concentrate on coding. (Please refer to the previous posting to find more about open source contributions.) It could vary but sprints are usually scheduled as a one-day event where all participants meet up in the morning to decide who is doing what (among open issues) and spend the rest of the day "coding away".

There are usually two types of participants, mentors and mentees. Those who have contributed to the selected open source project before take up a mentor role while new comers with a lot of passion for the project are mentees. For the Armeria Sprint, we were honored to have our three Armeria maintainers as mentors.

What is a sprint for?

Even if you have passion for open source projects, the reality is that it is not always easy to find time for it. Or, sometimes you have so many questions about an open source project but you simply don't know where to find answers. Moreover, it is conventional wisdom that two are better than one. Open source sprints are an opportunity for those of you who have a heart for open source projects but could not find time in the past or for those of you who just want to give it a try for the first time.

New contributors and their contributions fuel the growth of the open source community, making it more vibrant. Even for mentors, when they interact and communicate with different participants, they will be able to understand what has been an entry barrier for new contributors.

Overview of Armeria Sprint

This year's Armeria Sprint was open to LINE developers only. We opened up only a few seats to achieve the optimum ratio of mentors to mentees.  Quite surprisingly, these seats were filled up in a flash with more applicants on the waiting list! This alone testified to fully charged passion of all applicants. What an enthusiasm! The Armeria Sprint was scheduled for two days: two hours of welcome session on the first day and four hours of development sprint on the second day.

Welcome session

The welcome session was kicked off with a brief introduction of all participants. After breaking the ice, the participants touched upon the following topics.

Must-reads before open source contribution

Contributing

This document explains how you can contribute to the Armeria project together with a set of rules to comply with when doing so. The summary of key points is provided under Checklist for your pull request. It can help you save time for code review.

Contributor License Agreement (CLA)

You might have seen this type of agreement before but considered it did not concern you. Open source projects usually ask you to sign the CLA before you start your contribution. The following bullet points summarize the content of the CLA (Note that it can vary by project.):

  • The purpose of the CLA is to protect the project and its contributors and users.
  • Signing the CLA will constitute an agreement to go open source on your contributions in the same terms as the Armeria project. 
  • Your contributions will be accepted as they are, and you will not be held accountable for any bug or flaw in your contributions.

Code of Conduct

Contributors are expected to follow the Code of Conduct, which provides a guideline to foster an open and welcoming environment. 

Task allocation

The main purpose of the welcome session was to decide on who is going to do what. First, the participants went through the good-first-issues with more detailed elaboration on each issue by the mentors. They explained about the background and history of each issue and relevant technical requirements and background knowledge to resolve the issue.

When you find an issue you want to work on, don't hesitate to leave a comment such as "I am working on this" or "I'll handle this issue" so that you don't redundantly work on the same issue with others.

Configuring development environment

After everyone picked an issue, they went step by step to set up the development environment (Check out Setting up your IDE).

The participants did a little activity while configuring development environment like "lay down your water bottle when you're done with fork & clone".

Sprint results

Here are the pull requests opened during the Armeria Sprint:

  • #1742 Allow using wildcards with RequestContextExportingAppender
  • #1743 Provide a way to create a client with an Endpoint rather than with a URI
  • #1744 Show armeria version in doc service
  • #1745 Enable to convert JSON format request to String
  • #1747 Introduce 'export-as-curl' button to a debug request window
Don't worry! Your "secret identity" is protected, Armeria Sprinters!
Keep those sticky fingers away from the precious laptops!

Reviews

Feedback from Armeria Sprint participants

  • I especially liked that there was someone I could easily reach out for questions. Moreover, everyone respected each other. I hope there will more opportunities like this so that I can overcome my hesitation toward open source projects.
  • Well, I think I was kind of "tricked by my mentor" because the issue I picked sounded much easier when he explained it. (LOL) Still, it was quite a positive experience for me to make contributions to an open source project.
  • If you are developer, you would have dreamt of open source contributions, at least once. It was a good start for me.
  • When I actually got to it, it was only a few lines of code. But, I had a lot to think about before making it happen.  
  • Mentors made open issues quite easy to understand, but it took some time for me to understand the existing code. If we were given an overall view on the code or structure of Armeria in advance, it could have been easier to approach the issue.
  • I've given it a few tries to contribute to open source projects in the past, but to no avail. This time, I could make it happen because there were mentors around for guidance.
  • My team is using Armeria. Even if I sometimes felt a need for new things, I was reluctant to make changes on my own. After this Sprint, I think I'll be able to take the initiative in making contributions. I'll study the code more to prepare myself.
  • I found it a little bit difficult to handle the issue. But, it was a good opportunity for me to learn the basics.
  • I was almost done, but we ran out of time before I could open a pull request. I'll finish it up and open a pull request soon. 

Feedback from Armeria Sprint mentors

  • To those who find it difficult to approach open source development, it all begins with leaving your problem solving ideas as a comment on the issue. Don't sweat it and ask questions! Your questions are a big help for us, too.
  • It was a great opportunity for me to realize that there were so many developers out there who were interested in open source development. I was very proud to serve as a mentor for this event. (Don't forget to star the repository!)
  • I was a little nervous because this was the first Sprint ever. But, all my worries were groundless. I'd like to thank all the participants for taking it so seriously. Even though the first Armeria Sprint is over for now, you can always leave a comment or a question on the GitHub and Slack.
  • We made a big progress by opening pull requests today. But, I dare say it's only a start. Your coding skills will evolve further through code reviews. Don't give up until your code is merged.
  • It was a very meaningful experience to meet up with contributors face to face. I wish there will be more events like this one.

Wrapping up

Thank you all for your hard work during the Armeria Sprint! We hope this was a time of mutual growth and everyone enjoyed the Sprint. We'll come back with a more rewarding event next time.

Before I go away, this was the first Sprint I've organized, and I'd like to express my gratitude to the authors of the following guides as they helped me to make my first-time Sprint a success: