기존 소프트웨어를 재작성하거나 대체할 때 사용자에게는 ‘적어도 예전만큼은’ 잘 동작하는 것이 최소 기준이 되는 이유와, 그로 인해 생기는 기대치·불만·교훈을 오픈 소스 사례로 풀어낸 글.
by Luke Plant
Posted in:
— March 16, 2026 15:37
기존 소프트웨어를 재작성하거나 교체할 때, 아주 자주 마주치는 최소 기준은 ‘모든 사용자에게, 언제나, 모든 측면에서’ 이전 시스템만큼은 잘 동작하는 무언가를 만드는 것입니다. 완벽함이 판돈(테이블 스테이크)인 셈입니다.
이 재작성 작업을 맡은 사람 입장에서는 꽤 짜증 나는 일이고, 이 현실을 이해하지 못하면 골칫거리의 원인이 됩니다.
오픈 소스 세계에서 몇 가지 예를 들어보겠습니다:
Pulseaudio 이전에는 다른 시스템이 있었는데, 제 시스템이 처음 Pulseaudio로 “업그레이드”되었을 때 일부 앱에서 음질이 나빴습니다. 저는 오디오파일(음향 애호가)은 아니지만, 딱딱거림과 튀는 소리, 쉭쉭거리는 잡음이 제게도 아주 뚜렷했습니다.
이전 시스템과 비교하면 Pulseaudio에는 애플리케이션별 볼륨 조절 같은 기능, Bluetooth로 소리를 더 쉽게 내보내는 기능 같은 새 기능들도 잔뜩 따라왔습니다. 하지만 저는 그런 기능들을 신경 쓰지 않았습니다(필요하지도 않았고요). 반면 음악이 나쁘게 들리는 건 분명히 신경이 쓰였습니다. 사운드 서버라면 언제나 완벽한 음질이 ‘최소’로 달성해야 하는 기준입니다.
또 Pulseaudio를 삭제하면, 그저 잘 동작하던 ALSA를 쓰던 이전 상태로 돌아가서 모든 것이 정상으로 들린다는 것도 알게 되었습니다. 그래서 이 “업그레이드”에 상당히 짜증이 났죠.
그건 몇 년 전 일이었고, 요즘 제 Linux 시스템에서는 Pulseaudio가 Pipewire로 대체된 것으로 보입니다. 저는 그 사실을 알아채지도 못한 채로 바뀌었고, 사실 이것은 재작성/대체 시스템에 줄 수 있는 최고의 칭찬 중 하나입니다: 사용자들이 눈치채지 못했다.
이런 보고들은 새 시스템을 만든 사람들에게 상당히 좌절감을 줄 겁니다. 수십 년의 노력(대개 무료로 이루어진)의 대가가 불만 목록으로 돌아오는 것이니까요.
하지만 전환을 강제로 겪는 사람이라면, 어떤 수준에서든 무엇이든 퇴보(regression)를 발견하는 순간 “이거 별로네(최악이네)”라고 말할 것입니다. 그리고 그건 충분히 이해할 만합니다. 결과적으로 그들에게 더 나쁜 결말이라면, 당신이 한 모든 노력을 그들이 왜 신경 써야 하죠? 그들이 아직 필요로 하지 않는(혹은 필요하다는 걸 아직 모르는) 새 기능들을 왜 신경 써야 하죠? 반면 반드시 필요했던 기존 기능들 중 일부는 이제 망가졌는데 말입니다.
그럼 교훈은 무엇일까요? 하지 말라는 걸까요?
제 생각은 이렇습니다. 재작성을 진행하되, 각오를 단단히 하고, 기대치를 제대로 세우라는 것입니다.
대체하려는 대상의 100%에 도달하기 전까지는, 대부분 불평만 듣게 될 겁니다. 일이 유급 상업 프로젝트든, 무료 오픈 소스 개발이든, 수고에 대한 감사를 기대하지 마세요. (주로 그들보다 당신에게 도움이 되는) 환상적인 아키텍처 개선에는 아무도 관심이 없고, 그들이 아직 쓰지 않는 새 기능에도 관심이 없습니다. 불평하는 사람들과 비관론자들을 탓하거나, 닥치라고 하거나, 문제가 존재하지 않는 척하지 마세요. 당신이 그들의 삶을 더 불편하게 만들었는데, 그들이 왜 불평하면 안 되죠?
(불평하는 사람들이 वास्तव로 불평할 권리가 있을까요? 곁다리로, 이 얘기를 아내와 나눴을 때 아내의 관점은 ‘사실 그렇게까지는 아니고, 공짜 소프트웨어에 불평하기 전에 돈부터 내야 한다’는 것이었습니다. 이는 “고맙다는 말도(돈도) 못 받고 여러 프로젝트에 많은 시간을 쏟는 오픈 소스 프로젝트 메인테이너의 아내”라는 관점에서 나온 말입니다. 하지만 그 관점에 얼마나 진실이 있든 간에, 사람들은 반드시 불평할 것이고, 그렇지 않을 거라고 가정하는 건 합리적이지 않다고 생각합니다.)
이 글을 적는 건 부분적으로는 저 자신을 위한 것이기도 합니다. 저는 지금 고객을 위해, 잘 동작하는 소프트웨어 한 조각을 재작성하는 프로젝트를 시작하고 있습니다. 이 재작성에는 큰 인터페이스 개편과 많은 내부 아키텍처 변경이 포함될 것이고, 인터페이스 변경이 환영받기를 바라고 있습니다.
하지만 초기 반응은 아마도 부정적이거나, 우리가 기대하는 만큼 긍정적이지 않을 것이라는 사실에 대비해야 합니다. 무엇이든 바꾸는 것만으로도 이미 누군가의 삶을 더 불편하게 만들어 버리기 때문입니다. 예전에 익숙하게 하던 일을 다시 배우는 건 대부분의 사람들에게 재미있는 일이 아니죠. 이를 상쇄해서 그들이 단지 만족하는 수준이 아니라 적극적으로 열광하게 만들려면, 모든 필요를 챙기고 이전의 모든 기대를 충족하는 것뿐 아니라, 개선점이 크고 분명해야 합니다 — 처음 써보는 그 순간부터, 누가 봐도 확실한 대성공(슬램덩크)이어야 합니다.
이 애플리케이션의 현재 사용자는 아주 적기 때문에, 제가 언급한 다른 프로젝트들에 비하면 판돈은 훨씬 낮고, 모두의 요구를 수용할 수 있을 겁니다. 하지만 기대치를 제대로 잡고, 사용자에 공감하는 일은 필수적입니다.
이것은 제 개인 블로그이며, 반드시 제 고객/고용주 또는 제 교회의 의견을 반영하는 것은 아닙니다.
댓글은 여기로 스크롤하면 로드되어야 합니다...
Copyright Luke Plant
Powered by DigitalOcean