🚀 2026 스타트업 컨퍼런스

전직 CDPR 엔지니어가 밝힌: 20년 된 레거시 코드에 '매달 5달러' 태우는 이유

전직 CDPR 엔지니어가 밝힌: 20년 된 레거시 코드에 '매달 5달러' 태우는 이유

김현수·2026년 1월 5일·3

GOG Patrons 프로그램을 통해 살펴본 레거시 코드의 가치와 소프트웨어 영속성에 대한 개발자의 고찰. 20년 된 코드를 유지보수하는 기술적 도전과 의미를 다룹니다.

솔직히 말할게요.

저는 '코드는 부채다'라는 말을 입에 달고 삽니다.

SI 프로젝트 할 때, 고객사가 10년 전 소스 코드 들고 와서 "이거 기능 추가해주세요" 하면 속으로 욕부터 했습니다.

"그냥 새로 짜는 게 싸게 먹혀요."

이게 제 방어 논리였죠.

그런데 오늘 GOG(Good Old Games)에서 날아온 'GOG Patrons' 소식을 보고 뒤통수를 한 대 맞은 기분이네요.

개발자로서 '레거시(Legacy)'를 대하는 태도에 대해 다시 생각하게 됐거든요.


오해하지 마세요. 감성 팔이 하려는 거 아닙니다.

철저하게 '기술 부채(Technical Debt)''비용' 관점에서 이야기하려는 겁니다.

제가 네이버 인프라실 있을 때 가장 두려웠던 게 뭔지 아세요?

서버 다운? 해킹? 아니요.

'의존성 지옥(Dependency Hell)'에 빠진 레거시 모듈이었습니다.

OS 버전 올렸는데 라이브러리가 호환 안 돼서 서비스 전체가 셧다운 되는 상황.

그때 느꼈죠. 코드는 작성된 순간부터 썩기 시작한다고요.



게임도 똑같습니다.

여러분이 어릴 때 밤새우며 했던 그 명작 게임들.

지금 스팀(Steam)에서 사서 실행해보세요.

태반이 실행조차 안 될 겁니다.

버전 충돌, 최신 CPU 아키텍처 미지원, 만료된 DRM 인증 서버...

이게 다 개발자가 해결해야 할 '버그'이자 '부채'입니다.

보통의 회사라면?

"수익성 없음. 지원 종료(EOL)." 때리고 서버 내립니다.

그게 이 바닥의 '국룰'이니까요.


그런데 GOG가 미친 짓을 시작했습니다.

'GOG Patrons'이라는 프로그램을 론칭했더군요.

내용은 단순합니다.

게이머들에게 월 후원금을 받아서, 그 돈으로 '고전 게임 유지보수'를 하겠다는 겁니다.

이게 기술적으로 왜 대단하냐면요.

단순히 게임 파일을 서버에 올려두는 게 아니기 때문입니다.


1. 리버스 엔지니어링급 유지보수

소스 코드도 유실된 90년 대 게임을 최신 윈도우 11에서 돌리려면,

바이너리를 뜯어서 호환성 레이어를 억지로 끼워 넣어야 합니다.

이건 개발이 아니라 '디지털 고고학' 수준의 노동력이 들어갑니다.


2. DRM 제거라는 기술적 모험

과거 게임들의 가장 큰 문제는 같은 악성 DRM입니다.

GOG는 이걸 기술적으로 다 걷어내고 'DRM-Free'로 만듭니다.

개발자 입장에서 남이 짜 놓은 암호화 로직을 걷어내는 게 얼마나 리스크 큰 작업인지 아실 겁니다.



제가 SI 시절, 5년 된 결제 모듈 건드렸다가 정산 데이터 꼬여서 시말서 쓴 적이 있습니다.

그 뒤로 저는 "돌아가는 쓰레기는 건드리지 않는다"는 원칙을 세웠죠.

하지만 GOG는 그 쓰레기... 아니, '유물'을 닦아서 진열장에 넣고 있습니다.

이건 단순한 추억 팔이가 아닙니다.

'소프트웨어의 영속성'에 대한 도전입니다.

요즘 주니어들 보면, 유행하는 니 찍먹 하느라 바쁜데,

정작 본인이 짠 코드가 3년 뒤에도 돌아갈지는 고민 안 합니다.

이력서 채우기 급급해서 '지속 가능한 코드'에 대한 감각이 없어요.


GOG의 이번 행보는 우리에게 묵직한 질문을 던집니다.

"당신의 코드는 10년 뒤에도 실행 가능합니까?"

저도 반성하게 되네요.

귀찮다고 덮어뒀던 레거시 코드들, 이번 주말엔 리팩토링 좀 해봐야겠습니다.

물론, 백업은 3중으로 해두고요.

데이터 날리면 후원은커녕 소송당하니까요.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!