본문 바로가기

IT/오픈소스 (Open Source)

[오픈소스] 삼성 오픈소스 컨트리뷰터뷰터 유일한 Master까지 (오픈소스 컨트리뷰션 후기)

반응형

서  론

2020년 7월 중순부터 시작한 오픈소스 컨트리뷰션으로 삼성의 ONE 프로젝트가 있었다.

 

 

Samsung/ONE

On-device Neural Engine. Contribute to Samsung/ONE development by creating an account on GitHub.

github.com

위는 해당 오픈소스 링크인데, 현재는 42개의 PR을 머지시킴으로 레포 내 18위 랭크를 달성했고,

SOS Masters 프로그램에서는 최고 레벨인 Master 레벨에 최초로 도달하는 경험을 하게 되었다.

반응형

(참고로 위 사진에서 나오는 것은 아직 필자가 업데이트를 안했다……. 어차피 홀로 마스터 레벨이기도 하고, 나중에 몰아서 업데이트 하는 맛도 있으니.)


시  작

첫 시작은 우연치 않게 온오프믹스에서 SOS Masters 참가 관련 이벤트를 보는 것부터 시작했다.

온오프믹스의 글은 언제 내려갈지 모르니 홈페이지 링크를 첨부한다.

 

 

Samsung Open Source

마스터즈 프로그램은 오픈소스 생태계를 활성화 하기 위한 프로그램입니다. 아래 마스터즈 룰을 잘 지켜주시기 바랍니다. 1. 커뮤니티 내 상호 존중을 지켜주세요. 2. toddler, walker, runner, master 는

opensource.samsung.com

위 사이트에 들어가면, 2020.12.06 기준 총 16개의 오픈소스가 삼성오픈소스(SOS) 생태계에 포함되어 있다.

필자가 현재도 참여하고 있는 ONE(온디바이스 AI 경량화 엔진)부터 시작해서 TLDroid(텐서플로우 라이트 온 안드로이드), rlottie 등등 여러 매력적인 프로젝트들이 포함되어 있는데,

 

안 그래도 임베디드AI 엔지니어로 실무를 이어나가던 차에 ONE이 가진 매력에 빠져 무작정 시작부터 했다.

 

물론 처음에는 무엇을 해야하는지, 어떻게 해야하는지 전혀 몰랐다.

필자가 아는 것이라곤 기본적인 CLI git 사용법과 Git Commit Rule 정도밖에 없었기 때문이었다.

 

다들 알다시피, 오픈소스는 무시무시한(?) 곳이다.

 

리누스 토르발즈의 리눅스 레포에서 이상한 PR(풀 리퀘스트 - 자신의 소스코드 개선을 반영해달라는 포스트)을 올리면 욕을 한사바리로 듣고 내쫓기게 되는 건 유명하다.

 

Tensorflow 레포에서 소스코드 중 오타를 찾았다? 그렇다고 해서 절대 기뻐하지 마라.

실제로 Tensorflow에서 나 또한 오타를 찾아서 기쁜 마음에 컨트리뷰션을 진행해보려 했지만, Issue란에서 찾아보니 이미 누군가가 그것을 시도했다가 메인테이너한테 "주석 오타 개선에 의해 개선되는 효용성에 비해 서버비용이 더 들어가니, 그런 사소한 것은 올리지 말아달라" 라는 부탁을 받기도 했다.

 

어떻게 보면 당연한 말이기도 하다.

Tensorflow, PyTorch 등 유명 레포지토리들은 그렇게 사소한 오타, 심지어 영어 문법 오류를 고쳐서라도 컨트리뷰터 목록에 들어가려고 안달인 사람들이 분명 있기에, 그런 것을 허락하면 발전이 없을 것이다.

 

하지만 반대로, 오픈소스란 초심자에게 있어 너무 큰 장벽 그 자체이다.

오픈소스의 메인테이너 및 컨트리뷰터들은 애당초 구글 사람, 페이스북 사람, 삼성 사람, 네이버 사람, 등등 너무 대단한 사람들이고,

그런 사람들이 작성한 코드에 내 코드를 올려도 되는 것일까?

 

올려도 된다.

 

거기에다가 아직 Samsung의 레포들은, 컨트리뷰터와 이용자 수가 적은 편에 속한다.

그렇기에 아직까지는 메인테이너와 컨트리뷰터들이 더 살갑게, 더 친절하게 프로세스를 알려주고 많은 피드백과 조언을 남겨준다.

 

그러니 오픈소스 개발을 해보고 싶은데, 엄두가 나지 않는 사람들은 위 링크에 들어가서 일단 시작해봐라.

 

재밌을 것이다.


SOS Masters

SOS Masters는 기본적으로, 본인이 올린 PR들과 커밋 목록을 기록해두는 일종의 명예의 전당과 같은 장치이다.

얼마나 많은 PR을 올렸고 Issue를 해결했는가에 따라 등급이 나뉘는데,


Toddler - 이제 갓 시작한 사람

Walker - PR을 5회 이상 시도해본 사람 (Merge 되고 말고는 중요치 않음)

Runner - Issue를 10건 이상 해결한 사람

Master - 고난이도 Issue를 30건 이상 해결한 사람


으로 나뉜다.

 

참고로 Master 등급에겐 아래와 같은 혜택이 주어진다.

 

- Masters프로그램이 진행하는 여러 행사에 강의

- Masters 운영 회의 참가 및 운영 제안   
- sos-masters Repo Maintainer 권한

- sos masters 홈페이지에 멘토로 등록

- sos companions가 여러분을 취재하고 기사를 발간할 계획도 존재

    (sos companions는 삼성에서 오픈소스 인플루언서로 성장시키기 위해 삼성에서 매해 뽑는 프로그램임.)

    (현재까지 발대식 종료. 1기 활동 중)

 

일단 필자는,

2020.07.23 : Toddler로 첫 참여   
2020.08.03 : SOS Masters 내 첫 Walker 레벨 달성
2020.08.14 : SOS Masters 내 첫 Runner 레벨 달성

2020.10.30 : SOS Masters 내 첫 Master 레벨 달성

 

을 했는데,

Runner 레벨 때 특전(?)으로 2020 SOSCON(Samsung Open Source CONference)에 SESSION 강연자로 초대받기도 했고,

Master 레벨 달성 이후 운영 회의에 참가하여 이런저런 이야기를 나눠보기도 했고, 실제로 홈페이지에 멘토로 등록되기도 했다.

그러니까 저기 쓰여있는 혜택은 일단 전부 주는 것을 직접 확인해보았다.

(물론 아직 여러 행사에서의 강의는 코로나19로 인해 불가능했다…….)


결  론

이 포스트에서 필자가 Samsung/ONE 프로젝트에서 오픈소스 컨트리뷰션을 직접 어떻게 했느냐, 도 다뤄볼까 했다가 포스트가 너무 길어져서 일단 끊었다.

그건 다음 포스팅에서 다뤄볼까한다.

 

요는 오픈소스, 해보고 싶다면 도전해보라는 것이다.

SOS Masters를 통할 경우 아직 초창기에다가 참여자를 모으는 와중이고, 여러 친절한 멘토들도 있기 때문에 친절한 피드백도 받을 수 있다.

 

앞으로 포스팅에서 오픈소스에 대해 다룰 일이 꽤 있을 것 같다.

오픈소스를 올릴 때의 프로세스는 어떻게 되는지, 이슈는 어떻게 해결하면 되는지, PR은 어떻게 올리는지 등등,

 

네카라쿠배당(네이버/카카오/라인/쿠팡/배달의민족/당근마켓), 삼전 현차 스크트(삼성전자/현대자동차/SKT) 등 유수의 대기업들이 채용에서 오픈소스 기여 경험자를 우대하는 세상이니만큼,

왜 그들은 오픈소스 개발 경험자를 선호하는지에 대해서도 심도 있게 알아볼 예정이다.

 

(아래는 대표적인 네이버의 채용 예시. 오픈소스 개발 경험자를 우대한다.)

…(중략)…


 

반응형