Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

"io.js 한국 커뮤니티"에 대해서...

작년 말에 io.js가 나오기까지...라는 글에서 Node.js가 io.js로 포크되는 상황을 정리했었다. 그 이후로도 많은 일이 있었고 흥미롭게 진행상황을 보는 중이다.

어쨌든 그 이후 io.js 한국 커뮤니티가 만들어져서 많은 작업을 하고 있지만, 많이 알려지지는 않은 것 같아서 홍보 겸 글을 올린다. 물론 이 글은 io.js 한국 커뮤니티에서 활동하는 분들의 공식 입장은 아니고 나 혼자 정리하는 글이므로 일부는 의견이 다를 수도 있다.

io.js 한국 커뮤니티가 생긴 과정

io.js 한국 커뮤니티 시작은 아주 간단했다. 어느 날 트위터를 하고 있는데 io.js의 주도 세력(?) 중 하나인 Mikeal Rogers가 번역/지역화 작업에 참여할 사람을 찾는 트윗을 보았다.


Node.js의 API 문서도 번역해서 운영하고 있고 이런 작업에 참여하면 반강제(?)로라도 계속 관심을 가질 수 있으므로 정확히 뭐를 하는지도 모르고 손을 들었다. Github 이슈에 댓글을 남겨 달라길래 가서 글을 남겼고 이어서 국내에 다른 몇 분도 손을 드셨다.

어떻게 진행되려나 생각하고 있었는데 바로 io.js 계정 아래 한국어 지역화 작업을 위한 팀을 만들고 여기에 추가해 주었다. 이게 2월 초의 일인데 나라별로 많은 사람이 자원해서 하루 만에 146명이 참가해서 27개 언어로 지역화가 진행되는 상황이 벌어졌다.(이 당시 Mikeal은 그 수많은 사람과의 소통을 빠른 속도로 다 진행했다.)

io.js 관련 문서의 번역 작업

처음에 모르는 사람들끼리 온라인에서 모여서 어색한 공기가 흐르는 가운데 우리도 뭘 해야 하는지 아무도 몰랐던 관계로 Mikeal과 의사소통을 하면서 다른 국가의 팀에서는 무슨 작업을 하는가를 보면서 필요한 작업이나 의사결정을 해야 하는 건에 대해서 이슈로 토론하기 시작했다.

Mikeal이 원했던 것은 io.js와 관련된 모든 내용에 대한 지역화 작업 및 각 지역에서 io.js의 활성화를 담당해 주길 원했으므로 일단 접근하기 쉬운 번역부터 시작했다. io.js의 공식 블로그인 Medium 계정에 올라오는 글은 번역해도 된다고 허락을 받았으므로 여기 있는 글을 번역하기 시작했고 주로 주간 뉴스가 올라오지만, 그 외 글이나 주요 이슈들은 번역하기 시작했다.

올린 글을 어디다 발행해야 하나 고민하다가 Github에서 배포하기 제일 쉬운 Github 페이지 기능을 이용해서 Jekyll로 웹사이트를 구축해서 새로운 글을 번역할 때마다 여기에 올리고 있고 트위터 계정으로 공지를 하고 있다.

현재 주 작업은 Medium에 매주 금요일 올라오는 주간 뉴스주간 뉴스 외에 흥미로운 글이나 이슈를 번역하기 시작했고고 io.js 공식 웹사이트도 한국어로 번역해서 서비스하고 있다.

나도 참여하겠다고 손들기는 했지만, 처음에는 좀 냉소적인 편이었다. 이런 팀 작업이 얼마나 어려운지 익히 알고 있었고 이런 작업은 초기의 관심에 비해서 길게 유지하는 게 더 어려우므로 좀 맘 편하게 있었던 게 사실이다.(그래서 보통 초기에 크게 시작하는 걸 안 좋아하는 편이다.) 하지만 참여하신 분들의 열정이 높아서 상당히 활발하게 의사결정이 진행되고 번역도 잘 진행되고 있다. 처음에는 모든 일을 어떻게 진행해야 할지 난감한 상황이었지만 사이트 구축이나 참여자 모집과 관련된 많은 이슈가 해결되어서 번역만 열심히 진행하고 있다. 번역해서 올리면 사람들이 리뷰를 엄청나게 엄격하게 해주셔서 번역할 때 오히려 큰 부담이 없이 애매한 번역은 그냥 올려버리고 댓글로 좋은 번역문에 관해서 토론하고 결정하므로 번역의 부담도 많지 않은 편이다. 이전에는 혼자만 번역하다가 이렇게 진행하니 다음 분들의 의견도 들을 수 있어서 좋은 경험이 되고 있다.

io.js logo


참여 방법

이 글을 써야지 하면서 그동안 글을 못 쓴 이유가 다른 사람이 어떻게 참여하는가에 대한 규칙이 없었기 때문이다. 글을 올리고 관심 있는 사람이 생기면 함께 작업해야 좋을 텐데 그 규칙을 그동안 못 만들고 있었다. 그도 그럴 것이 나를 포함해서 현재 모인 사람들도 그냥 트위터나 Github에서 당시에 손을 들었기 때문에 합류했을 뿐 어떤 자격 조건이 있는 것은 아니므로 다른 사람의 참여도 자격조건은 필요 없었지만 그래도 공동작업을 위한 어떤 규칙은 필요했다.

모든 작업을 Pull Request 기반으로 하고 있기는 하지만 팀에 합류하면 저장소에 Push 할 수 있는 권한은 생기는데 이 권한이 Admin 권한밖에 없었다. Admin은 팀의 모든 권한을 가지는 데 iojs-ko가 Organization이 아니라 Organization 내의 팀이므로 팀 내에서 이런 세부 권한을 조정할 수 있는 기능이 없었다. 우리가 어떤 자격이 있어서 그 팀에 합류한 것은 아니지만 Github을 얼마나 사용할 수 있는지 모르는 모두에게 Admin 권한을 주는 건 좀 위험한 일이므로(실제로 당시에 iojs-ko 저장소가 실수로 삭제되는 일까지 발생하면서 Admin 권한을 나누어 주는 게 위험하다는 것은 확실해졌다.) 저장소 권한만 가진 다른 팀을 하나 만들어 달라고 Mikeal한테 요청하고 있었지만, 이제는 Github 저장소에만 사용자를 추가할 수 있는 기능이 새로 생겼다.

그래서 이제는 번역 참여 가이드를 작성했고 멤버로 합류하고 신청을 받기 위한 이슈를 별도로 만들었다. 멤버가 되지 않아도 참여가 가능하지만 자신에게 이슈 할당 등을 할 수 있으므로 이 이슈에 신청해 주시면 추가할 예정이다.

그리고 댓글 외의 논의는 Gitter에서 채팅으로 하고 있다.

그동안의 io.js 이슈

지난번에 작성했던 io.js가 나오기까지...이후에도 많은 일이 있었는데 따로 정리해서 올릴 시간이 없었으므로 여기에 정리해서 올린다.

2015/04/14 23:58 2015/04/14 23:58