오픈 소스 프로젝트의 인기가 높아질수록, 장기적으로 신선함과 생산성을 유지하려면 명확한 경계를 설정하는 것이 중요합니다.
메인테이너들의 경험과 그들이 균형을 찾는 전략을 더 깊이 이해하기 위해, 우리는 메인테이너 커뮤니티의 40명과 워크숍을 진행했으며, 이를 통해 오픈 소스에서 번아웃을 경험한 사례와, 그들이 균형을 유지하는 데 도움이 된 실천 방법을 직접 배울 수 있었습니다. 여기서 개인 생태계(personal ecology)라는 개념이 중요한 역할을 합니다.
그렇다면 개인 생태계란 무엇일까요? Rockwood Leadership Institute의 설명에 따르면, 여기에는 “우리의 에너지를 평생 동안 지속하기 위해 균형, 속도 그리고 효율성을 유지하는 것“이 포함됩니다. 이는 메인테이너들이 시간이 흐르면서 변화하는 더 큰 생태계의 일부로서 자신의 역할과 기여를 인식하는 데 도움을 주는 개념이 되었습니다. 번아웃은 세계보건기구(WHO)가 정의한 바와 같이 만성적인 업무 스트레스로 인해 발생하는 증후군이며, 메인테이너들 사이에서도 흔히 나타납니다. 이는 종종 동기 상실, 집중력 저하, 그리고 기여자 및 커뮤니티에 대한 공감 부족으로 이어집니다.
이 개인 생태계 개념을 수용함으로써, 메인테이너들은 번아웃을 사전에 방지하고, 자기 관리를 우선하며, 균형을 유지하여 최상의 작업을 수행할 수 있습니다.
메인테이너를 위한 자기 관리 및 번아웃 방지 팁:
오픈 소스에서 작업하는 동기(motivation)를 확인하기
오픈 소스 유지보수의 어떤 부분이 여러분에게 활력을 주는지 생각해 보세요. 자신의 동기를 이해하면, 지속적으로 참여하면서 새로운 도전에 대비할 수 있도록 작업의 우선순위를 정하는 데 도움이 됩니다. 사용자의 긍정적인 피드백이든, 커뮤니티와 협업하고 교제하는 기쁨이든, 코드에 깊이 몰입하는 만족감이든, 자신의 동기를 인식하는 것이 집중 방향을 설정하는 데 도움이 될 수 있습니다.
균형을 잃고 스트레스 받는 원인을 되돌아보기
번아웃이 발생하는 원인을 이해하는 것이 중요합니다. 오픈 소스 메인테이너들 사이에서 공통적으로 나타나는 몇 가지 주요 원인은 다음과 같습니다:
- 긍정적인 피드백 부족: 사용자들은 불만이 있을 때 연락을 취할 가능성이 훨씬 더 높습니다. 모든 것이 원활하게 작동하면 그들은 조용히 있는 경우가 많지요. 당신의 기여가 어떤 변화를 가져오는지 보여주는 긍정적인 피드백 없이 그저 늘어나는 문제(issue) 목록을 지켜보는 것은 좌절감을 불러올 수 있습니다.
- ‘아니오’라고 말하지 않기: 오픈 소스 프로젝트에서는 생각보다 많은 책임을 맡게 되기 쉽습니다. 사용자, 기여자 또는 다른 메인테이너로부터든, 우리는 항상 그들의 기대에 부응할 수는 없습니다.
- 혼자 일하기: 메인테이너가 된다는 것은 엄청나게 외로울 수 있습니다. 심지어 여러 명의 메인테이너와 함께 일하더라도 지난 몇 년 동안은 분산된 팀을 직접 소집하는 것은 어려웠습니다.
- 부족한 시간 혹은 자원: 이는 특히 프로젝트를 진행하기 위해 여가 시간을 희생해야 하는 자원봉사자 메인테이너들이 해당됩니다.
- 상충되는 기대: 오픈 소스는 서로 다른 동기를 가진 여러 그룹으로 가득 차 있어, 이를 조정하는 것이 어려울 수 있습니다. 오픈 소스를 유료로 진행하는 경우, 때때로 당신 고용주의 관심사와 커뮤니티의 이익이 충돌할 수도 있습니다.
번아웃 징후를 주의하기
지금처럼 10주 동안 일을 할 수 있겠습니까? 10달은요? 10년은요?
@shaunagm의 Burnout Checklist와 같은 도구들이 현재 속도를 되돌아보고 조정할 부분이 있는지 확인하는 데 도움을 줄 수 있습니다. 일부 메인테이너는 웨어러블 기술을 사용해 수면 질이나 심박수 변동성 (둘 다 스트레스와 관련 있음)과 같은 지표를 추적하기도 합니다.
자기 자신과 커뮤니티를 계속 유지하려면 무엇이 필요할까?
이것은 각 메인테이너마다 다르게 나타나며, 인생의 단계와 다른 외부 요인에 따라 달라질 수 있습니다. 하지만 우리가 들은 몇 가지 주요 주제는 다음과 같습니다:
-
커뮤니티에 의지하기: 업무 위임과 기여자를 찾는 것은 업무 부담을 덜어줄 수 있습니다. 프로젝트에 여러 접점을 두면 걱정 없이 휴식을 취할 수 있습니다. 다른 메인테이너 및 더 넓은 커뮤니티와 연결하세요, 메인테이너 커뮤니티같은 곳이요. 이는 동료 지원 및 학습을 위한 훌륭한 리소스가 될 수 있습니다.
사용자 커뮤니티와 소통할 수 있는 방법을 찾을 수도 있습니다. 이를 통해 정기적으로 피드백을 듣고 당신의 오픈 소스 작업의 영향을 파악할 수 있습니다.
-
자금 확보 탐색: 피자값 정도의 지원이든, 오픈 소스를 전업으로 하려고 하든, 도움을 위한 리소스는 있습니다! 첫 단계로 GitHub Sponsors를 켜서 다른 사람들이 당신의 오픈 소스 작업을 후원할 수 있게 고려해보세요. 만약 전업으로 전환하려고 생각한다면, GitHub Accelerator의 다음 라운드에 지원하세요.
- 도구 사용하기: GitHub Copilot이나 GitHub Actions 같은 도구를 탐구하여 반복적인 작업을 자동화하고 더 의미 있는 기여를 할 수 있는 시간을 확보하세요.
-
휴식과 재충전: 오픈 소스 외에도 취미와 관심사에 시간을 할애하세요. 주말에는 쉬면서 재충전하고, GitHub status를 설정하여 언제 일할 수 있는지를 나타내보세요! 숙면은 장기적인 노력 지속 능력에 큰 차이를 만들 수 있습니다.
프로젝트에서 특히 즐기는 부분이 있다면, 그 부분을 경험할 수 있도록 작업을 구성해 보세요.
- 경계를 설정하기: 모든 요청에 ‘예(yes)’라고 답할 수는 없습니다. “지금은 그 일을 할 수 없고, 앞으로도 할 계획이 없다”고 간단히 말하거나, README에 내가 하고 싶은 일과 하지 않을 일을 나열하는 방식으로도 충분히 할 수 있습니다. 예를 들어 다음과 같이 말할 수 있습니다: “나는 PR을 만든 이유가 명확하게 나열된 PR만 병합합니다.” 또는 “나는 매주 목요일 6시부터 7시까지만 이슈를 리뷰합니다”. 이렇게 하면 다른 사람들이 당신의 기대치를 알게 되고, 나중에 기여자나 사용자들이 시간에 대해 무리한 요구를 할 때, 이를 완화할 수 있는 기준을 제시할 수 있게 됩니다.
유독한(toxic) 행동과 부정적인 상호작용을 단호하게 차단하는 법을 배우세요. 관심 없는 일에 에너지를 쏟지 않아도 괜찮습니다.
개인 생태학은 당신의 오픈 소스 여정을 진행하면서 발전하는 지속적인 실천이라는 점을 기억하세요. 자기 관리를 우선시하고 균형 감각을 유지함으로써, 당신은 오픈 소스 커뮤니티에 효과적이고 지속 가능하게 기여할 수 있고, 이는 장기적으로 웰빙과 프로젝트의 성공을 함께 보장할 수 있습니다.
추가 자료
- Maintainer Community
- The social contract of open source, Brett Cannon
- Uncurled, Daniel Stenberg
- How to deal with toxic people, Gina Häußge
- SustainOSS
- Rockwood Art of Leadership
- Saying No, Mike McQuaid
- Governing Open
- Workshop agenda was remixed from Mozilla’s Movement Building from Home series
기여자
이 가이드를 위해 자신의 경험과 팁을 공유해 주신 모든 메인테이너분들께 진심으로 감사드립니다!
이 가이드는 @abbycabs가 작성했으며, 아래 기여자들의 기여가 있었습니다.
@agnostic-apollo @AndreaGriffiths11 @antfu @anthonyronda @CBID2 @Cli4d @confused-Techie @danielroe @Dexters-Hub @eddiejaoude @Eugeny @ferki @gabek @geromegrignon @hynek @IvanSanchez @karasowles @KoolTheba @leereilly @ljharb @nightlark @plarson3427 @Pradumnasaraf @RichardLitt @rrousselGit @sansyrox @schlessera @shyim @smashah @ssalbdivad @The-Compiler @thehale @thisisnic @tudoramariei @UlisesGascon @waldyrious + 이외의 다른 많은 사람들!