Woong Works를 준비하면서 예전 작업 폴더를 다시 열어 초안과 코드, 테스트 기록, 보낸 메일을 살폈다. 게재된 논문이나 기관이 실제로 교체한 공공데이터처럼 밖에서 확인할 수 있는 결과도 있었지만, 제출이나 구현 뒤에 멈춘 작업도 많았다. 이 글들에는 무엇을 해 봤고 어디까지 확인했는지 남기려 한다.
결과와 함께 당시의 선택도 기록한다. 어떤 자료를 골랐는지, 무엇을 비교했는지, 어느 조건에서 계산이 어긋났는지를 알아야 비슷한 문제를 다룰 때 참고할 수 있기 때문이다. 다시 쓸 코드가 남았거나 검사를 통과했더라도, 그것을 매출이나 지속적인 사용, 논문 게재로 바꾸어 쓰지는 않는다.
여러 파일을 한 작업의 기록으로 읽기
같은 문제를 다룬 초안과 코드가 여러 폴더에 있고, 뒤의 검토에서 앞선 판단이 바뀌기도 한다. 그래서 파일 이름만 보고 마지막 판을 고르지 않고, 어떤 입력으로 결과를 만들었으며 그 뒤 무엇을 고쳤는지 맞춰 본다. 실제 공개판에 어디까지 들어갔는지도 이때 함께 확인한다.
이름에 FINAL이 붙어 있어도 후속 수정이 있을 수 있고, 로컬 원고에는 없는 정정이나 새 자료가 공개 글에 들어 있기도 하다. 서로 유효한 내용을 합치면서 이전 기록은 비교할 수 있게 보존한다. 같은 작업의 한국어판과 영어판도 따로 집필하되, 두 글이 설명하는 프로젝트는 하나로 센다.
수치를 옮길 때는 무엇을 센 값인지부터 확인한다. 한약재 데이터 정정 기록의 ‘333개 변경 셀’은 한국한의약진흥원이 교체하기 전과 후의 파일에서 값이 달라진 칸을 센 것이다. 이 숫자만으로 오류 333개가 모두 올바르게 해결됐다고 말할 수는 없다. 코드나 도구에서 나온 결과도 어떤 입력과 확인 방법을 썼는지, 어디까지 검토했는지를 함께 설명해야 다른 사람이 그 범위 안에서 비교할 수 있다.
멈춘 이유와 아직 모르는 부분
중단한 작업을 다시 쓸 때는 당시 기록에 남은 이유와 지금의 해석을 구분한다. 기록에 없는 감정이나 대화를 그럴듯하게 채우지 않고, 이유를 확인하지 못한 부분은 그대로 남긴다.
독자 수를 확인하지 못한 경우도 마찬가지다. 측정하지 않은 값을 0으로 적으면, 실제로 아무도 읽지 않았다는 뜻이 된다. 확인하지 못했다면 미확인으로 쓰고, 실제로 0임을 확인했을 때만 0으로 남긴다. 외부 결과가 확인되지 않는 작업에서도 다시 쓸 코드나 비교 방법을 설명할 수 있지만, 그 자산이 남았다는 사실과 최종 결과는 구분한다.
근거를 확인하는 것과 그 자료를 공개하는 것도 별개의 판단이다. 미공개 원고와 심사 서신, 개인정보, 공개 동의를 받지 않은 대화는 글에 옮기지 않는다. 이미 공개된 논문이나 코드가 있다면 해당 버전과 주소를 확인해 연결하며, 누구나 볼 수 있다는 이유만으로 재배포해도 된다고 판단하지는 않는다.
뒤에 달라진 일이 생기면
기관이 파일을 고치거나 원 프로젝트가 기여를 표시하면 그 후속 기록을 앞선 상태에 연결한다. 사건이 일어난 날과 자료를 다시 확인한 날, 글을 고친 날은 서로 다를 수 있어 날짜도 나눠 적는다. 중요한 정정은 무엇이 달라졌는지 찾을 수 있게 남긴다.
비슷한 문제를 붙잡은 사람에게는 비교할 자료가 되고, 함께 일할 사람에게는 실제 선택을 살펴볼 수 있는 기록이 되었으면 한다. 짧게 읽어도 문제와 현재 상태를 이해하고, 더 읽으면 자료와 구현까지 따라갈 수 있도록 글을 계속 다듬고 있다.
