2020년 한 해 동안 방구석에서 온라인 오픈소스 컨퍼런스에 참가한 후기

‘코로나의 해’라고 기억될 2020년이 이제 저물어 갑니다. 셀 수 없이 많은 어려움과 불편함이 있었지만, 소소한 위로의 차원이랄까요. 올해에는 특별히 이전에는 경험하기 어려웠던 것을 아주 손쉽게 경험할 수 있었습니다. 바로 온라인 컨퍼런스입니다. 사회생활을 처음 시작할 때 제가 그랬듯 많은 사람들이 해외 컨퍼런스 참석을 하나의 로망으로 꼽으셨을 텐데요. 실제로 해외 컨퍼런스를 경험하기 위해서는 짧게는 한두 시간에서 길게는 스무 시간이나 되는 비행을 거쳐야 하는 등 여간 노력이 드는 것이 아닙니다. 문득 아침 키노트를 들으며 필사적으로 시차와 싸웠던 제 모습이 생각나네요. 하지만 올해에는 집에서 편하게, 게다가 대부분 무료로 참가가 가능했습니다.

LINE에서 오픈소스를 담당하면서 개발자 이외의 시각으로 오픈소스를 다루기 위해선 여러 가지 노하우가 필요했습니다. 그중에서 제가 부족하다고 느꼈던 주제들을 어떻게 알았는지(?) 여러 컨퍼런스에서 다루었습니다. 그래서 이번 블로그 글에서는 오픈소스와 제가 속한 Developer Relations 팀과 관련해 제가 인상 깊게 들었던 세션들을 소개하고 그로부터 배웠던 점을 요약하려고 합니다. 그리고 오픈소스 담당자로서 배운 내용을 어떻게 적용할지에 대해서도 살짝 덧붙이겠습니다.

 

DevRelCon Earth

DevRelCon은 매년 샌프란시스코와 런던, 도쿄에서 열리던 컨퍼런스였는데요. 올해에는 국가 간의 경계를 허물고 개최 범위를 ‘Earth’라고 특정한 것이 참 재치 있었습니다. 또 한 가지 흥미로웠던 부분은, 며칠 이내로 끝나는 일반적인 컨퍼런스와는 달리 무려 5주 동안 매주 화요일과 목요일에 행사가 이어졌다는 점입니다. 며칠씩 걸러서 세션들을 들으니 피로감도 덜하고 집중도 잘 되었습니다.

 

Keynote: Community and Empathy(Sarah Novotny / Azure)

키노트에서는 COVID-19 상황에서 Developer Relations 업무를 담당하는 사람들이 어디에 집중해야 할지에 대해서 이야기했습니다. 또한 Developer Relations 업무를 하지 않는 사람들에게도 동기 부여가 될 수 있는 내용도 있었습니다.

  • Developer Relations 업무를 담당하는 사람들에게 하는 조언:
    • 항상 새로운 시각을 찾아야 한다. 밖으로 나가서 배우고 성장하고 가르치자.
    • 정말로 무엇이 중요한지 측정하는 것이 중요하다. 뭘 하고 싶은지 명확히 파악하고 그 결과를 정확히 측정하자.
    • 이 새로운 상황에서 할 수 있는 것은 집에 머무는 것이다. 집에서 계속 새로운 기술을 습득해 보자.
    • 주목받지 않는 일을 기꺼이 해야 한다. 남들을 더 많이 내세우고 뒤에서 묵묵히 그들을 빛내는 일을 하자.
    • 우리는 계속해서 배우고 공감하는 능력을 키워야 한다.
  • 공감에 대한 조언:
    • 다른 사람의 입장에서 생각하는 것이 정말 중요하다. 현재 당신에게 시간이 있고 공감할 수 있다는 것을 보여주자.
    • 텍스트는 톤을 전달하는 데에는 끔찍한 수단이다. 누군가가 나의 메시지에 답장을 하지 않았을 때 금세 초조해진 경험이 있을 것이다. 내가 톤을 잘 이해했는지 계속해서 확인하고, 다른 사람의 톤을 과장해서 해석하지 않도록 주의하자.
    • 리서치에 따르면 한 번의 부정적인 경험을 극복하기 위해서는 평균 다섯 번의 긍정적인 경험이 필요했다고 한다. 그냥 고맙다고 말하는 것으로 동기를 부여할 수도 있겠지만, 좀 더 확실한 긍정의 표현으로 다른 사람을 격려하자.

저는 위 조언들에 공감이 많이 갔습니다. 그동안 Developer Relations 일을 하면서 많은 고민과 실수를 겪은 부분이기 때문인데요. 어디에도 정답이 있지 않은 일이 많다 보니 때로는 갈피를 잡지 못하고 이리저리 흔들릴 때도 있었습니다. 이번 키노트에서 가장 좋았던 부분은 먼저 겪어본 선배의 경험(역시 정답은 없습니다만)을 들어보면서 그들은 어디에 높은 가치를 두고 있으며 얼마나 열정적으로 업무에 임하고 있는지 엿볼 수 있었던 점입니다. 돌아보면 저는 다양한 분야에 호기심이 많아 여러 가지 시도를 해보았는데요. 그 시도들을 묶을 수 있는 어떤 하나의 공통 목표나 시도의 결과를 무엇으로 어떻게 측정할지에 대해서는 정하지 않았다는 것을 깨닫게 되었습니다. 이때부터 저는 측정(metric)이라는 주제를 다루는 세션을 많이 찾아서 듣게 되었습니다. 

이 세션을 듣던 당시는 재택근무를 시작한 지 4개월 정도 되었을 무렵이었습니다. 매일 보던 동료들과 얼굴을 보지 않고 일을 하니 마음의 거리도 멀게 느껴지곤 했는데요. 이번 세션을 들으면서 조금 더 솔직하게 멀어진 마음에 대한 아쉬움을 표현할 수 있었습니다. 반면 특수한 상황 때문에 이전보다 더욱 특별해진 관계도 있었습니다. LINE에서 글로벌 동료들과 협업할 때 작년까지는 출장을 통해 얼굴을 마주하고 이야기할 수 있는 기회가 있었습니다. 그런데 올해에는 거의 대부분을 비대면 커뮤니케이션으로 진행할 수밖에 없었는데요. 그러다 보니 오히려 해외에 있는 동료들을 더 배려하게 되고, 동료들 역시 더욱 상세하게 내용을 공유하며 저를 배려해 주는 경험을 했습니다. 

Developer Relations 일을 하는 사람들이 가져야 할 태도에 대해서 이야기한 이번 키노트는, 재택근무가 일상이 된 상황에서 큰 격려가 되고 공감이 되었습니다.  

 

Handbook for Successful Online Open Source Sprints(Cheuk Ho / TerminusDB, Tania Allard / Microsoft)

이 세션에서는 COVID-19 상황에서도 포기하지 않고 성공적으로 온라인 오픈소스 스프린트를 개최한 경험을 소개했는데요. 그중에서도 특히 어떤 어려움이 있었고 그 어려움을 해결한 방안은 무엇이었는지 중점적으로 이야기했습니다.

ChallengesSolution
참가자들(멘토와 멘티)의 국적에 제한이 없어졌다.24시간 동안 3개의 이벤트를 연달아 진행했다. 지구 전체 타임존을 지원하는 유일한 방법이었다.
사람들이 분산되어 있어 멘토와 멘티를 연결하기 위해 중앙화가 필요했다. 또한 참가자들이 온라인 공간에서도 안전하다고 느낄 수 있어야 했다.개인의 안전을 위해 개인 간의 텍스트 채팅을 제한했다. 모든 대화에는 운영진이 꼭 포함되었다. 텍스트보다는 음성 대화가 더욱 유대감을 일으킨다고 판단했기 때문에 멘토-멘티 간의 대화는 음성으로만 주고받도록 했다.
도움이 필요한 사람이 있을 것이다.헬프 데스크를 24시간 운영했다. 사소한 이슈도 물어볼 수 있도록 최대한 친근감을 표현했다. 행사가 시작되기 전에 멘토 대상과 멘티 대상 워크숍을 따로 진행해서 운영진들이 도움을 줄 수 있는 부분을 미리 알리고, 행사의 상세한 부분을 안내했다.
집이라는 환경에서 사람들이 집중을 잘 못할 수도 있다.어떤 이벤트(풀 리퀘스트(pull request)를 새로 만들거나 버그를 발견하는 등)가 있을 때마다 축하하는 봇을 만들어서 지속적으로 관심을 끌도록 했다.
사람들이 이 낯선 행사에 참여하도록 동기를 부여해야 한다.멘토에게는 자신이 참여하고 있는 오픈소스 프로젝트의 성장이 가장 큰 원동력이 될 것이고, 멘티에게는 오픈소스에 기여해서 자신이 성장하고 싶다는 마음이 가장 큰 원동력이 될 것이라고 생각한다. 이 부분을 행사를 기획하면서 염두에 두었다.

이런 모든 고민들을 담아 스프린트 운영진을 위한 Code of Conduct를 제작했다고 합니다. 아직 미완성인 부분도 있지만, 꼭 스프린트가 아니더라도 온라인 컨퍼런스를 개최할 때 큰 도움이 될 것 같습니다. 만약 LINE에서도 오픈소스 스프린트를 온라인으로 진행하게 된다면 이 핸드북을 꼭 다시 살펴봐야겠습니다.

 

Baby steps for Metrics (Jason ST-CYR / Sitecore)

이 세션에서는 지표를 전혀 추적하고 있지 않은 사람들을 위해서 지표는 왜 필요한지, 그리고 어떤 지표를 측정할 수 있는지에 대한 기초적인 부분을 이야기했습니다.

  • 작은 것부터 세기 시작하라.
    • 가장 먼저 해야 할 일은 바로 우리가 누구를 도와야 하는지를 정리하는 것이다. 도와야 할 대상을 선정하면 그들이 중요하게 여기는 것이 무엇인지 알 수 있다. 그 지표를 세어라.
    • 일단 무엇인가를 세기 시작했다는 것은 이후에 추적이 가능해진다는 것을 의미한다. 
  • 수집한 것을 분석하라.
    • 쉽게 확인할 수 있는 것은 사람들의 방문, 시청 등 사람들의 관심을 끄는 것을 세는 것이다(eyeball tracking).
      • 비디오 시청 수, 구독자 수, 블로그 방문자 수, JavaScript NPM 다운로드 수, Slack 채널 성장 등 
    • 시간의 경과에 따른 수치를 비교하라. 
    • 월별로 그래프를 그려보고 트렌드를 파악하라. 
  • 어떤 것이 인기 있는지 보아라.
    • 그동안 추적한 것들 중에서 효과가 좋았던 것을 찾아보고 패턴을 분석하라.
    • 예를 들면 ‘비디오를 더 많이 만들었더니 구독자 증가율이 늘었다!’라는 것과 같이 인기 있는 것을 포착하라. 
  • 이야기를 만들어라. 
    • 진짜 어떤 상황인지 정확하게 파악할 수는 없다. 그렇지만 데이터가 있다면 사람들이 어떤 생각을 하고 있는지 이야기를 만들 수 있다. 
    • 만약 어떤 지표가 하락한다면? 그렇다고 그만두지 말자. 왜 하락하는지 이야기를 만들어 보자. 
    • 사람들은 실수하기 싫어한다. 그래서 데이터가 중요하다. 신뢰를 얻을 수 있기 때문이다. 
  • 단순한 숫자의 나열이 중요한 것이 아니라는 것을 명심하라. 우리가 사람들을 돕고 싶어서 이야기를 만든다는 것을 기억하라. 

저는 LINE에서 오픈소스를 운영하기 전까지는 마케팅과 전혀 가까운 사이가 아니었습니다. 그저 라이선스를 해석하고 이해하거나 엔지니어의 관점으로 오픈소스에 접근했던 것 같은데요. 점차 오픈소스가 커뮤니티 친화적인, 성숙한 오픈소스로 거듭나기 위해서는 지표를 추적하는 것이 중요하다는 것을 깨닫게 되었습니다. 한정된 자원으로 불특정 다수를 대상으로 어떤 활동을 했을 때, 최대한 큰 효과를 볼 수 있는 일을 하고 싶었기 때문입니다. 하지만 오픈소스를 운영하면서 셀 수 있는 지표가 너무나도 많았기 때문에, 역설적으로 지표를 추적하는 일은 손을 대기 어려운 부분 중 하나였습니다. 부끄럽게도 ‘만약 내가 어떤 지표를 추적하느라 시간을 쏟았는데 알고 보니 내가 확인하고 싶은 결과를 보기 위해서는 다른 지표를 추적해야 했다면 어떡하지?’라는 걱정을 하면서요. 이번 세션을 듣고 나니, 작은 시작이 나중에는 큰 이야기가 될 씨앗이 될 것이라고 생각을 고치게 되었습니다. 또한 특히 오픈소스에서는 지표를 왜 추적해야 하는지 더욱 깊이 고민해 보는 계기가 되었습니다. 다음은 오픈소스와 관련된 지표들을 알아보면서 제가 참고한 곳입니다. 독자분들께도 도움이 되길 바라며 첨부해 둡니다.

 

Google Open Source Live – The new open source: Leadership, contributions and sustainability

Google은 오픈소스와 관련한 다양한 시도를 보여주는 기업 중 하나입니다. 그만큼 오픈소스와 관련된 일을 하는 직원들도 많은 것으로 알고 있는데요. 2020년에는 Google의 오픈소스와 관련한 웨비나 시리즈를 시작했습니다. 저는 첫 번째 웨비나에 참석했습니다. 

 

Be the leader you want in OSS (Megan Byrd-Sanicki / Google)

이 세션에서는 오픈소스 커뮤니티 안에서 가져야 할 올바른 리더십에 대해서 이야기했습니다. 꼭 오픈소스를 이끄는 사람뿐 아니라 오픈소스에 참여하는 모든 사람이 가져야 할 리더십에 대한 내용입니다.

  • 리더십은 타이틀이나 역할도 아니고 사람들에게 규칙을 따르게 하거나 어떤 일을 하게 하는 것이 아니다. 
  • 리더가 하는 일은 비전을 그리고, 비전을 명확한 전략으로 바꾸고, 사람들을 모으거나 팀을 구성하고, 측정 가능한 결과에 집중하는 일이다. 
  • 리더는 감성 지능(emotional intelligence)에 민감해야 한다. 
    • 내 감정을 정확하게 알고(self-awarness, ‘내가 왜 짜증이 나지?’라고 생각하는 것), 감정을 조절하는 것(self-regulation, ‘내가 이런 경우에는 화가 나는구나. 조정해야겠다.’라고 생각하는 것).
  • 사람은 대면 커뮤니케이션에 익숙해져 있는데 오픈소스에서는 온라인 커뮤니케이션에 익숙해져야 한다. 커뮤니케이션할 때 눈을 맞추지 않는 것은 공감을 저하시키기 때문에 온라인 커뮤니케이션은 부정적인 어조로 읽히는 경향이 있다. 이 점을 인지하고 다음 팁을 참고하자. 
    • 10을 세고 다시 읽어본다.
    • 응답하지만 감정적인 반응은 하지 않는다.
    • 대화를 끊는 것이 아니라 “그렇네요~ 그리고 이런 접근은 어떨까요?” 혹은 “이런 것도 궁금하네요” 등과 같이 다음 대화로 이어나가는 기술을 사용하면 긍정적인 결과를 얻을 수 있다.

오픈소스의 기본 정신인 ‘자유’를 추구하기 위해서는 모든 상황을 수용하고 또 배려하는 자세를 가져야 합니다. 꼭 특정 오픈소스 프로젝트를 운영하는 사람에게만 해당하는 자세가 아닙니다. 오픈소스에 참여하는 모든 사람이 노력해야 성숙한 커뮤니티 문화를 만들 수 있습니다. 그 중심에 자리한, 자기 자신을 파악하고 조절하는 연습이 중요하다는 말에서 ‘수신제가치국평천하(修身齊家治國平天下)’를 떠올리게 되었는데요. 동서양을 막론하고 동일한 가치를 추구한다는 점에서 또 한 번 오픈소스 정신을 느낄 수 있었던 세션이었습니다. 

 

5 simple things you can do to improve OSS docs (Erin McKean / Google)

이 세션에서는 오픈소스에서 매우 중요한 문서화에 대해, 그리고 누구나 쉽게 문서화에 도움을 줄 수 있는 방법에 대해 이야기했습니다. 

  • 오픈소스에서 문서화는 굉장히 중요한 요소이다.
    • 72%의 사람들이 오픈소스를 채택할 때 문서 정책 존재 여부를 선택의 중요한 요소로 삼는다.
    • 93%의 사람들은 제대로 업데이트되지 않은 문서가 있다면 그 오픈소스를 채택하지 않는다고 답변했다. 
  • 오픈소스 문서는 초심자가 읽을 것이기 때문에 초심자가 이해할 수 있도록 써야 한다는 것을 명심해야 한다. 
  • 오픈소스 문서화에 기여하기 위해 시도해 볼 만한 5가지 간단한 것들
    • 프릭션 로그(friction log)
      • 시도해 보고 싶은 것을 찾는다.
      • 인스트럭션을 따라 해 본다.
      • 무엇을 시도했는지, 무엇을 기대했는지, 그 결과는 무엇인지를 모두 기록한다. 
      • 이 기록을 커뮤니티와 공유한다.
    • 문서의 빈 부분을 찾아서 채워 넣는 것은 정말 큰 도움이 된다. 
      • 닫힌 이슈들을 둘러본다.
      • 문제는 해결되었지만 문서에 반영되지 않은 부분을 찾는다. 
      • 빈 문서를 채워서 풀 리퀘스트를 보낸다. 
    • 버그를 재현하는 방법을 문서로 남긴다.
      • 이 작업은 메인테이너의 짐을 많이 덜어줄 것이다. 그 버그를 고치기 위해 확인해야 할 단계가 줄어들기 때문이다.
      • 버그를 제보한 사람이 응답이 없을 때는 대부분 다른 일을 하고 있기 때문이므로 주저하지 말고 버그를 재현해 보라.
    • 튜토리얼을 작성한다. 
      • 최근에 무엇인가를 배우면서 즐거웠던 경험이 있는가? 배웠던 과정을 문서로 남겨보라.
      • 꼭 공개하지 않더라도 튜토리얼을 작성하는 연습은 문서화 스킬을 발전시키는 데 큰 도움이 된다.
      • 기회가 된다면, 친구나 동료와 함께 튜토리얼을 작성해 보고 서로 리뷰해 보는 시간을 가지면 더욱 좋을 것이다.
    • 템플릿을 따라 한다.
      • 좋은 문서를 가지고 있는 프로젝트를 찾고 그 구조를 그대로 따라 한다. 
      • 비슷한 프로젝트를 찾아서 그 문서의 구조를 따라 한다. 
  • 오픈소스 문서화 향상에 도움이 되는 자료

저는 오픈소스를 운영하는 과정을 옆에서 지켜보면서 코딩 이외의 무수히 많은 일들이 있다는 것을 알 수 있었습니다. 이번 발표에서 소개한 내용이 오픈소스 운영자들에게 얼마나 큰 도움이 될지 상상하게 되었는데요. 이번에 배운 내용을 CONTRIBUTING.md에서 언급한다면 문서화와 관련된 작은 기여로도 부담 없이 참여할 수 있는 오픈소스 커뮤니티를 만들 수 있겠습니다. 

 

마치며

저는 참가자로서 온라인 컨퍼런스에 만족도가 굉장히 높았습니다. 놓친 내용을 다시 들을 수 있다는 점(특히 다른 언어로 진행되는 발표에서 아주 큰 힘을 발휘했습니다), 그리고 다른 사람들의 질문이 기록에 남아 세션 내용을 새로운 시각으로 이해할 수 있었던 점이 가장 좋았습니다. 앞으로 일상이 다시 이전으로 돌아가더라도 컨퍼런스가 온라인으로 같이 진행되는 문화는 남으면 좋겠습니다.

역시 듣기만 하는 것이 아니라 이렇게 글로 정리하니 여러 번 복습을 거치며 컨퍼런스에서 들었던 내용을 저의 것으로 만들 수 있었습니다. 이번 글에서 아쉽게도 담지 못한 컨퍼런스와 세션이 많은데요. 아마 독자 여러분께서도 올해 인상 깊게 들은 컨퍼런스가 있을 것입니다. 올 연말은 어쩔 수 없이 집에서 보내는 대신, 제가 참가하지 못한 다른 컨퍼런스를 소개하는 글을 읽으며 더 많은 간접 체험을 할 수 있다면 좋겠습니다.