프로그래머에게 있어 잘 만들어졌지만 다시 재현하기 어려운 프로그램은 스트라디바리우스와 같다.
(스트라디바리우스 - 가장 뛰어난 명품 바이올린 중의 하나.)
그것은 자체만으로 예술적가치를 지니지만 다시 만들 수가 없다.
그것을 만든 장인이 제대로된 전수를 하지 않았고 남아있는 제작 방법에 대한 기록도
완벽하지 않기 때문이다.
최고의 명품이지만 그것을 만드는 데는 수백년이 걸리지는 않았다.
그런데 그 비밀을 파헤치는 데는 수백년이 걸려서 해독하지 못하고 있다.
세상에 스트라디바리우스가 한 대 밖에 없는 건 아니지만
그렇다고 해도 예술적, 금전적 가치가 커서 함부로 뜯어 볼 수도 없고
몇 대 뜯어 본다고 해도 그것을 완벽하게 재현할 수가 없다.
과학자들은 음향학(Acostics), 전자기학, X-ray 등.. 모든 기법을 동원하고 있지만
아직 진품보다는 부족하다.
제대로 전수되지 않은 소프트웨어도 마찬가지이다.
지금 설사 잘 돌고 있고 훌륭하게 만들어 졌다고 해도 쉽게 뜯어볼 수는 없다.
멈춰있는 소스코드 상태와 그것이 실제 동작 중인 상태는 매우 다를 수 있기 때문이다.
때로는 소스 코드 repository에 완전히 반영되지 않은 부분이 있기도 하고
install 등의 자동화가 부족하여 재현이 어려운 부분도 있다.
도무지 이런 소프트웨어는 건드릴 수가 없다.
인터넷 업계처럼 하루 24시간 서비스 중인 소프트웨어는 멈춰서 다시 컴파일하고
중간에 디버깅코드나 디버거를 삽입할 수도 없고
(그렇게 했다가는 회사가 하루에 몇 억씩의 손해를 입기도 한다.)
그것을 그대로 둔다고 해도 test bed를 쉽게 구축하기 어려운 경우도 있다.
test bed를 위한 최소 사양이 몇 천만원이 되는 경우도 있고
자동화되지 못한 부분을 재현하기 위해서는 많은 trial & error가 필요하기 때문이다.
초기 개발자는 회사를 떠나버렸거나 무관심하거나 바쁘고
문서는 초창기에 A4 2~3장 분량으로 적힌 requirement 문서가 전부인데,
그마저도 어디서 copy & paste해다 붙였는 지, 문법도 맞지 않고 뜻을 알 수 없는
문장들이 짜깁기 된 경우도 있다.
땅 속에 붙혀버린 스트라디바리우스의 제작자의 일기장을 300년 만에 발견한 기분이라고나 할까.
불에 타고 썩어버린 대부분의 내용과 실제 바이올린 제작과는 관련없는 개인의 푸념과 일상의 이야기가
대부분인 그런 쓰레기 같은 조각 글들 말이다.
안타깝기가 그지 없다.
나날이 줄어가는 스트라디바리우스의 갯수에 의해(악기도 점점 닳고 부서지기 마련이니까.)
우리는 점점 더 최고의 음악을 감상할 기회를 얻기 어려워지는 것처럼
우리가 가진 기술과 지식은 잘 전수되지 못해서 날아가 버리고 있다.
댓글 없음:
댓글 쓰기