Uploaded avatar of iHiD

메인테이너를 자유롭게 하기

@iHiD
거의 4년 전

중요: 이 내용은 이제 오래된 정보예요. 최신 내용은 새 블로그 글에서 확인해 주세요.


TL;DR; 우리는 몇 달 동안 자원봉사 모델을 다시 설계하고, 커뮤니티 기여를 검토하는 일에서 핵심 자원봉사자들에게 잠시 쉬어 갈 시간을 주려고 해요. Exercism을 순전히 배우거나 멘토링하는 데만 쓴다면, 여기서 꼭 알아야 할 내용은 없어요 (그래도 관심이 있다면 읽어 보세요!). 트랙 메인테이너이거나, Exercism에 기여하고 싶거나, 버그나 문제를 알리고 싶다면 꼭 읽어 보시길 권해요 🙂


지난 6개월 동안 우리는 Exercism의 미래를 탐구하는 데 많은 시간을 썼어요. 모든 언어 트랙이 최고의 모습이 되면 어떤 모습일지 상상하면서요. 우리는 지금까지 만들어 온 것에 정말 큰 자부심을 느껴요. 지금까지 주어진 85,000개의 후기는 우리 커뮤니티가 언어 트랙을 만들고 그 트랙을 통해 수많은 학생을 멘토링하면서 해낸 놀라운 일을 보여줘요. 가장 중요한 것은, 우리가 아직 가능성의 극히 일부만 맛보고 있다고 믿는다는 거예요. Exercism이 될 수 있는 모든 모습에 대한 거대한 아이디어와 기대, 설렘을 품고 있어요. 하지만 그것을 이루려면 먼저 수면 아래에 남아 있는 몇 가지 근본적인 문제를 해결해야 해요.

그중 가장 큰 것은 우리 자원봉사 커뮤니티를 건강하고 지속 가능한 방식으로 확장하는 과제를 해결하는 일이에요. Exercism은 수백 명의 헌신적인 자원봉사자들의 어깨 위에 세워졌지만, 지금은 그중 상당수가 번아웃을 느끼고 있고, 그 결과 많은 사람이 떠났어요. 여기에는 수많은 이유가 있어요. 어떤 것은 Exercism과 직접 관련이 있고, 어떤 것은 삶의 시간적 압박 때문이며, 어떤 것은 지금 세계 곳곳에서 일어나는 일들 때문이에요. 하지만 우리 플랫폼을 함께 만들어 가는 더 나은 방식을 설계하고 개발해야 한다는 점은 아주 분명해졌어요.

우리는 지금까지 넓은 커뮤니티의 기여를 검토하는 메인테이너를 두는 오픈 소스 소프트웨어(OSS) 모델로 Exercism을 만들어 왔어요. 이 방식은 우리에게 많은 문제를 일으켰고, 메인테이너와 기여자 모두에게 답답함을 안겼어요. 자세한 내용은 아래에서 더 다루지만, 요약하자면 우리의 핵심 자원봉사자들이 이제는 혁신을 만드는 사람이 아니라 요청에 반응해 문을 지키는 역할에 시간을 쓰고 있다는 거예요. 그건 그들에게 훨씬 덜 즐거운 일이고, 그 사람들이 예전에 플랫폼에 가져다주던 마법을 Exercism이 잃는다는 뜻이에요.

이걸 해결하려면 두 가지를 해야 해요:

  1. 전통적인 OSS 모델보다 Exercism에 더 잘 맞는 새로운 자원봉사 시스템을 설계해야 해요. 지금까지 이걸 하려고 적잖은 에너지를 썼지만 실패했어요. 그래서 앞으로 몇 달 동안 자원봉사자들과 함께 시간을 내서 제대로 설계해 보려고 해요.
  2. 앞으로 몇 달 동안은 넓은 커뮤니티의 기여를 대부분 잠시 멈추고, 핵심 자원봉사자들이 원하는 방식으로 트랙을 만들고 발전시키는 데 집중할 수 있게 하려고 해요 (아니면 잠깐 숨을 돌리고 싶다면 안식년을 가질 수도 있고요!).

제 바람은 한 걸음 물러나서 이걸 정말 잘 설계하고, 교육 팀을 키우기 위한 모금도 병행하면서, Exercism을 자원봉사하기 멋진 곳으로 만들고 그 미래를 굳건히 하는 거예요. 그동안 이 변화 덕분에 트랙이 지난 1년보다 더 많이 발전하고 성장할 수 있고, 메인테이너들은 번아웃을 멈추고 대신 Exercism에서 일하면서 더 행복하고, 더 활기차고, 더 연결되어 있다고 느끼게 될 거예요.

구체적인 변화

우리가 적용하는 구체적인 변화는 세 가지예요.

GitHub 이슈 대신 포럼을 사용해요

우리는 메인테이너들이 자신이 해결하고 싶은 이슈에 집중할 수 있도록 GitHub를 완전히 비워 둘 거예요. 우리는 이전에 커뮤니티가 작업할 수 있도록 만들어 둔 수많은 이슈를 닫을 거예요 (그리고 나중에 원한다면 쉽게 다시 열 수 있도록 태그도 붙일 거예요). 동시에 대부분의 저장소에서는 요청하지 않은 새로운 이슈나 PR을 허용하지 않을 거예요. 무언가를 논의하거나 알리고 싶다면, 대신 포럼을 이용해 주세요. 요청하지 않은 이슈나 PR을 열면 자동으로 닫히고, 포럼으로 안내될 거예요.

넓은 커뮤니티의 기여 잠시 멈추기

트랙은 세 가지 범주로 나뉠 거예요:

  • 활동 중인 메인테이너가 있는 대부분의 트랙은 커뮤니티 기여를 잠시 멈춰서, 메인테이너가 자율적으로 일하거나 쉴 수 있게 할 거예요. (이 트랙의 메인테이너는 필수 1회 검토 요건을 없애 달라고 요청할 수 있어요. 이건 Slack에서 Erik에게 말씀해 주세요.)
  • 커뮤니티 기여를 계속 받고 싶어 하는 활동 중인 메인테이너가 있는 일부 트랙은 열린 상태로 유지될 거예요 (메인테이너이고 (1)보다 이 방식을 택하고 싶다면, Slack에서 Jonathan Middleton에게 연락해 논의해 주세요).
  • 활동 중인 메인테이너가 없는 트랙은 이 기간 동안 트랙 개발이 사실상 멈춰요.

모든 경우에서 Erik과 저는 병합하기 전에 Tooling 저장소로 가는 PR을 계속 신뢰성 검토할 거예요.

한 가지 예외는 Approaches와 Articles에 대한 PR은 계속 받는다는 거예요. 그리고 다음과 같은 규칙으로 조직 전체에 낙관적 병합 정책을 적용해서, Exercism 전반에 Approaches의 기준선을 채우고 점진적인 개선을 가능하게 하려고 해요:

  1. 코드가 연습 문제를 해결하고 문법과 의미 모두 관용적이라면 (즉, $LANG 코드처럼 보인다면) 병합해야 해요. 그렇지 않다면 PR 작성자가 고쳐야 해요.
  2. 메인테이너가 내용을 바꾸고 싶다면 (예: 조언을 개선하거나, 세부 사항을 다듬거나, 더 좋거나 대안적이거나 더 관용적인 접근법을 강조하려는 경우) 후속 PR에서 처리해야 해요.

새로운 자원봉사 시스템 설계하기

우리는 앞으로 나아갈 지속 가능하고 건강한 자원봉사 체계를 함께 설계할 Community Board를 꾸릴 거예요. Exercism의 잠재력을 열어 줄 체계요. Exercism의 미래에 헌신하고 이 과정에 참여하고 싶다면 Jonathan에게 연락해 주세요.

우리는 앞으로 몇 달 동안 이 조치들을 실행할 거예요. 이 기간 내내 모든 것을 검토하면서, 2023년 6월까지 몇 가지 새로운 결정을 내릴 계획이에요. 생각이 있다면 포럼에 주제를 올려 주세요!

덧붙임: 우리의 OSS 모델이 잘못된 이유

우리의 기존 모델은 OSS 모델을 중심으로 만들어졌어요. 이 모델은 Exercism에 들어와 트랙을 만드는 훌륭한 일을 해내고 나서 메인테이너 권한을 받아, 더 넓은 사용자층의 기여를 받아들여 트랙을 개선할 수 있게 된 자원봉사자들에게 의존해 왔어요.

이건 서류상으로는 훌륭해 보이지만, 몇 가지 심각한 문제가 있어요. 가장 큰 문제는 Exercism에 가장 큰 마법을 더하는 사람들이, 커뮤니티 기여에 응답하는 데 시간을 다 쓰느라 정작 Exercism을 코딩하거나 창조할 시간이 전혀 없게 된다는 거예요. 이건 메인테이너들이 애초에 Exercism에 참여한 이유가 거의 전혀 아니고, 그들이 즐기는 일도 아니에요. 개발을 사랑하는 사람이 사람을 관리하고 코딩은 하지 않는 팀 리더로 "승진"하는 것과 조금 비슷해요. 그 순간에는 좋은 승진처럼 보일 수 있지만, 사람들은 관리자가 되는 일을 코딩만큼 즐기지 못하는 경우가 많아요.

이 모델은 또한 넓은 커뮤니티 기여의 총합이 특정 메인테이너가 혼자서 할 수 있었던 기여보다 크다는 가정에 기대고 있어요. 하지만 Exercism에서는 그런 경우가 거의 없어요. Exercism은 복잡하고, 교육은 어려워요. 이 둘이 합쳐지면 Exercism에 기여하는 일은 복잡하고 어려운 일이 돼요. Exercism이 기술적으로 어떻게 작동하는지와 교육에 대한 접근 방식 모두에 대해 배우고 이해할 게 아주 많아요. 그래서 대부분의 첫 기여는 사람들이 길을 찾아가는 과정이에요. 그래서 그들의 첫 기여는 상대적으로 작고, 거의 항상 검토하고 다듬는 데 많은 작업이 필요해요. 이건 메인테이너에게 시간이 많이 드는 일이에요. 실제로 검토에 들이는 총 시간(그리고 필요한 맥락 전환까지)을 따져 보면, 메인테이너는 PR을 직접 만드는 것보다 검토하는 데 더 많은 노력을 쏟는 경우가 대부분이에요. 물론 예외도 있지만, 99%의 경우에는 사실이에요. 게다가 PR이 해결하는 문제가 메인테이너의 우선순위 목록 위쪽에 있지 않은 경우가 많아서, 그들에게 더 괴로울 때도 많아요. 결과적으로 정말 필수적이라고 아는 일들이 처리되지 못하게 되죠.

마지막으로, OSS 모델은 기여자들이 작게 시작해서 결국 지식이 풍부하고 꾸준해져 메인테이너가 될 수 있을 만큼 성장한다는 전제에 기대요. 소프트웨어 라이브러리 같은 OSS 프로젝트에서는 이게 비교적 잘 작동해요 (예: 누군가 라이브러리를 실제 서비스에서 쓰면서 계속 개선을 더하다가, 결국 원래 만든 사람만큼 많은 지식을 갖게 되는 경우요). 하지만 Exercism에서는 그런 일이 일어나지 않았어요. 지난 12개월 동안 수천 명의 기여자로부터 PR을 병합했지만, 꾸준한 기여자로 이어진 사람은 아주 소수였고, 메인테이너가 된 사람은 더 적어요. 이것 역시 주로 Exercism의 복잡성 때문이지만, 이 모델이 전통적으로 작동하는, 범위가 한정된 소프트웨어가 아니기 때문이기도 해요.

이 모든 것은 메인테이너들에게 엄청난 의욕 상실을 안기고 Exercism에도 해로워요.

트랙은 정체됐고, 만들기에 열정을 가졌던 핵심 자원봉사자들은 그들의 일이 다른 사람의 작업을 검토하고, 서로 경쟁하는 우선순위를 조율하고, 예상치 못한 요청을 처리하는 것이 되면서 그 열정을 대부분 잃었어요. v3를 만드는 동안에는 메인테이너들이 상대적으로 자율적으로 일할 수 있었어요. 그들의 작업이 대부분 뒤에서 이루어졌기 때문이에요. 덕분에 엄청난 생산성이 나왔고, 대부분의 사람들이 기여를 정말 즐겼어요. v3가 출시된 이후로는, 많은 자원봉사자들이 Exercism에 그만큼의 시간을 쏟았는데도, 훨씬 덜 즐겁고 덜 생산적인 시기가 되었어요. 주로 다른 사람의 기여나 이슈에 응답하는 데 엄청난 에너지가 들어갔기 때문이에요. 우리 자원봉사자들은 이제 혁신하는 사람이 아니라 요청에 반응하며 문을 지키는 역할에 시간을 쓰고 있고, 그건 훨씬 덜 즐거워요.

이것이 우리가 해결해야 할 과제이고, 어려운 과제예요. 우리는 Exercism의 언어 트랙을 만드는 데 수백 시간을 쓰고 싶어 하는 사람들이 그걸 할 수 있고 또 사랑하면서 할 수 있는 방법을 찾아야 해요. 버그 수정과 작은 기여가 핵심 자원봉사자들의 관심을 끌지 않고도 우리 코드베이스에 들어갈 수 있는 방법도 찾아야 해요. 그리고 새로운 자원봉사자들을 Exercism으로 끌어들이고, 그들이 지속적인 기여를 하기로 선택하면 지원할 방법도 찾아야 해요. 우리는 전반적으로 문지기 역할을 줄이면서도, 트랙에 그렇게 많은 노력을 쏟은 사람들이 강하고 아주 잘 고민된 의견을 가진다는 점을 존중해야 해요. 그 전체 자원봉사 체계를 관리하고 운영하는 일을 즐겁게 만들어야 해요. 그리고 다른 여러 가지 문제도 함께 해결해야 해요. 시간이 걸리고 어려운 도전이겠지만, 해내면 정말 멋질 거예요.

Translation missing: ko.number.nth.ordinalized Nov 2022 · 유용했나요?