파이콘 스프린트 후기 : 오픈소스 기여PyCon Sprint Recap: Contributing to Open Source

파이콘 2024 스프린트에서 배운 오픈소스 기여에 대해서What I learned about open-source contribution at the PyCon 2024 sprint

written by tiaz0128

스프린트(Sprint) ?

파이콘이 끝나고 바로 다음 주말에 있을 스프린트 참가 메일이 왔습니다.

스프린트란?

스프린트는 오픈소스 프로젝트에 기여하고자 하는 사람들이 한자리에 모여 집중적으로 개발을 진행하는 행사입니다. 새로운 동료들과 만나 공통의 관심사를 나누고, 함께 오픈소스 생태계에 기여할 수 있는 좋은 기회입니다.

일단 처음 메일을 받고 눈에 들어오는 단어는 ‘오픈소스’와 ‘기여’ 였습니다. 일단 오픈소스는 쓰기만 했지, 기여에 대해서는 구체적인 방법도 잘 모르고 경험이 전무했습니다. 그래서 당연히 드는 생각이

“근데… 내가 할 수 있을까?”

오픈소스는 무섭다

> 오픈소스 기여...? 뭐야, 그거.. 무서워...

예비 리더 프로그램

메일에는 크게 두 가지 프로그램이 있었습니다.

  • 스프린트 : CPython / 나동희 ( Python Core Developer, 스프린트 리더)
  • 스프린트 예비 리더 프로그램 / 배권한 (Python Software Foundation 이사)

그 중에서 ‘예비 리더 프로그램’은 기여 방법을 잘 모르는 분, 마치 “그래 너. 거기 너” 라고 적혀 있는것 같았습니다.

스프린트 예비 리더 프로그램

기여 방법을 잘 모르는 분들을 위한 프로그램입니다. 특히, 한국 내에 메인테이너가 없는 프로젝트에 기여하고 싶은 분들을 위해 자체적으로 기여하는 방법을 함께 찾아보는 기회를 제공합니다. 기여 방법을 잘 모르는 경우에도 걱정 없이 참여할 수 있으며, 함께 고민하며 방법을 찾아가는 메타적인 성격의 프로그램입니다.

“그래? 할 수 있게 도와준다는 거지? ㅇㅋ 그럼 일단 신청 ㄱㄱ”

관심있는 오픈소스 있니?

신청 메일에 관심있는 오픈소스가 있으면 적어 달라고 써있었습니다. 그래서 잘 쓰고는 있는데, 원하는 기능이 없어서 좀 아쉬운 오픈소스가 제일 먼저 생각 났습니다. 일단 그거 하나 적고. 또 급하게 오픈소스 기여에 대해서 좀 찾아 봤슴죠.

“스타 몇 만개, 인기 오픈소스에 기여… 컨트리뷰터!”

그래 이거지! 누구나 다 아는 오픈소스에 한껀 해야 좀 있어보이지~ 이런 마음으로 하나 더 써봤습니다.

기여는 커리어가 아니다

이제 그 주 토요일에 스프린트에 가서 또 쭈뻣쭈뻣 앉아있었습니다. 먼저 기여라는게 어떤 것인지 이야기 해주셨습니다. 근데 제일 먼저 해주신 이야기를 듣고 좀 뜨금했습니다.

“기여는 커리어가 아니다.”

라는 이야기 부터 시작해서, 오픈소스는 다들 자원 봉사자들이며, 우리는 오히려 기여를 대단한 것이라 생각하고 너무 기여하지 않는다고. 쉬운 것부터 해도 좋다고.

다양한 기여 방법 : 이게 기여? 아니여?

“이런 간단하고 사소한 것들도 이게 기여가 맞아?” 하는 것들도 결론은 다 기여가 맞습니다.

실제 경험했던 기여 방법을 공유해 주시고 참여자 본인이 관심있는 오픈소스에 기여 할 수 있는 방법을 함께 찾아봐주셔 너무 좋았습니다!

  • 스폰서 하기
  • 문서 오타 수정 / 번역 작업
  • 버그 제보 / 픽스
  • 기능 추가 등등

사실 너무 많이 듣고 배워서 다 적지도 못하겠습니다. 어쨌든 중요한 것은 기여는 매우 작은것부터 시작된다. 일단 해보기!

기여 마인드셋

제가 참여한 ‘예비 리더’ 스프린트 프로그램은 오픈 소스 메인테이너가 있는 프로그램은 아니였습니다. 실제 스프린트는 메인테이너에게 바로 PR도 남기고 그 자리에서 피드백도 받을 수 있는, 매우 귀한 동기적인 경험이라고 생각이 듭니다.

하지만 우리가 경험하는 대부분의 오픈 소스 기여는 비동기적인 경험인 것 같습니다. 내가 리뷰를 받고 싶은 시간에 메인테이너는 가족들과 시간을 보내고 있을 수도 있겠죠.

결국 모든 것이 사람이 하기 때문에, 더 배려하고 기다리는 자세가 필요합니다. 오히려 그래서 더 좋은것 같다고 생각이 들더군요. 행동 하기 전에 한번 더 생각해 볼 수도 있고, 못하는 영어도 번역기 사용하고 다시 볼 시간이 있으니까!

마무리

처음 스프린트를 참여 하기 전에는 “내가 할 수 있을까?” 라는 마음이였다면, 스프린트가 끝나고 나서는 “오픈 소스 기여? 그래. 나도 할 수 있겠다.”라는 마음으로 변해 있었습니다. 저에게 스프린트는 오픈 소스를 좀 더 가깝게 해준 너무 좋은 경험이였습니다!

그리고 덕분에 저도 오픈소스에 기여를 시작했습니다. 😊

  • 파이썬 재단 후원 하기
  • 파이썬 한국 사용자 모임 후원 하기
  • 메인테이너 후원하기(buymeacoffee)
  • 내가 필요로 하던 기능에 기여하고 싶다고 말해보고 긍정적인 답변도 받고
  • 내가 할 수 있는 쉬운것 부터 PR도 만들어 보고!

PR > 오픈 소스? 일단 시작하자!

끝으로 스프린트에 생각 보다 많은 사람이 오지 않아서 아쉬웠습니다. 너무 좋은 경험이니 여러분들도 꼭 참여해 보시길 바랍니다!

파이, 코리

> 아싸! 귀여운 마스코트 파이&코리도 받아 가고!

후일담

2024-11-02

우선 메인테이너분께 커피 한잔 보내드리면서 PR에 대해서 이야기를 해보았고 실제로 제가 원하던 기능을 확인해주셨습니다!

2025-02-04

몇번의 시도 끝에 정말 간단한 PR이 승인되었습니다! 저의 첫번째 오픈소스 기여 입니다.😊 첫번째 PR부터 약 4개월이라는 시간이 걸린듯 합니다.

첫시작은 두려웠지만 정말 누구나 할 수 있고 다들 친절한 것을 배웠습니다. 저는 계속해서 오픈소스에 기여할 생각입니다. 감사합니다!

참고 문헌

Sprint?

Right after PyCon ended, I got an email inviting me to the sprint the following weekend.

What’s a Sprint?

A sprint is an event where people who want to contribute to open-source projects gather in one place and develop intensively. It’s a great opportunity to meet new peers, share common interests, and contribute to the open-source ecosystem together.

When I first got the email, the words that jumped out were “open source” and “contribute.” I’d only ever used open source; I had no idea how to actually contribute and zero experience doing it. So naturally, my first thought was:

“But… can I actually do this?”

Open source is scary

> Contributing to open source...? What's that... sounds scary...

The Pre-Leader Program

The email described two main programs.

  • Sprint : CPython / Donghee Na (Python Core Developer, sprint leader)
  • Sprint Pre-Leader Program / Kwonhan Bae (Python Software Foundation board member)

The “Pre-Leader Program” said it was for people who aren’t sure how to contribute — it felt like it was saying, “Yes, you. You right there.”

Sprint Pre-Leader Program

A program for people who aren’t sure how to contribute. In particular, for those who want to contribute to projects without a maintainer in Korea, it offers a chance to figure out together how to contribute on your own. You can join without worrying even if you don’t know how to contribute; it’s a meta-style program where we think it through and find the way together.

“Oh? So they’ll help me figure it out? OK, let’s sign up.”

Any Open Source You’re Interested In?

The sign-up email asked us to list any open-source projects we were interested in. The first thing that came to mind was an open-source project I use a lot but that’s missing a feature I want. I wrote that one down. Then I hurriedly did some reading on open-source contribution.

“Tens of thousands of stars, contributing to popular open source… contributor!”

Yes, that’s the stuff! I figured I’d look pretty impressive if I landed something in an open-source project everybody knows, so I added one more with that mindset.

Contribution Is Not a Career Move

That Saturday, I went to the sprint and sat there awkwardly again. First, they talked about what contributing actually means. But the very first thing they said made me flinch a little.

“Contribution is not a career move.”

Starting from that, they explained that everyone in open source is a volunteer, and that we tend to think of contributing as some grand thing and end up hardly contributing at all. It’s fine to start with the easy stuff.

Many Ways to Contribute: Does This Count?

Even the things that make you go, “Does something this simple and trivial really count as a contribution?” — the answer is yes, they all count.

It was great that they shared contribution methods from their own experience and helped each participant find ways to contribute to the open-source projects they cared about!

  • Sponsoring
  • Fixing typos in docs / translation
  • Reporting / fixing bugs
  • Adding features, and more

Honestly, I heard and learned so much that I can’t even write it all down. Anyway, the key point is that contribution starts with very small things. Just give it a try!

The Contribution Mindset

The “Pre-Leader” sprint program I joined didn’t have an open-source maintainer present. A real sprint, I think, is a rare synchronous experience where you can open a PR straight to the maintainer and get feedback on the spot.

But most of the open-source contribution we experience seems to be asynchronous. When you want a review, the maintainer might be spending time with their family.

In the end, everything is done by people, so you need to be considerate and patient. If anything, I came to think that’s actually a good thing. You get to think twice before you act, and you have time to run your shaky English through a translator and look it over again!

Wrapping Up

Before the sprint, my mindset was “Can I actually do this?” After it ended, it had changed to “Contributing to open source? Yeah, I can do this too.” For me, the sprint was a wonderful experience that brought open source a lot closer!

And thanks to it, I started contributing to open source too. 😊

  • Sponsoring the Python Software Foundation
  • Sponsoring the Python Korea User Group
  • Sponsoring a maintainer (buymeacoffee)
  • Saying I wanted to contribute a feature I needed, and getting a positive reply
  • Making PRs, starting with the easy things I can do!

PR > Open source? Let's just get started!

Finally, it was a shame that fewer people came to the sprint than I expected. It’s a fantastic experience, so I really hope you’ll join one too!

Pie and Kori

> Yes! I even got to take home the adorable mascots, Pie & Kori!

Afterword

2024-11-02

First, I sent the maintainer a cup of coffee and talked with them about a PR, and they actually confirmed the feature I wanted!

2025-02-04

After a few attempts, a really simple PR got approved! My first open-source contribution.😊 It took about four months from my first PR.

Starting out was scary, but I learned that truly anyone can do it and that everyone is kind. I plan to keep contributing to open source. Thank you!

References

insight seminar 파이콘

tiaz0128

Eat Sleep Coding.

Never Never GiveUp.

Security  |  BackEnd  |  Multi Cloud