오픈소스에 기여해보는 경험이 필요한 이유
이틀간 진행되었던 2021 오픈소스 컨트리뷰션 지역 스프린트에 Azure 클라우드 오픈소스 SDK 팀으로 참여했습니다.
이번 스프린트에서는 총 5개의 프로젝트가 있었는데, 제가 이 중 Azure SDK 팀에 참가한 이유는 “클라우드 개발자”로 성장하고 싶은 목표가 있기 때문입니다. 또한 Azure SDK 오픈소스에 실제로 기여해보면서 Azure 환경을 제대로 경험해보고 싶다는 생각도 있었습니다.
신기한 협업 환경 구축하기
코로나로 인해 지금까지 진행한 프로젝트는 모두 비대면으로 했었기 때문에, 이렇게 직접 만나 모여서 개발을 진행하게 된 것은 정말 처음이었습니다. 대면이지만 각자 노트북이 있음을 100%로 활용할 수 있는 협업 환경을 먼저 구축하고 본격적인 시작을 했었습니다. 이때 사용한 프로그램은 총 2개로, Microsoft Teams와 Opendev Etherpad를 사용했습니다.
Teams로는 각자의 노트북 화면 공유를, Etherpad로는 진행 사항에 변화가 있을 때마다 세부 내용을 정리했었습니다. Teams는 다른 행사 등에서도 활용되었기 때문에 익숙했었는데, Etherpad는 정말 재미있는 툴이었습니다. 구글 문서처럼 여러 사람과도 동시에 한 문서를 수정할 수 있고 누가 적었는지도 색으로 직관적으로 확인이 가능했습니다. 무엇보다 구글 문서보다 동기화가 조금 더 빠른 것처럼 느껴져서 정말 같이 큰 보드를 두고 공유하는 느낌이 들었습니다.
이 두 가지 프로그램을 활용해 대면의 장점과 비대면의 장점을 합친 협업을 할 수 있었던 거 같습니다. 다음에 대면으로 모여서 코딩을 하게 된다면 이렇게 구축하고 시작하면 좋겠다는 생각이 들었습니다.
Git 명령어와 더 친해지기
평소에도 Github을 잘 쓰고 있어서 커밋을 할 때 문제가 없을 줄 알았는데, 의외로 Git 명령어와 아직 덜 친해졌다는 걸 깨달을 수 있었습니다.
잘못된 PR을 날렸는데 이때는 어떻게 해결해야 하는지, 불필요한 정보가 포함된 커밋은 어떻게 삭제하는지,
커밋 메세지는 어떤 식으로 작성하면 가장 좋은지, 실제로 맞닥뜨릴 법한 상황에서 멘토님과 함께 Git 명령어를 실행해보면서
어떻게 해결하면 가장 좋을지를 고민해보았습니다.
(이때 history
가 복습에 도움이 되었습니다.)
이런 과정에서 이슈 탭과 브랜치 활용에도 더 익숙해질 수 있었던 의미있는 시간이었습니다.
*이번 프로젝트에서 Git 명령어와 씨름하며 기여했던 레파지토리는 이렇게 두 개였습니다.
특히 두 번째 레파지토리를 작업할 때에 모든 팀원이 Azure를 이용해서 같은 환경을 먼저 빌드하고 진행했었습니다. 이때 VSC와 SSH 접속 확장팩으로 클라우드 서버를 사용하지만 마치 로컬에서 진행하는 것처럼 굉장히 편하게 개발을 할 수 있었습니다.
오픈소스에 기여한다는 것
Qiskit 커뮤니티에 있으면서도 느꼈던 점이지만 오픈소스 레파지토리에는 정말 다양한 이슈들이 존재합니다. 그런 이슈를 확인해보면서 관심있는 기술에 더 공부할 수 있는 계기가 되기도 하고, 또 더 나아가서 해당 기술에 직접 내 코드를 기여할 수도 있을 것입니다.
저도 Qiskit이라는 오픈소스에 관심을 가지게 되면서, 해커톤에 참여해서 상도 받아보고 다양한 곳에서 제 경험을 나눌 수도 있었습니다. 오픈소스에 “기여”한다는 게 너무 무거운 주제같다면 오픈소스랑 먼저 각자의 방식으로 친해져보는 건 어떨까요? 실제로 실행해보는 편이 좋다면 토이 프로젝트를, 어떤 오픈소스인지 먼저 문서로 파악하고 싶다면 공식 Docs 번역에 기여하는 등의 방법도 있습니다. 생각보다 다양한 방법으로 오픈소스랑 친해질 수 있으니 각자에게 맞는 방법으로 시작해보면 좋을 거 같습니다. 아직 저도 많은 기여를 해보지는 못했지만, 오픈소스가 없었더라면 얻지 못했을 기회들을 많이 만날 수 있었습니다. 이번 스프린트를 통해서도 새롭게 배울 수 있었던 게 많았듯이 말이죠.
끝으로, 이틀간 프로젝트를 잘 리딩해주신 최영락 멘토님과 박경훈 멘토님, 그리고 프로젝트에 쭉 집중할 수 있게 계속 서포트 해주셨던 운영진 분들께 이 글을 통해 감사 인사를 남깁니다.
게더타운에서 새벽 코딩했던 건 정말 잊을 수 없을 거 같습니다. 😇
💬 Any comments and suggestions will be appreciated.
Leave a comment