코딩스토리

[후기] 2021 오픈소스 컨트리뷰션 아카데미 본문

활동 후기

[후기] 2021 오픈소스 컨트리뷰션 아카데미

kimtaehyun98 2022. 1. 3. 13:32

드디어 시험도 끝나고 시간도 생긴 김에

이번 학기에 참여했던 오픈소스 컨트리뷰션 아카데미 후기를 써보려고 합니다.

 

오픈소스 컨트리뷰션 아카데미가 어떤 활동인지가 궁금하다면 아래의 링크에 들어가 보는 걸 추천!

https://www.oss.kr/contribution_academy

 

공개SW 포털 - 공개SW 포털

공개SW 포털

www.oss.kr

 

오픈소스 컨트리뷰톤

 

 

저는 지인들의 추천으로 이 활동을 알게 되었습니다.

 

포스터와 모집 글들을 읽어본 뒤 든 마음은 "와.. 빡쎄다"와 "과연 내가 할 수 있을까?"였습니다.

 

아마 이 글을 읽는 대부분의 분들이 위와 같은 생각을 하고 있겠지만 저 역시 그랬습니다.

 

 

지원서 제출

 

 

지원 마감 하루 전 고민 고민 끝에 지원서를 작성해서 냈습니다.

 

저는 이 활동에 참여하기 전에는 Git을 전혀 쓸 줄 몰랐고 그냥 팀원이 시키는 대로 한 두 번 커밋해본 경험밖에 없었습니다. 

또한 제대로 된(규모 있는?) 프로젝트를 해본 적도 없었기에 지원서에 쓸 프로젝트 역시 없었습니다.

 

그래서 그냥 있는 그대로 솔직하게 왜 이 프로젝트를 지원했는지와 왜 컨트리뷰톤을 하고 싶은지를 중심으로 작성했습니다.

 

그리고 여기서 꿀팁! 😎

 

저는 지원서에 제 자신을 꾸미는 것보다 지원한 프로젝트에 대해 알아보는 것에 더 많은 시간을 썼습니다.

지원서에 해당 프로젝트를 "오픈소스를 오픈소스로 관리한다"라는 말을 적었었는데 첫 미팅 때 멘토님께서 이 부분이 인상 깊었다고 이야기해주시는 걸 들어보니 아마도 저 말 때문에 뽑힌 게 아닐까 싶더라고요^^

 

그렇게 해서 정말 운이 좋았던 것 같지만 해당 프로젝트에 멘티로 참가할 수 있게 되었습니다.

 

 

Challenges 프로그램

 

 

이번에 처음으로 Challenges 프로그램과 Masters 프로그램으로 나눠서 진행하였다고 합니다.

 

먼저 Challenges 과정을 통해 비교적 쉬운 수준의 컨트리뷰션 활동을 진행한 뒤 선별된 멘티들만 Masters 과정을 수행하는..

 

이때 당시에 처음 이 말을 듣고 진짜 무조건 Masters 과정 갈 거다라는 마음가짐으로 활동을 시작했던 것 같습니다.

 

오픈소스 관련 활동이기 때문에 당연히 모든 건 GitHub에서 시작해서 GitHub에서 끝나는 느낌적인 느낌?

 

다행히도 활동 시작 전에 OSS 측에서 GitHub 관련 강의를 진행해주셨고 이를 이틀 연속 열심히 수강했더니 정말 많은 도움이 되었습니다.

(진짜 이거 정말 큰 도움이 됐어요!)

 

 

개발환경 세팅

 

이제 Git도 좀 배웠겠다 본격적으로 프로젝트 개발 환경을 세팅하는데..!

역시나 프로젝트는 어마 무시했다.

이때까지 DB를 다뤄 본 적이 없던 코린이는 맨땅, 아니 시멘트 바닥에 삽질을 시작했습니다.

 

정말 많은 시도 끝에 개발 환경을 스스로 세팅하게 되었고 이러한 부분들을 팀원들에게 공유하면서 뿌듯함을 느낌!

https://nebulous-fountain-859.notion.site/FOSSLight-Intellij-efe19a76d1e34b6d9243dc7caa59bbd7 

 

FOSSLight - Intellij 개발 환경 구축

 

nebulous-fountain-859.notion.site

 

 

Challenges 기여 이슈들

 

첫 기여는 Typo 이슈였습니다.

어떤 팀원이 Typo 해결로 Pr이 머지되고, Contributor에 이름을 올리는 게 멋있었던 나머지 바로 Typo를 찾고 Pr을 날렸지만..

 

Commit이 꼬여있었습니다.

 

넵 맞아요. 망했어요.

 

심지어 멘토님께 날아온 Slack 메시지를 보기 전까지도 몰랐음..

 

이때 당시에는 branch란 개념을 잘 몰랐고 별로 중요한지도 몰랐는데

 

지금은 진짜 branch 없으면 못살아요

 

아직도 Git을 완벽히 다루진 못하지만 일단 branch 전략은 꼭 알고 가면 도움이 됩니다!

(모르면 저처럼 여러 번 코드를 날려먹어서 다시 치는 불상사가..)

 

 

어쨌든 이 외에도 여러 간단 간단한 Issue들을 해결해보며 Contributor에 이름을 남길 수 있었고,

 

진짜 Masters에 가겠다는 마음가짐으로 많은 시간을 쏟은 끝에 Masters 과정에 참여하는 멘티가 될 수 있었습니다~!

 

 

 

Masters 과정

 

솔직히 여기서부터가 진짜지 않았나 싶습니다..

 

물론 Challenges 과정처럼 작은 단위의 Issue들을 해결하며 기여하는 방법도 있었지만

욕심이 그득그득한 저는 참지 못하고..

 

Task 단위의 작업에 지원해서 작업을 하게 되었습니다.

 

제가 맡았던 Task는 "FOSSLight Report에서 지원하는 형식 확장"이었습니다.

 

말로만 봐도 뭔지 모르겠고, 저걸 내가 할 수 있을지 매우 매우 고민했지만 그래도 이런 경험을 꼭 해보고 싶었어서 결국 태스크 멤버로 지원했습니다.

 

1번의 오프라인 미팅을 제외하고 주에 2번씩 온라인 미팅을 통해 진행 상황을 공유하며 작업했고,

제가 맡았던 부분은 "SPDX Spreadsheet 형식을 Import 할 수 있게 만들기"였습니다.

 

여기서 자세한 내용을 다 언급하긴 어렵지만 (너무 TMI인 것 같아서..)

 

결론적으로 말하면

 

어렵고 힘들었지만 뿌듯했다!

 

남들보다 실력이 낮았기 때문에 남들보다 더 많은 시간을 투자하려 했고,

남들보다 더 많은 노력을 해서 어떻게든 성공시키려고 노력했습니다.

 

그 과정에서 멘토님들과 팀원들의 많은 도움이 있었고 이래서 환경이 정말 중요하구나를 느꼈습니다.

 

(컴멍을 좋아한다 했더니 멘토님이 그려준 그림!)

 

처음에는 답도 없어 보였던 것들이 하나둘씩 길이 보이기 시작했고 결국 요구사항에 만족하는 기능을 구현했습니다.

 

https://github.com/fosslight/fosslight/pull/184

 

Support Import SPDX Spreadsheet in SRC tab by kimtaehyun98 · Pull Request #184 · fosslight/fosslight

Support Import SPDX Spreadsheet in SRC Tab. 1) Column mapping for import SPDX Spreadsheet Do column mapping because of SPDX Spreadsheet column is different from that of Excel. Package Info - Pa...

github.com

 

이후에도 여러 번의 수정 작업과 기여를 통해 기능을 더 보충했고 다행히도 실제 프로젝트에 Merge 되는 영광을 누리게 되었습니다..!

 

 

후기

 

앞에는 굉장히 장황하게 썼는데 뒤로 갈수록 짧아졌네요..

 

처음에는 LGTM 한 번 받아 보고 활동을 마무리하는 게 목표였는데 여러 PR 들을 머지시키다니

정말 행복했습니다..

 

이 활동에 지원하기까지 많은 고민을 했었는데 그때 포기하지 않고 지원한 과거의 나 아주 칭찬해~😁

 

2021 오픈소스 컨트리뷰톤을 계기로 저의 개발 생활이 정말 많이 변했습니다.

 

이제는 어떤 프로젝트던 Git을 사용하는 게 편해졌고, 소통하고 협업하는 과정 역시 더욱 좋아졌습니다.

 

이 글을 보기 전까지도 지원할까 말까 고민하시고 있다면 일단 지원하는 걸 추천합니다! 

Comments