Yunseok's Dev Blog

배운 것을 적는 블로그입니다.

스프린트 서울 참여 후기

한 일

스프린트 서울은 오프라인에서 모여서 오픈소스 프로젝트에대해 이슈를 찾아 해결하는 모임이다. 나는 RustPython에 참여하기로 했다. 블럭체인 코어 개발을 하면서 다른 프로젝트들은 Rust로 만들어진 것들이 많았는데 그래서 한 번 배워보고 싶었다. 처음에 프로젝트 깃헙에 들어가서 README대로 설치를 하고 테스트를 실행하였는데 테스트가 통과하지 못했다. 리눅스나 윈도우에서는 테스트가 통과하는데 맥 환경에서만 테스트가 실패한 것이었다. 그래서 이것부터 고치기로 하였다. 문제는 맥에서는 /tmp폴더가 심볼릭 링크여서 문제가 생긴것이었다. 이 사실도 처음알게되었고 그래서 테스트를 수정하였는데 이번에는 RustPython에 lstat이 구현되어 있지 않아서 문제가 있었다. CPython으로 실행했을 때는 문제가 없었다. 그래서 이것을 구현하려고 이것 저것 하다보니 주변에서 일단 하나라도 수정을 햇으니 풀리퀘스트를 보내라고 하셨다. 작업을 굉장히 작은 단위로 풀리퀘스트를 보내니 리뷰어도 보고 잠시 후에 머지를 해주었다. 단순히 머지가 아니라 감사하다는 말까지 있어서 굉장히 기분이 좋았다.

머지된 화면

좋았던 점

풀리퀘스트를 보내서 2개나 머지되었다. 심지어 나에게 고맙다고 멘션을 달았다. 이제 내가 공부를 어떻게 해야 할지 깨달았다. 단순히 언어를 책으로 공부하거나 여러가지 만들어 보느 것도 좋지만 실제로 오픈소스에 참여해서 하다보면 어쩔 수 없이 그 언어에 대해 알아야 하고 다른사람의 코드를 참고하면서 배워나갈 수 있다. 그리고 그 기록들은 영원히 남는다. 이럴수가 내가 공부한 것들이 스펙이 되다니. 대부분의 활동들은 내가 뭘 배웠는지에 대해 증명하기가 어렵다. 책모임에 참여했고 강의도 들었지만 이 것을 증명해야 한다. 물론 정리하면서 다시 한 번 공부하면 도움이 굉장히 될 것이다. 하지만 쉽지않다. 반면에 오프소스 참여는 자연스럽게 이것들이 이어진다. 그치만 이렇게 좋은 것을 참여하기 어려웠던 것은 어디서 시작할지 모르겠다는 것이다. 이슈가 굉장히 많고 풀리퀘스트도 많은데 내가 어떤 것 부터 시작해야하지? 정말 막막하다. 스프린트 서울에서는 지금 기여하고 있는 분들이 설정부터 뭐부터 시작하면 좋을지도 같이 고민해주시고 어떻게 시작해야하는지도 알려주셨다. 다음에 어떤 것을 고치면 좋은지도 다 알려주셨다. 바닥부터 시작했으면 정말 어려웠을 탠데 도와주셔서 쉽게 참여할 수 있어서 너무 좋았다.

아쉬웠던 점

Rust에 대해 잘 몰랐다. 일단 설치는 했지만 코드를 읽을 수 있어야 했는데 아무것도 모르는 상태로 갔다. 다음에는 좀더 익히고 참여하면 더 좋을 것 같다. Python에 대해 잘 몰랐다. 러스트만 배울려고 참여를 했었는데 사실 러스트로 파이썬을 만드느 것이니 파이썬도 어느정도 이해를 해야하는데 내가 잘 모르고 가서 아쉬웠다.
페어프로그래밍을 하지 못했다. 프로젝트가 크다보니 이해하기 어려운데 페어프로그래밍을 통해 배우고 나도 기여를 하고 싶었는데 그날 목표가 하나라도 좋으니 기여를 해보자였어서 못했던게 아쉬웠다.

소감

누군가를 돕는건 참 즐거운 일이다. 또한 다른사람들이 나를 도와주는 건 더 즐거운 일이다. 최근에는 이종립님의 블로그의 기여자가 되었다. 페이스북에 Latency의 관한 글을 쓰셨는데 읽다가 공백을 빠트리신 것을 발견했다. 정말 작은 실수지만 본인을 알아보기 힘들다. 하지만 나는 발견했고 바로 수정해서 풀 리퀘스트를 보냈고 머지해주셨다. 그리고 insight에 내 이름이 들어가 최초의 기여자가 되었고 스크린샷을 찍어서 내게 보내주셨다. 굉장히 기분이 좋았다. 기분이 좋을 뿐만 아니라 나도 공부를 하게되어 더욱 좋다. 앞으로 더 많이 참여 해야 겠다.

머지된 화면

할 일

오프소스프로젝트에 참여하겠다. 일단 관심있는 것은 RustPython과 marble이다. 여기에 참여해야겠다. 파이콘에서 스프린트를 또 진행하는데 RustPython을 한다고 한다. 이 때도 참여 할 예정이다.

Sources