마담 Semver가 지금 당신을 기다립니다
(nesbitt.io)- 점술가 Madame Semver는 저장소 아카이브를 고민하는 오픈소스 관리자에게
^1.0.0카드를 내밀고, 아카이브하지 않은 대가로 겪을 미래를 펼쳐 보임 - 테스트를 통과한 잘못된 PR부터 라이브러리를 오해한 이슈, 유사 이름 패키지, 실제 취약점 하나가 섞인 보안 스캔 보고서까지 차례로 관리자의 시간을 빼앗음
- 사소한 문제와 반복 질문을 꾸준히 처리하던 기여자가 3년째에 저장소 권한을 요청하자, Madame Semver는 이 카드만 뒤집어 둠
- 오래된 README를 학습한 무언가는 제거된 함수를 2년간 추천하고, 대문자 지침 파일과 자동화 봇은 문서 작성 방식과 저장소 운영을 예상치 못한 방향으로 바꿈
- 훗날 모든 변경을 한 시간 안에 병합하는 포크가 일부 사용자의 선택을 받지만, 정작 원본 저장소를 캐럿 범위로 참조해 다음 메이저 버전이 누구에게 닥칠지는 알 수 없음
아카이브하지 않은 저장소의 가까운 미래
- 첫 카드
^1.0.0의 캐럿(caret) 은 이후에 오는 모든 것을 허용하며, 사람들은 자신이 그 범위를 직접 지정했다는 사실을 쉽게 잊음 - Madame Semver는 관리자가 저장소를 아카이브하지 않을 것을 이미 알고 있으며, 그 선택 뒤에 이어질 사건들을 펼쳐 보임
- 6월에는 예의 바르고 테스트까지 갖춘 PR이 도착함
- 테스트는 통과하지만 코드는 잘못되어 관리자의 토요일 대부분을 소모함
- 설명 하단에는 사진을 찾을 수 없는 공동 작성자가 있고, 관리자는 확인하는 습관을 들이기 전까지 그의 PR 두 개를 더 병합함
- 8월에는 한 사람이 라이브러리의 기능을 잘못 이해한 채 확신에 차서 이슈를 열고, 반박하기 어려운 출처를 인용함
- 다음 주에는 다른 누군가가 그가 묘사한 패키지를 기존 이름과 한 글자만 다르게 출시함
- 9월이 되자 새 패키지가 다운로드 수를 가져감
- Tower 카드에는 작은 기반 위의 높은 구조물과
Nebraska, 2003이 나타남- 관리자가 이미 머그잔으로 익숙한 대상이어서 별도 설명은 필요하지 않음
- 10월의 보안 스캔은 요청하지 않은 심각도 점수와 경영진 요약을 갖춘 길고 정교한 보고서를 생성함
- 발견 사항 12개 중 11개는 문서화된 동작을 결함처럼 다시 기술한 것임
- 나머지 하나는 실제 문제여서 관리자는 앞선 11개까지 모두 읽어야 하며, 11월에도 같은 일을 반복함
- 도구를 들고 찾아온 기여자는 작은 문제를 고치고 보상을 요구하지 않으며, 관리자가 지쳐 있던 반복 질문에도 답함
- 처음에는 그의 인내심에 감탄하지만, 시간이 지나자 관리자는 신원을 찾아보기 시작함
- 3년째에 그가 저장소 열쇠를 요청하자 Madame Semver는 유일하게 이 카드만 뒤집어 둠
더 먼 미래와 다음 메이저 버전
- 긴 기억을 가진 무언가는 오래된 README를 읽고, 3월에 제거된 함수를 약 2년 동안 확신에 차서 추천함
- 관리자는 결국 해당 함수를 다시 추가하고 폐기 예정(deprecated) 으로 표시함
- 사용자는 폐기 예정 경고를 버그로 신고함
- 저장소 루트에는 불특정 대상을 향한 지침을 담은 모두 대문자인 파일이 생김
- 이 파일은 관리자가 작성한 어떤 문서보다도 주의 깊게 읽힘
- 시간이 지나면서 관리자는 다른 문서까지 같은 어조로 쓰지만, 언제 그렇게 결정했는지는 기억하지 못함
- 어느 화요일 오후, Virginia의 무언가가 tarball을 11,000번 가져감
- 공격이 아니라 누군가의 열정이 반복문을 돌리고 있으며, 그 반복문에 해당 패키지 이름이 들어간 결과임
- 같은 달 관리자는 자신이 닫지 못하는 문을 대신 닫아 줄 자동화 하인을 고용함
- 고용하지 않은 또 다른 하인은 그 문을 계속 열어 둠
- 두 자동화 사이에서 같은 문이 1년 동안 열리고 닫히기를 반복함
- 먼 미래에는 새로운 포크가 등장함
- 포크 관리자는 지치지 않고 즉각 응답하며 모든 변경을 한 시간 안에 병합함
- 아바타를 보는 순간 어떤 존재인지 알아볼 수 있고, 여러 사람이 원본보다 그 포크를 선호함
- 그러나 포크 역시 원본 저장소를 캐럿으로 고정해 이후에 오는 모든 것을 허용함
- 점술 요금제는
$1,$5, 작은 에나멜 배지가 포함된$25의 세 단계지만, 관리자는 모두가 내는$1만 지불함 - Madame Semver는 다음 메이저 버전이 찾아오면 다시 오라고 말하면서도, 그것이 누구의 메이저 버전인지는 밝히지 않음
댓글과 토론
Lobste.rs 의견들
- “작은 받침 위에 솟은 높은 것, 그것은 탑이다. 네브래스카, 2003년.” 이제 XKCD 테마의 타로 덱을 갖고 싶어짐
- 좋은 아이디어다. 크라우드펀딩으로 일러스트레이터에게 비용을 지급하거나 여러 작가의 작업을 모을 수 있음. 아니면 한숨 나오지만 AI를 쓸 수도 있겠다
잠깐, 어쩌면 Randall이 직접 만들어줄지도 모른다
- 좋은 아이디어다. 크라우드펀딩으로 일러스트레이터에게 비용을 지급하거나 여러 작가의 작업을 모을 수 있음. 아니면 한숨 나오지만 AI를 쓸 수도 있겠다
- 이 사이트에서 본 글 중 손꼽힐 만큼 문장이 훌륭하다
- 읽으면서 소름이 돋았다
- Aphyr의 Technical Interview 시리즈가 떠올랐다: https://aphyr.com/tags/interviews
- 읽으면서 @bcantrill의 Oral Tradition in Software Engineering 강연이 떠올랐다: https://www.youtube.com/watch?v=4PaWFYm0kEw
- 캐럿(^) 은 없다