이번 달과 지난 달에는 다음 릴리스인 Gazpacho (2026.1)에서 활동할 프로젝트 팀 리드인 PTL (Project Team Lead), 그리고 다다음 릴리스인 2026.2 (H로 시작, 이름 미정)까지 활동할 기술 위원회 (Technical Committee) 후보를 선출하는 오픈스택 선거 활동이 있었고, 이번 주에야 선관위로서 공식 활동을 종료하였습니다.
제가 선관위로 활동한 게 언제인지 찾아보니 다음 패치가 머지된 직후이니.. 어느덧 6년이 되었네요. 이전 회사에서 근무할 때에는 좋은 발표 기회를 통해 오픈스택 선관위 활동을 소개하기도 하였는데요, 저희 포럼 사이트를 통해 선관위 활동을 소개해도 좋을 것 같아 간만에 글을 작성해보고자 합니다.
(벌써 6년이 흐르다니..!)
- 왜 오픈스택 선관위에 지원을 하였는가?
오픈 소스 활동이 자유로운 공간에서 여러 커밋 및 토론을 통해서 발전을 하는데요, 저는 Internalization (I18n) 프로젝트 팀 리드를 몇 번 하면서 오픈스택 선거때 후보에 대한 등록을 한 적은 있으나, 사실 선관위 입장에서 생각을 해보았던 적은 없습니다. 저는 오픈스택에서는 Documentation과 I18n 두 팀에서 Core Reviewer로서 활동하기도 하였는데요, 두 팀 모두 공식 팀에서 Special Interested Group (SIG)로 거버넌스가 바뀌면서, PTL과 같이 선거를 하지 않는 팀 구조로 변경되었습니다 (그래서 계속 I18n SIG Lead로서 자리를 지키고 있는 건 또 다른 함정..).
오픈스택 선관위 활동을 하려면 선거 대상인 PTL 또는 TC 후보로 지원을 하면 안됩니다. 때마침 I18n SIG로 바뀐지라 아쉬운 마음이 조금 들면서도 선관위 volunteer가 필요하다는 메일링리스트 글을 보고는 ‘이제 나도 지원할 수 있네. 해볼까?!’ 라는 마음에 지원을 하였고, 그게 벌써 6년 전이라니.. 세월이 참 빠르네요.
- 어떤 식으로 활동하는가?
오픈 소스 커뮤니티 답게 (?) 선거 입후보를 하기 위해서는 git 커밋으로 입후보하겠다는 내용을 올립니다.
이를 지원하기 위해서는 git 리포지터리가 있어야겠죠. 이 리포지터리 위치는 openstack/election: OpenStack Elections repository - election - OpenDev: Free Software Needs Free Tools 에 있으며, 해당 리포지터리에 있는 문서를 통해 빌드된 사이트가 OpenStack Election — OpenStack Governance 입니다.
(이번 2026.1 선거, 다 Past로 나옵니다. 선거 끝!!)
오픈스택 선거 홈페이지에 보면 TC와 PTL 선거 입후보 지원을 하는 Nomination 기간, TC의 경우 입후보자들과 토론을 하는 Campaigning 기간, 그리고 실제 투표 (Voting)을 하는 기간은 Election 기간으로 나뉩니다. 이 선거를 지원하기 위한 여러 도구들이 해당 리포지터리에 있으며, 이 도구들을 잘 활용하여 선거에 대한 공지를 적절히 진행하며, 입후보에 대한 관리/통계, 그리고 경합에 따른 선거가 필요할 경우 온라인 선거 활동을 지원하게 됩니다.
(예시: 선거에 대한 이메일 보내기 위해 리포지터리에 있는 도구를 활용해 이메일 콘텐츠를 만들어 내는 과정)
- 투표권은 누구에게나 있는가?
그렇지는 않고, 다음과 같은 조건으로 투표권이 부여됩니다.
- TC (기술 위원회): 투표 중에 해당하는 릴리스 기간 및 이전 릴리스 기간까지 약 1년 동안 의미있는 기여를 한 오픈스택 Membership을 가진 회원
- PTL (프로젝트 팀 리드): 투표 중에 해당하는 릴리스 기간 및 이전 릴리스 기간가지, 약 1년 동안 해당 프로젝트에 의미있는 기여를 한 오픈스택 Membership을 가진 회원
여기서, 의미있는 기여 기준은 머지된 패치가 1개 이상 있는 것을 이야기합니다. 오픈스택에서는 이를 Active Contributor라고 합니다. 그리고 오픈스택 Membership을 확인하는 것은 한 개인이 여러 개의 이메일을 사용하여 커밋을 하는 경우도 있을 수 있는데, 이러한 경우 1명의 사용자임을 확인하기 위한 목적으로 확인하고 있습니다.
- 입후보자를 확인하기 위한 방법
여러 도구들이 이미 구현되어 있어 해당 도구를 사용하면 됩니다. 한 후보에 대해 입후보를 검증하는 과정을 예시로 살펴보겠습니다.
예: https://review.opendev.org/c/openstack/election/+/958029
Workflow +1을 통해 이미 머지가 되어 있는 것을 볼 수 있는데요, 2명의 선관위 위원이 검토를 한 후에 머지를 하였습니다.
여기서 보면 첫 번째 선관위 위원이 https://openinfra.org/a/community/members/24399 링크를 찾았는데요, 해당 링크는 다음과 같은 방법으로 손쉽게 찾을 수 있습니다.
방법 1: CI/CD인 Zuul 로그를 살펴보면 볼 수가 있는데요, 안타깝게 기간이 좀 지나서 로그를 직접 보여드릴 수가 없네요.
방법 2: 툴이 있어서 해당 툴을 실행하면 됩니다. 이 예시에서는 Gerrit Review 번호가 958029이니, 이 번호로 툴을 실행하면 다음과 같이 결과가 잘 나옵니다.
- 그러면 쉬운 거 아닌가, 어려움은 없는가?
그럼에도 약간 어려운 게 있다면 크게 2가지가 있는 것 같습니다.
먼저 첫 번째는 부지런함(?)입니다. 각각 일정은 23:45 UTC 에 종료하는데요, 한국 시각은 오전 8시 45분이죠. 현재 다른 선관위 위원은 유럽 권역에 있어 늦은 새벽인지라, 해당 시간대에는 보통 제가 필요한 작업을 합니다. 그런데 해당 시간대는 출퇴근 등으로 인해 조금 복잡한 시간대라 이 시간에 부지런하기가 쉽지는 않더라고요. 그럼에도, 늦은 새벽에 다른 선관위 위원이 활동하기 어려울 것이라는 생각을 하게 되면.. 스스로가 성실해질 수 있는 동기 부여가 생기기도 합니다.
그리고 두 번째는, 때로는 툴에 오류가 있을 수도 있다는 것입니다. 선관위 툴이 오픈 소스로 되어 있다는 것은 그만큼 기반 오픈 소스 라이브러리들에 의존성이 있다는 의미가 되고요, 때로는 이 오픈 소스 라이브러리에서 생성되는 버그로 인해 툴을 제대로 사용하지 못하는 경우가 발생할 수도 있습니다. 특히, 이번 선거 기간에는 입후보자에 대한 IRC 닉네임이 보이지 않던 이슈가 있었는데요, 알고보니 Foundation 멤버를 검증하는 API에서 반환을 하지 않고 있었습니다. 이러한 원인 파악을 위해서는 사용하는 오픈 소스 툴에 대한 디버깅도 필요하게 되죠.
- 투표로 사용하는 시스템은?
CIVS (Link: https://civs1.civs.us )라는 투표 시스템을 사용합니다. 이번 TC 선거에서는 4명을 선출하는데 6명 입후보가 지원을 했고요, 저는 선관위로서 투표 명부를 등록하고 투표 독려를 진행하였습니다.
- 마지막으로 하고 싶은 말은?
어쩌다보니 벌써 활동한 게 6년이 넘었군요. 이전에 비해 오픈스택에 많은 직접적인 컨트리뷰션을 하지 못하고 있으나, 이렇게 선관위라는 활동을 통해서 오픈스택에 여전이 미력하게나마 기여를 한다는 마음에 개인적으로는 뿌듯함을 갖고 있습니다. 여러분들도 활동하는 오픈소스 커뮤니티에서 일어나는 여러 거버넌스를 보다 자세히 이해하고, 이런 선관위와 같은 활동도 좋으니 voluneer로 참여해보면 어떨까요? 여러분들도 저와 비슷한 이런 뿌듯함을 느껴보시면 좋을 것 같습니다.







