커밋에서 광고하지 마세요
(akselmo.dev)- 커밋 메시지는 기술적 정보를 담는 공간이며, “Assisted by blabot” 같은 문구는 도구나 회사 이름을 노출하는 광고가 됨
- 오픈소스 프로젝트가 해당 회사들로부터 돈을 받지 않는데도, 구독료를 낸 사용자가 커밋 안에 홍보 문구를 넣는 관행이 문제임
- AI 도구 사용 여부는 필요하면 머지 리퀘스트에서 밝히고, 커밋에는 “generated by an LLM” 같은 일반 표현이 더 적절함
- 커밋, 이메일, 기타 메시지에 광고성 문구를 자동으로 넣는 도구는 나쁜 도구이며, 핵심은 도구 사용보다 메타데이터 오염임
- “Co-authored-by” 같은 형식도 기술적 협업 정보를 넘어 특정 봇이나 서비스를 노출하면 무료 광고 공간이 됨
커밋 메시지는 기술 정보 공간이어야 함
- 커밋 메시지에 “Assisted by blabot”, “co-authored-by: slopgpt”, “sent from my fartphone” 같은 문구를 넣으면 회사나 도구 이름을 노출하는 광고가 됨
- 오픈소스 프로젝트가 해당 회사들로부터 돈을 받지 않는데도, 구독료를 내는 사용자가 커밋 안에 회사 홍보 문구를 넣게 되는 구조가 문제임
- 광고 차단기를 쓰면서도 커밋에는 광고를 넣는 모순이 생김
- 커밋은 기술적 정보를 담는 곳이지, 특정 도구나 회사의 홍보 공간이 아니어야 함
AI 도구 사용 공개 방식
- 필요한 경우 AI 도구 사용 여부는 머지 리퀘스트에서 공개하면 됨
- 커밋에는 특정 회사나 제품명 대신 “generated by an LLM”처럼 일반적인 표현을 남기는 편이 더 적절함
- 특정 회사 이름을 커밋에 넣는 것은 무료 광고 공간을 제공하는 행위가 됨
- 아예 이런 도구를 사용하지 않는 선택도 가능함
도구에 대한 기준
- 커밋, 이메일, 기타 메시지에 광고성 문구를 자동으로 넣는 도구는 나쁜 도구로 볼 수 있음
- 문제의 핵심은 도구 사용 여부 자체보다, 생성물의 메타데이터나 메시지에 회사 홍보 문구가 끼어드는 방식에 있음
- “Co-authored-by” 같은 형식도 기술적 협업 정보를 넘어 특정 봇이나 서비스 노출에 쓰이면 광고가 됨
관련 입장
- Why I will likely never use AI programming tools: 별도의 AI 관련 입장 정리
댓글과 토론
Lobste.rs 의견들
-
커밋이나 이메일 같은 메시지에 광고를 덧붙이는 도구는 정말 나쁜 도구라는 말은 맞지만, 해법은 나쁜 도구 사용을 들키기 어렵게 만드는 게 아니라 그런 도구를 쓰지 않는 것임
개인적으로는 이런 걸 하는 사람들이 스스로 티를 내고 싶어 하는 점이 고맙기도 함- 동의하지만, 사람들이 왜 갑자기 이런 행동이 허용된다고 생각하게 됐는지 한번 멈춰 생각해보면 좋겠음
결국 진짜 해법은 결과물에 광고를 넣는 도구를 쓰지 않는 것임
- 동의하지만, 사람들이 왜 갑자기 이런 행동이 허용된다고 생각하게 됐는지 한번 멈춰 생각해보면 좋겠음
-
많은 사람이 LLM 생성 코드를 피하는 걸 중요하게 여기므로, LLM 사용 공개를 줄이는 방향은 맞지 않다고 봄
커밋 메시지에 그 정보를 넣으면 slopcheck 같은 도구로 코드베이스에 LLM 생성 코드가 포함됐는지 자동 판별하기도 쉬움
다만 중요한 건 어떤 LLM을 썼는지가 아니라 LLM을 썼다는 사실임. 이런 도구 사용자들이 그 방식으로 바꾸면 특정 제품 광고의 해를 줄이면서도 공개 필요성은 충족할 수 있음- 맞음. 단순히 “이건 LLM이 생성했다” 정도라면 괜찮겠지만, 지금은 사람들이 이 회사들에 무료 광고를 해주고 있음
-
무슨 말인지는 완전히 이해하지만 한 부분은 조금 다르게 봄
AI 회사들이 완전한 무료 광고를 얻고 있고, 이들이 오픈소스 소프트웨어에 침투하는 방식은 정말 싫음
다만 병합 요청에만 공개하자는 데는 반대함. 모두가 병합 요청을 보는 건 아니며, 이 커밋을 신뢰할 수 있는지 알려면 git 이력 외의 다른 것에 의존할 필요가 없어야 함- Protobuf처럼 도구가 결정적으로 코드를 생성한다면 코드 안에 도구 이름이 있는 게 디버깅과 업그레이드 관리에 유용함
하지만 LLM 생성 코드에서는 그 의미를 잘 모르겠음. Dependabot 같은 도구가 커밋에 서명하는 건 괜찮음. 뭔가 잘못됐을 때 문제를 고치고 재발을 막는 데 유용한 정보가 되기 때문임
- Protobuf처럼 도구가 결정적으로 코드를 생성한다면 코드 안에 도구 이름이 있는 게 디버깅과 업그레이드 관리에 유용함
-
그럼 “Proudly typed in nano” 같은 걸 쓰면 어떨까? :D
- “edited with sed - the modern stream editor for filtering and transforming text”
- “Sent from my iPhone”
- 문제를 파악하려고 애완 도마뱀들에게 가끔 말을 걸기 때문에 “assisted-by: my pet lizards”를 추가할까 자주 생각함
- 잠깐만! 일부 FOSS 프로젝트는 이미 nano 사용자 금지를 원함. 지금 그걸 가능하게 할 방법을 제안하는 셈임
- 그건 불필요함. 모두가 ed(1)이 표준 텍스트 편집기라는 걸 알고 있으니 암묵적인 사실이고, 바이트 낭비임
-
Visual Studio가 내 커밋에 “Made using Visual Studio”를 붙이기 시작하면 꽤 화날 것 같음
Sent using
Firefox 140.10.2esr (64-bit)
Debian GNU/Linux 13 (trixie) x86_64
Linux 6.12.86+deb13-amd64
Using locally sourced electricity from free range waterfalls- LLM이 점점 더 통합되면 언젠가 이런 것도 보게 될지 모름:
Method names suggested by Microsoft IntelliSense (R) and Pyright (TM)\
Grammar and spelling corrections by Apple Intelligence (R)
- LLM이 점점 더 통합되면 언젠가 이런 것도 보게 될지 모름:
-
사람들이 “Nike”나 “Adidas”라고 적힌 셔츠를 입는 것과 같은 이유일지도 모름
- 사람들이 기꺼이, 심지어 열심히 그런 걸 한다는 게 늘 이해가 안 됐음
- 할아버지께 왜 로고가 붙은 옷을 전혀 입지 않느냐고 물었더니, “누가 나한테 광고를 시키고 싶으면 돈을 내야지” 같은 답을 하셨음
- 그런 옷은 나도 전혀 이해 못 했음. 심지어 예쁜 옷도 아님
- 지금 “London Perl Workshop 2017”이라고 적힌 셔츠를 입고 있는데, 그해 행사에 대해 구체적으로 기억나는 게 없다는 걸 깨달음
차라리 스포츠웨어를 입는 게 나을지도 모르겠음
-
누군가와 페어 프로그래밍을 하고 내가 커밋하면 그 사람 이름은 co-authored-by에 들어감
내가 프로그래밍할 때 LLM의 기여도는 커밋에서 인정할 만큼 크다고 봄. 코드는 내가 커밋하고 책임도 내가 지지만, 내가 그 코드의 유일한 작성자는 아님- 실제 사람이 아니라 그냥 회사 광고를 하는 것뿐임
- LLM의 기여가 vim, IDE 자동완성, Google 검색 결과의 기여와 어떻게 다른지 모르겠음
그런데 “이걸 작성할 때 Google을 참고했고 xcode에서 탭 완성을 4번 눌렀다”를 커밋에 넣으려고 서두르는 사람은 본 적 없음 - 지금 논점과 정확히 맞는지는 확실하지 않음
Spring 프로젝트를 부트스트랩하거나, Go에서 echo나 cobra CLI로 뭔가를 생성하거나, Laravel 보일러플레이트를 만들 수 있음. 많은 언어에 생성기가 있음
그래도 “co-authored by X tool”을 추가하지는 않음
완전히 같지는 않다는 건 알지만 비슷함. 변경 집합에 도구 메타데이터를 넣고 있는 것임. 그럴 필요는 없음. 관련된 비즈니스 개념을 넣고, 기술적 결정에 대한 고지를 넣으면 됨
도구를 언급할 필요는 없음
-
웹서버가 과부하인지, 설정이 잘못됐는지, 아니면 나를 봇으로 분류했는지는 모르겠지만 HTTPS 연결에 약 30초를 기다려야 함
-
오히려 괜찮은 신호라고 봄. 코드에 얼마나 많은 노력, 혹은 노력 부족이 들어갔는지 보기 좋은 방법임
-
광고에는 매우 반대하지만, 그 이유가 소비자 제품을 아무도 알아보거나 쓰지 않길 바라서가 아님
사람들이 소비자 제품에 대해 정확하고 편향 없는 정보를 얻길 바라기 때문임
커밋에 이 정보를 넣는 게 편향을 만든다고 보지는 않음. Claude든 Copilot이든 뭐든 그 커밋을 수행하는 데 관여했다는 건 명백히 사실이고, 많은 사람이 그 맥락에서 그걸 아는 데 합리적으로 관심을 가짐. 반면 커미터가 Emacs를 썼는지는 관심 없는 정보임. 그냥 이유 없이 들어간 게 아님
마음에 들지 않으면 사용자 에이전트가 그걸 출력하지 않게 설정하면 됨- 하지만 다른 메타데이터와 도구 정보는 추가하지 않음. 예를 들어 커밋에 Emacs를 썼다는 사실도 넣지 않음