brunch

You can make anything
by writing

C.S.Lewis

by 검둥새 Jul 18. 2023

역사를 남긴다는 것

책 [역사의 역사] - "서구 역사의 창시자, 헤로도토스와 투키디데스"

대형 개발 프로젝트를 진행하다 보면 정말 중요한 것이 하나 있다. 히스토리다. 1년 넘는 시간을 개발하고, 10년에 가까운 시간을 유지보수하다 보면 히스토리를 몰라 곤란한 경우가 종종 생긴다. 그러니 히스토리를 기입하는 것은 필수고, 내가 속한 개발 환경도 무조건 히스토리를 작성하게 되어있다.

당장 귀찮다고 히스토리 기입을 대충 하는 경우가 있다.(사실 대다수의 경우가 그렇다. 나도 그렇고.) 시간이 지나 문제가 생겼을 때, 문제가 생긴 코드의 의도 파악이 잘 되지 않는다. 의도 파악이 되지 않은 채로 코드를 수정하니 다시 문제가 발생한다. a라는 이유로 코드를 수정했는데, b라는 문제가 생겨 그에 맞게 동작을 수정하니, 다시 a라는 이유로 문제가 발생해 버린다. 이런 상황을 방지하기 위해 히스토리는 정확히 남겨야 한다.

히스토리를 정확히 남기려면 어떻게 해야 할까. 내가 속한 개발 환경에서 기입할 히스토리는 크게 세 가지인데, '변경된 코드의 의도', '이슈 진행 과정', '기능의 동작 방식 업데이트'라고 볼 수 있다. 히스토리를 남기는 구간도 코드, 이슈, 설계서 이렇게 세 구간으로 나눌 수 있다. 그래서 코드의 의도는 코드 코멘트에, 이슈 진행 과정은 이슈 코멘트에, 기능의 동작 방식은 설계서에 작성해야 한다, 고 나는 생각했다.

막상 히스토리들을 찾아보면 내가 생각한 작성법과 부합하지 않는 히스토리가 상당히 많다.(대충 쓴 히스토리들을 제외하더라도.) 코드 코멘트에 이슈 진행 상황이 구구절절 기록되어 있는 경우, 이슈 코멘트에 설계서 급으로 기능 동작 방식이 기록되어 있는 경우, 설계서에 코드 수정 내역이 건건이 업데이트되어 있는 경우 등등...

처음에는 이게 무슨 일인가 싶었지만, 확인해 보면 다 의도가 있고, 관점의 차이가 있었다. 이슈 진행 내역이 뒷받침되지 않으면 의도 설명이 되지 않는 코드, 먼 훗날 확인하기에는 코드 확인보다 이슈 진행 내역을 확인하는 것이 쉽다고 생각한 관점, 기능의 설계서를 위키 수준으로 만들어 문제 파악에 유리하게 만들려는 의도. 또한 나 같이 (내가 생각한) 의도에 따라 각각 작성해 놓으면 문제가 생겼을 때, 이슈, 코멘트, 설계서들을 다 찾아봐야 하는 불편함이 있다는 생각을 가진 경우도 있었다.

기껏해야 한 프로젝트의 히스토리도 이렇게 관점의 차이, 의도의 차이로 작성하는 방식이 다르다. 하물며 인류의 역사는 어떨까. 무려 2500여 년 전 서양 최초의 역사서라 불리는 두 개의 고대 그리스 역사서도 이런 차이를 보여주고 있다.



책 [역사의 역사, 저자 유시민] - "서구 역사의 창시자, 헤로도토스와 투키디데스"



BC 5세기 발발한 그리스-페르시아 전쟁. 이 전쟁을 실감 나게 기록한 사람이 있었으니 서구 역사의 아버지라고 불리는 헤로도토스이다. 헤로도토스는 그리스-페르시아 전쟁을 기록한 '역사'를 집필했고, 이 '역사'는 인류 최초의 역사서로 인식되고 있다.

역시나 BC 5세기 발발한 펠로폰네소스 전쟁. 이 전쟁에 직접 참여하여 이를 치밀하게 기록한 사람이 있었다. 랑케가 역사 서술의 창시자로 지목한 투키디데스이다. 투키디데스는 펠로폰네소스 전쟁을 기록한 '펠로폰네소스 전쟁사'를 집필했고, 그 서술 방식 때문에 최초의 역사서는 '역사'가 아닌 '펠로폰네소스 전쟁사'라고 주장하는 경우도 있었다.


이 둘의 역사 집필에는 어떤 차이가 있었을까. 키케로는 헤로도토스의 '역사'를 최초의 역사서로 꼽았고, 랑케는 '펠로폰네소스 전쟁사'를 최초의 역사서로 꼽았다.

키케로는 ‘이야기’를 중시했는데 헤로도토스는 이야기를 만드는 능력이 뛰어났다. 랑케는 ‘사실의 기록’에 초점을 맞추었는데 투키디데스는 사실을 검증하고 해석하는 솜씨가 빛났다.


헤로도토스는 역사를 이야기로써 전달하였다. 아테네 사람들에게 그리스-페르시아 전쟁 이야기를 전달함으로써 큰 호응을 얻었지만, 단순히 거기에서 그치지 않고 탐사와 검증을 하며 사실을 기록하려고 노력하였다.

아테네는 페르시아 전쟁 승리를 주도한 공으로 그리스 세계의 맹주가 되었던 만큼, 시민들은 기꺼이 돈을 내고 흥미진진한 마라톤 평원 전투와 살라미스 해전 이야기를 들었으리라 추측할 수 있다. 헤로도토스가 그 이야기를 문자로 쓴 책이 바로 『역사』다. 그래서 『역사』에는 강연을 녹취한 듯한 구어체 문장이 많다. 하지만 헤로도토스가 사실을 충실하게 기록하려고 분투했기에 『역사』는 『일리아스』나 『오뒷세이아』와 달리 시가(詩歌)가 아닌 사서(史書)로 인정받았다.


투키디데스는 펠로폰네소스 전쟁을 이야기가 아닌 기록으로써 전달하려고 노력하였다. 전쟁의 상황을 치밀하게 기록하여 비슷한 상황에 처한 후대에게 도움이 되고자 하였다.

투키디데스는 도시국가들 사이의 정치적・경제적 갈등이 전쟁이라는 폭력 사태로 터져 나온 원인을 밝히려고 끈질기게 노력했다. 그는 어떤 사건이 기록할 만한 가치가 있는지 여부는 미래를 내다보는 데 도움이 되는지에 달려 있으며 펠로폰네소스 전쟁이 바로 그런 사건이라고 보았다.


헤로도토스는 그리스-페르시아 전쟁을 전무후무한 세계대전으로 보았다. 세계대전에서 대제국 페르시아를 상대로 그리스의 지휘관들이 이룬 업적(마라톤 전투, 테르모필레 전투, 살라미스 해전 등등)을 중요하게 다뤘다.

헤로도토스는 당대의 인간이 이룬 업적을 후세에 전하고 페르시아 전쟁의 원인을 밝히겠다는 목적의식을 품고, 그리스와 페르시아를 포함한 ‘세계’를 대상으로 설정했으며, 페르시아 전쟁과 관련한 중요한 사실을 토대로 삼아 박진감 넘치고 흥미진진한 이야기를 풀어냈다.


반면 투키디데스는 펠로폰네소스 전쟁을 그리스의 내전으로 바라보았다. 내전 속에서 전쟁뿐 아니라 정치, 경제적 갈등으로 인해 발생한 상황을 꼼꼼히 기록하였다.

투키디데스는 그와는 다른 측면에 조명을 비추었다. 펠로폰네소스 전쟁 그 자체뿐만 아니라 그리스의 수많은 도시국가에서 벌어진 내란 상황도 면밀하게 관찰한 것이다. 그는 특히 인간의 본성에 비추어 볼 때 반드시 재현될 수밖에 없다고 판단한 일을 꼼꼼하게 기록하고 분석하고 평가했다


이렇게 헤로도토스와 투키디데스의 관점 차이는 명확했고, 이를 바라보는 후대의 평가도 갈렸다. 역사는 역사가에 의해 탄생하기 때문에 완전히 객관적일 수 없다. 역사가의 시선이 들어갈 수밖에 없는 것이다.

20세기의 역사가 에드워드 H. 카(1892~ 1982)도 이들과 유사한 방식으로 일했다. 역사는 역사가의 목적과 사실, 사실에 대한 해석과 역사가의 상상력이 서로 영향을 주고받는 복합적 피드백의 산물이라고 본 카는 매우 간결하고 우아한 문장으로 그 생각을 표현했다. “역사란 역사가와 그의 사실들의 지속적인 상호작용의 과정이다. "


개발 코드의 히스토리는 인류 역사에 비해 그 목적이 단순하다. 왜 이렇게 개발했는가. 그럼에도 불구하고 여러 관점 차이가 생긴다. 그리고 비록 관점 차이는 있지만, 히스토리가 뚜렷한 목적을 품고, 명확하게 특정할 수 있는 대상에 관하여, 최대한 사실에 토대를 두고 작성했다면 어떻게든 도움이 될 것이다.

문제는 아는 것과 실천하는 것이 다르다는 것이다. 나는 지금 과거의 나를 욕하고 있다. 왜 이따구로 히스토리를 작성했을까. 아마 미래의 나는 지금의 나를 욕할 것이다. 히스토리를 꼼꼼히 기입하는 게 귀찮은 것은 어쩔 수 없는지라...

역사의 역사에 남은 역사서를 쓴 서구 역사가들은 거의 예외 없이 그리스 고전에 통달했고, 『역사』와 『펠로폰네소스 전쟁사』에서 깊은 영감을 받았다고 말했다. 그들의 책은 왜 그렇게 오래 그리고 널리 읽혔을까? 여러 이유가 있겠지만 핵심은 ‘서사의 힘’이다. 그들은 뚜렷한 목적을 품고, 명확하게 특정할 수 있는 대상에 관하여, 최대한 사실에 토대를 두고, 사람들이 귀 기울여 들으면서 지적 자극을 받고 정서적 공감을 느낄 수 있도록 이야기를 꾸몄다. 여기서 가장 중요한 것은 독자가 지적 자극을 받고 정서적으로 공감할 수 있는 서사를 만드는 일이다.


매거진의 이전글 개발하다 철학하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari