몇일전 재미난(?!) 일이 있었다. 국내 최대의 개발자 커뮤니티라 불리는 데브피아의 자유 게시판에 누군가 "nProtect 같은 보안 프로그램은 어떻게 만드나요?"라는 질문을 올렸다. 사실 이렇게 정확하게 특정 브랜드를 꼬집은 질문 자체에 대한 답변은 상당히 하기 힘들다. 그 핵심 기법들이 그다지 심도 있는 기술이 아니라 하더라고 특정 브랜드가 지칭 되었기 때문에 문제가 커질 수 있다는 점이다. 음. 그래서 난 기술적인 답변을 적기보다는 그냥 평소 느낌대로 동문서답을 적었다.
nProtect 자체가 해킹 툴 같이 느껴진다. 난 nProtect Refuser를 만들 생각이다. 새로운 보안 프로그램을 개발한다면 가볍고 효율적인 것 이었으면 좋겠다.
말 그대로 질문한 사람에게는 일말의 도움도 안되는 답변이었고, nProtect를 개발한 개발자들에게는 다소 상처가 될 수도 있는 말이었다. 이 글이 올라가고 다음날 정도에 다시 그 게시물을 보게 되었다. 밑에 리플이 줄줄이 달렸다. 아니나 다를까 nProtect 관련 개발자들이 답변을 달아논 것이다. 그 중 나를 충격 속으로 몰아 넣은 말은 다름 아닌 신영진씨 하는짓이 소인배 스럽네요~ 였다.
과연 내가 소인배 스러운 짓을 한걸까? 나의 문체에 문제가 있음을 그제서야 나는 깨달았다. 해킹 툴, Refuser란 단어가 심기를 충분히 불편하게 만들 법한 단어였던 것이다. 하지만 난 그 이유가 인신 공격을 받을 충분한 이유가 되지 못한다고 생각했다. 어떤 이유에서건 게시판에서의 인신공격은 좋지 않다고 생각한다.
예전에도 쓴 글 중에 우리 나라 사람이 토론을 잘 못하는 이유에 관한 글이 있는데, 이번 사건도 그와 비슷한 사건이라 생각된다. 난 nProtect라는 제품과 그 제품의 서비스에 대한 불만을 표시한 것이지 그것을 개발한 사람들의 인격을 모독한 것이 아니다. 사실 일부 nProtect ActiveX 컨트롤의 경우 과거 악성 코드 제거 프로그램의 블랙 리스트에 오른 적도 있었다. 내가 정확히 알고 있는 한 제품에도 이 것이 블랙리스트에 있다 빠졌는데, 거기에 대한 사용자들의 항의가 있었다. 다시 블랙리스트에 넣어 달라는 항의였다.
(주)잉카인터넷에서 개발한 대부분의 보안 제품은 사용자의 동의 없이 사용자 PC에 강제로 설치되어서 사용자의 중요한 PC 파워를 갉아 먹는다. 그것들이 정확하게 어떠한 동작을 하는지 사용자들은 정확하게 인지하지 못하는 상황에서 PC는 느려진다. 최악의 경우 오류까지 발생하는 경우는 중요한 서비스 사용이 중단된다. 이 모든 과정에서 사용자가 선택할 수 있는 어떠한 옵션도 없다.
이러한 강제 설치 방식은 분명 문제가 있다. 이것은 프로그램의 문제가 아니다. 서비스의 문제다. 해당 회사에서 제품을 서비스 하는 방식에 문제가 있다는 것이다. 이는 프로그래머의 책임이 아니다. 최근에 우리 회사에서 개발한 제품에 사용자의 동의없이 자동 실행되는 부분이 있었다. 난 그 부분이 맘에 들지 않았고 상부에 그 기능을 초기에 OFF 시킬 것을 제안했다. 하지만 그것은 허용되지 않았다. 회사의 서비스 정책상 어쩔 수 없다는 답변이었다. 당연히 나도 불편함을 느끼는 부분에 대해서 사용자들도 느낄 것이다. 거기에 대한 불평은 분명 많은 사용자가 할 것이다. 하지만 난 거기에 대해서 나의 인격이 모독된 것과 같은 반응을 보일 필요는 없는 것이다.
물론 이러한 사실이 잉카인터넷의 제품에 국한된 이야기는 아니다. 안철수연구소의 인터넷 보안 프로그램도 그렇고 다른 회사의 인터넷 보안 프로그램도 동일한 정책을 사용하고 있다. 단지 nProtect가 거론된 것은 질문하신 분이 해당 브랜드를 지칭했기 때문이었다.
그 글타레의 마지막에 달린 답변은 그곳에 근무했던 사람으로써 좀더 신중하게 답변을 해야 한다는 글이었다. 하지만 난 그렇게 생각하지 않는다. 물론 난 2년간 잉카인터넷에서 병역특례로 근무했고 잉카인터넷은 좋은 회사였다. 난 부당한 대우를 당한적도 없었고 많은 기술을 배울 수 있었다. 하지만 그것과 이것은 엄연히 다른 문제다.
Don't write a book if you cannot take criticism. Here are some of the comments I received on various drafts of the first edition of UNP: "Argh! Doesn't this guy know anything about grammar or style?", "How come I never heard of this guy?", "Take out parenthesized editorializing", "The terminology is often muddled." The second edition of UNP generated the comment: "Sentence beginning ... is incomprehensible gobbledegook."
내가 좋아하는 리차드 스티븐스 아저씨의 홈페이지 FAQ중 일부다. 비판을 수용할 능력이 되지 않는다면 책을 쓰지 말라는 내용이다. 나는 이 내용이 모든 창작 활동에 적용된다고 본다. 프로그램을 개발하는 일이라고 예외가 아니다. 자신의 프로그램 내지는 서비스의 문제를 객관적으로 인지함으로써 좀 더 좋은 프로그램을 개발할 수 있는 것이다. 그러한 비판을 자기 자신에 대한 비판이라고 받아들여서는 안된다.