Vibecoding 공개로 Emacs 패치가 거절됨
2 hours ago
2
- macOS용 Emacs 성능 개선을 위해 만든 작은 패치가 emacs-devel에 제출됐지만, LLM 보조 작업을 받지 않는 GNU 정책 때문에 받아들여지지 않음
- 작업자는 GLM 5.2가 이슈를 찾고 초안을 만들었다고 공개하면서도, 본인이 정확성·영향 분석, 수정, 수동 테스트, 개인 책임을 맡았다고 밝힘
- 거절된 패치는 범위가 좁은 92줄짜리였고, LLM 사용 사실을 숨길 수도 있었기 때문에 정책이 사용보다 정직한 공개를 불리하게 만든다고 비판함
- GNU 쪽 우려는 LLM 산출물의 개방성·법적 사용 가능성에 가까웠지만, 그는 오픈 웨이트 모델과 실제 업계 사용 사례를 근거로 동의하지 않음
- 그는 더 이상 Emacs 작업을 하지 않겠다고 했고, 하드드라이브에 있던 약 40개 성능 개선 패치 중 최근 확인한 일부만 공개함
macOS Emacs 성능 개선 작업
- Przemysław Alexander Kamiński는 몇 달 동안 macOS에서 Emacs 성능을 개선하며 계측 연결과 벤치마크 작성에 시간을 썼음
- 여러 LLM에 Emacs 코드베이스를 주고 특정 문제를 찾게 했지만, 대체로 결과는 좋지 않았음
- 패치를 분석해 보면 영향이 작거나 문제를 잘못 이해한 경우가 많았음
- 당시 성능 병목에 대한 판단은 다음과 같았음
- macOS에서 주된 문제는 렌더링 이슈와 빠른 할당·해제로 인한 메모리 스래싱임
- macOS의 시스템 malloc 방식은 메모리 압축 부재로 가상 메모리 팽창과 캐시 지역성 손실을 일으킴
- Emacs 코어에도 성능 문제가 남아 있음
- regexp 처리는 여러 곳에서 쓰이므로 개선 시 전체 성능에 영향을 줄 수 있음
GLM 5.2로 찾은 패치와 제출 과정
- 친구에게 z.ai Max 플랜을 받아 GLM 5.2를 사용할 수 있었고, 그는 이 모델이 코드 최적화에 꽤 유능하다고 평가함
- 이미 쌓아둔 지식을 바탕으로 Emacs 관련 구체적 질문을 던지고, GLM 5.2에 이슈 탐색과 분석을 맡김
- 약 3시간 뒤 몇 개의 보고서를 받았고, 제안과 코드를 검토한 뒤 각 항목의 영향을 테스트하고 벤치마크를 실행함
- 패치 제출용 정리에 시간이 들기 때문에 가장 유망한 항목 하나를 골라 작업했고, 글을 쓰기 이틀 전 emacs-devel 메일링 리스트에 보냄
- 다음 날 GNU에 LLM 보조 작업을 받지 않는 정책이 있어 패치가 받아들여지지 않는다는 사실을 알게 됨
제출 메일에 공개한 LLM 사용 범위
- 메일링 리스트에 패치를 보낼 때 LLM 사용 사실과 자신의 검토 범위를 함께 명시함
- 이슈 발견과 패치 초안 작성은 GLM 5.2가 했으며, GLM 5.2는 중국의 오픈 웨이트 모델이라고 밝힘
- 이슈 보고서의 정확성과 영향을 직접 분석함
- 패치를 검토하고 수정함
- 패치를 수동 테스트함
- 법적 목적에서 제출물의 저작자성을 선언했고, 자신의 기여가 LLM보다 크다고 주장할 준비가 되어 있다고 밝힘
- 제출물에 대한 전적인 개인 책임을 지겠다고 선언함
- 제출물은 구현 범위가 매우 좁고 규모도 작았음
- 공개한 패치는 92줄이며, 주석 안에 존재 이유가 포함돼 있음
- 그는 이 패치를 “slop”으로 분류할 수 없다고 보지만, 각자 판단해도 된다고 덧붙임
GNU 정책에 대한 반박
- 그는 GNU의 정책을 존중하지만 동의하지 않으며, 정책에 충분한 근거가 없다고 봄
- LLM 사용 사실을 숨길 수도 있었지만 명시적으로 공개했고, 그 결과 제출이 불리해졌다고 판단함
- 그래서 이 정책은 LLM 사용 자체보다 정직한 공개를 처벌한다고 비판함
- 그는 LLM을 전혀 신뢰하지 않기 때문에 LLM 보조 작업에는 더 적은 검토가 아니라 더 많은 검토와 시선이 필요하다고 봄
- 정책의 전체 맥락은 내부 GNU 리스트에서 논의되므로 알 수 없고, 과거 대화에서 접한 의문은 LLM 기여가 충분히 열려 있는지와 법적으로 사용할 수 있는지에 가까웠다고 정리함
- 오픈 웨이트 모델의 개방성을 문제 삼는 논리에는 동의하지 않음
- 예를 들어 로컬 환경에서 Qwen 3.6을 쓰면 괜찮지만 OpenRouter를 통해 쓰면 안 된다는 식의 구분은 부조리하다고 봄
- GLM 5.2는 오픈 웨이트 모델이며, 256GB RAM과 24GB VRAM이 있다면 로컬에서 실행해 “SaaS는 닫혀 있다”는 논점을 피할 수 있다고 말함
- 인터넷에는 비자유 콘텐츠가 많으므로, 같은 논리라면 제출물을 만들 때 인터넷 접근도 금지해야 하느냐고 반문함
- 법적 우려에도 동의하지 않음
- 게임 회사들은 IP와 LLM에 더 민감하지만 LLM 사용이 보이고, ChatGPT는 10억 활성 사용자를 갖고 있으며, 수십만에서 수백만 조직이 매일 LLM 출력을 사용한다고 말함
- 그는 미국 변호사가 아니라고 전제하면서, 저작권 등록 문제는 저작권 표시를 붙이는 쪽에 있다고 이해함
- GNU가 자신들의 변호사와 의견에 가장 큰 무게가 있다고 믿는 태도에는 동의하지 않음
Emacs 작업 중단과 공개된 패치
- 그는 GNU가 스스로 결정할 자유가 있고 자신도 비판할 자유가 있다고 말함
- 내부에서 정책을 논의하면서 사용자에게 투명하지 않은 방식은 Meta가 Facebook 방향을 내부 결정하는 것만큼만 열려 있다고 비판함
- 결과적으로 그는 더 이상 Emacs 작업을 하지 않겠다고 밝힘
- 자발적으로 하는 작업에서 “막대를 잘못 잡고 있다”는 말을 듣는 상황을 싫어한다고 함
- 하드드라이브에는 약 40개 성능 개선 패치가 있으며, 일부는 서로 겹치고 일부는 실제 영향이 아직 입증되지 않았음
- 최근 확인해 동작하고 의미 있는 영향을 보인 일부 패치만 공개했으며, 그는 해당 패치들이 실제로 차이를 만든다고 말함
-
Homepage
-
Tech blog
- Vibecoding 공개로 Emacs 패치가 거절됨