Lobsters

I expected better from Google

Google이라면 더 잘할 줄 알았다 — Artemis에 실린 mobile-use 코드와 지워진 저자 이름

오픈소스 모바일 에이전트 mobile-use를 만든 Minitap이 Google이 공개한 Artemis에서 자사 코드가 출처 표시 없이 쓰였고, 초기 버전에 있던 저자 이름조차 force push로 삭제됐다고 폭로했습니다. Apache 2.0의 저작자 표시 의무와 AndroidWorld 리더보드 반영 지연 문제까지 제기하며 오픈소스 attribution 관행 논쟁을 촉발했습니다.

본문

오픈소스 모바일 에이전트 프로젝트 mobile-use를 개발한 Minitap 팀이 Google이 공개한 모바일 디바이스 자동화 프로젝트 Artemis에서 자신들이 쓴 코드를 발견했다는 폭로 글입니다. 팀은 코드를 공유하는 것 자체는 바라던 일이지만, Google의 이름 아래 출처 표시 없이 올라온 것은 문제라고 지적하며, 이력을 뒤져보니 자신들의 이름이 이전 버전에 있었고 이후 삭제됐다고 밝혔습니다.

Artemis에서 발견한 흔적들

팀이 지목한 일치점은 구체적입니다. Android 디바이스에 연결하는 코드 일부가 mobile-use의 구현과 정확히 일치했고, Hopper 에이전트의 지시문(instructions)은 단어 하나 다르지 않고 동일했습니다. Hopper라는 이름은 Minecraft를 좋아하는 엔지니어 Jean-Pierre가 멋있다고 해서 붙인 것인데, 같은 이름이 같은 지시문과 함께 Google의 리포지토리에 있는 것을 봤을 때의 느낌을 팀은 '매우 익숙하다'고 표현했습니다. WhatsApp 안에서 에이전트를 유지하는 예제는 Alice, Bob, Charlie에게 Happy New Year 메시지를 보내는 동일한 태스크에 동일한 주석과 정리 절차까지 갖고 있었습니다. 구 버전에서는 버그까지 공유했습니다. 헬퍼가 결과 파일을 쓴 뒤 다음 실행에서 자기 출력을 읽으려다 실패하는 문제를 양쪽 구현에서 동일하게 재현했고, Artemis는 이후 이를 수정했습니다. 이러한 유사성은 9월 11일 시점에도 존재했다고 합니다.

force push로 지워진 저자 목록

더 이해하기 어려운 부분은 저자 이력이었습니다. 이전 package 파일에는 Pierre-Louis Favreau, Jean-Pierre Lo, Nicolas Dehandschoewercker가 저자로 기재돼 있었는데, 이를 대체한 버전은 세 명의 이름을 모두 지우고 다른 저자로 교체했으며, 파일의 유일한 변경 사항이 저자 목록이었습니다. GitHub 활동 기록상 이 교체는 8월에 force push로 이뤄졌고, 현재 해당 버전은 detached로 표시됩니다. mobile-use는 Apache 2.0 라이선스로 배포되는데, 이 라이선스는 저작권 및 저작자 표시 보존과 변경 사항 명시를 재배포 조건으로 요구하고(section 4), 배포에 NOTICE 파일이 포함된 경우 해당 attribution을 유지하도록 규정합니다. 팀이 확인한 Artemis의 README에는 mobile-use에 대한 크레딧이 없었습니다.

리더보드에도 반영되지 않은 성과

팀은 AndroidWorld 리더보드에 자사 신규 결과가 반영되지 않는 문제도 겪었다고 밝혔습니다. 기존 제출분은 91.4%까지 반영됐고 2025년 12월이 마지막 확인이었으나, 이후 94.8%와 1월에 평가한 100%를 제출하고 두 번의 후속 이메일을 보냈음에도 네 통 모두 답장이 없었다고 합니다. 9월 11일 기준 시트에는 mobile-use가 91.4%로, Artemis는 99.1%로 기재돼 있었습니다. Artemis의 비교 차트는 mobile-use를 빼고, 같은 점수로 DroidRun을, 그리고 MadeAgents의 별개 프로젝트인 MobileUse를 낮은 점수로 포함했습니다. 다만 팀은 이것이 이름 삭제와 연결됐다는 증거는 없다고 선을 긋습니다.

Google에 기대했던 것

팀은 Google 측에 연락했고 Artemis 리포지토리에 공개 이슈도 올렸으며, Artemis가 부분적으로 mobile-use에서 파생됐음을 인정하고 attribution을 바로잡아달라고 요청했습니다. 글쓴이는 Kubernetes와 TensorFlow를 만든 회사이며, Chrome 출시 당시 '우리는 많은 오픈소스 프로젝트에 큰 빚을 졌다'며 WebKit과 Firefox에 명시적으로 크레딧을 준 Google이었기에 더 기대했다고 씁니다. 리포지토리의 구 버전을 뒤져서야 자기가 쓴 코드임을 입증해야 하는 상황은, 메인테이너가 이미 답변과 리뷰, 유지보수에 쓰는 시간 위에 또 다른 공유 비용을 얹는다고 지적합니다. 다행히 현재 Minitap을 구동하는 버전은 closed source라고 덧붙입니다.

Lobsters 반응

  • @caius — 오픈소스 라이브러리에서 attribution을 지우는 행위가 이른바 '클랭커' 시대에도 여전히 건재하다는 걸 확인해 유감입니다.
  • @mtset — 정말 '설마 표범이 내 얼굴을 먹겠어?' 식 헛소리입니다. 도둑 사이에 명예는 없으므로, 다른 슬롭 장사치가 자신을 표절하지 않으리라 기대해서는 안 됩니다.
  • @singpolyma — 하지만 이건 슬롭이 잘못 흘러간 사례는 아닙니다. 코드는 의도적으로 직접 가져갔고, 처음에는 이름을 유지했다가 나중에 의도적으로 이름을 지웠습니다.
  • @mtset — 제 요점은 인류 문화 전체를 잘게 썰어 슬롭 기계를 만드는 것과 오픈소스 라이브러리에서 저자 이름을 긁어 지우는 것이 동일한 도덕적 파산을 보여준다는 것입니다.

원문: Minitap Blog / 번역·요약: Trawling