Hacker News오픈소스 · 도구오늘의 주요

NeoVim의 호환성 문제로 Vim 실행 취소 파일 삭제된 사건

원제 On caring for user data: NeoVim caused Vim undo files to be deleted

283 포인트댓글 241
Key Point

파일 형식 변경 시 기존 데이터를 자동 삭제하는 행위가 사용자 신뢰를 어떻게 무너뜨리는지 보여주는 사례로, 개발팀이 데이터 호환성과 사용자 신뢰에 얼마나 신경 써야 하는지 배울 수 있습니다.

핵심 요약

  • 컴퓨터 과학자 David Chisnall은 Vim의 지속형 실행 취소(persistent undo) 기능이 20년 동안 안정적으로 작동해온 매우 소중한 기능이라고 강조했습니다.
  • 지속형 실행 취소를 통해 컴퓨터 재부팅이나 파일을 6개월 전에 닫았던 경우에도 이전의 작업 내역을 복구할 수 있는 것이 Jef Raskin의 첫 번째 법칙인 '프로그램은 사용자의 데이터를 해칠 수 없으며, 부작위로도 해칠 수 없다'를 구현한 사례입니다.
  • Chisnall이 NeoVim을 시도했을 때 실행 취소 기능이 작동하지 않았는데, 이는 NeoVim이 파일 형식을 변경하면서 기존 Vim 실행 취소 파일을 호환되지 않는 새 형식으로 변환하지 않고 그냥 삭제해버렸기 때문입니다.
  • NeoVim은 기존 파일을 다른 이름으로 저장하지도 않았으며, Vim이 읽을 수 없는 새 형식의 파일로 교체하면서 모든 데이터를 손실시켰습니다.
  • Chisnall이 이 문제를 보고했을 때 NeoVim 개발팀은 지속형 실행 취소 형식이 불안정하므로 데이터 보존을 보장할 수 없다고 응답했으며, 향후에도 형식이 변경될 수 있다고 말했습니다.
  • Chisnall은 지속형 실행 취소 기능 자체의 변경은 버그로 용서할 수 있지만, 파일 시스템에 존재하는 데이터를 사용자의 의도 없이 삭제하는 태도가 사용자에 대한 의무감의 부재를 보여준다고 비판했습니다.
  • 저자는 Raskin의 법칙 세 가지를 언급했습니다: 프로그램은 사용자의 작업을 해칠 수 없고, 사용자의 시간을 낭비하거나 불필요한 작업을 요구할 수 없으며, 인터페이스는 인간의 필요에 반응하고 인간의 약점을 배려해야 한다는 것입니다.
  • 이 사건은 소프트웨어가 사용자의 노고를 손실시키거나 무시할 때 사용자들이 얼마나 오래 그것을 기억하는지, 그리고 소프트웨어 개발에서 사용자 데이터 보호의 중요성을 강조합니다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗