"생각이 없음"
(제목을 바꾸고 내용의 일부분, 이 위치에 있던 인용부분, 을 지웠다. 인용했던 글을 다시 읽어보니 스크랩 금지란다. 뭐, 나와는 다르더라도 그렇게 생각하신다면... :-)
뭐, 컴퓨터나 두들기는 쟁이가 "철학" 운운하면 좀 우스운가? 그런데, 철학이라는게 (한자어로 표현해서 그런지) 말은 좀 거창하지만 그 뜻은, "'생각' 하며 살자" 보다 더 크지 않은 듯.
개발자에게는 적어도 두 줄기의 철학이 필요하다. 그 중 첫번째는 물론, "사용자에 대한 배려"이다. 내가 만든 이 프로그램이, 이 기계가, 이 서비스가 사용자에게 어떤 행복을 줄 수 있을까? 또는 사용자의 행복을 빼앗게 되지는 않을까 하는 고민이 필요하다. 이것이 엔지니어와 취미생활의 차이가 아닐까?
다른 한 줄기는 "(주변과) 어울림"이다. 내가 만든 것이 어디에서 움직이는지를 생각하고 그 곳에 어울리도록 모양을 잡고 속을 채워야 한다. 사람의 삶이 그렇듯이, 기술, 도구 역시 어울림 속에서 그 빛을 발할 수 있고 기쁨을 만들어 낼 수 있다.
예전에, 한 10년도 더 전에, 나에게 많은 실망을 줬던 프로그램이 하나 있었는데, 그것은 다름아닌 당시의 "국민 프로그램", "아래한글" 의 첫 윈도 버전이었다.
윈도95 시대에 들어오면서 윈도가 비로소 DOS에서 벗어나 나름의 철학을 가지고 움직이기 시작했다. 예를 들면 윈도 3.1 시절의 .ini 라는 파일 기반의 설정 방식에서 벗어나 중앙의 규격화된 인터페이스의 레지스트리 방식으로 전환했다든지, 또는 C:\DOS 라는 자기 집만 챙기던 방식에서 나름의 계층화된 저장 구조를 이용하게 되었다든지...
그런데 문제의 "아래한글"은 그 철학을 전혀 존중해주지 않았으며(디렉토리에 대하여 아직도 독자적인 노선을 걷고 있고...) 심지어는 그래픽 툴킷까지도 독자적인 것을 사용하는 "만행(?)"을 저지르고 있었다. (게다가 더 향상되거나 편리해진 것도 아니었다. 단지 자신들의 기존 방식을 유지한 정도랄까?)
그들의 철학을 지키기 위해서 그랬다면, 듣자하니 별 것도 아닌데 무슨 상관이냐고? 그 무렵의 나는 이런 저런 이유로 윈도 기반 중앙 집중 관리식 전산실을 구성하여 관리하고 있었는데, 이 부분에 있어서는 윈도의 방식과 어울리지 않는 부분을 헤쳐나가기 위하여 이런 저런 꽁수와 삽질을 하지 않을 수 없었다. 그래서? 별로 행복하지 않았다는거지. 따지고 보면 극히 소수에게만 느껴지는, 그래서 무시할 수 있다고 생각하는(이것도 철학인데) 부분이라면? 뭐, 그냥 그렇다는 거다. 철학의 문제이니. :-)
요즘도 철학을 무시하는 경우를 가끔, 심심치 않게 볼 수 있다. 리눅스/유닉스의 세상은 비교적 잘 정리된, 뿌리가 있는, 그리고 오랜 기간 동안 다듬어진 철학을 가지고 있다. 반면, 근래의 리눅스 기반 프로그래머 중 일부는 리눅스/유닉스 세상에 대한 이해로부터 출발하여 "철학이 있는 개발"을 하기 보다는 돈이 되는 것 같아서 "아는 범위에서 일"을 하는 것 같다. 그러나 그 뿌리를 다른 곳에 두고 있고 그 범위 안에서 일을 하게 되므로 결과적으로 주변과 어울리지 않는 것을 만들어내는 것이다.
심각하다. 최근에는 프로그램의 임시 파일을 /usr/local/XXX/log 아래에 남기는 프로그램을 본 적도 있는데, 일반 사용자가 그 곳에 파일을 쓸 수 있을까? 혹시나 쓸 수 있도록 설정한다고 하여도 그것이 근본 철학과 맞는 것일까? 항상 root 계정으로 리눅스 PC를 사용하는, 마치 Administrator가 윈도의 기본 사용자이듯, 비전향 리눅스 개발자의 작품이겠지.
/home 아래에 MySQL, Apache, PHP 등의 패키지를 설치하여 사용하는 모습도 보인다. 엉뚱한 위치에 설치된 것은 물론이고 왜 공식적으로 배포되는 다듬어진 것을 사용하지 않고 직접 일을 만들어가며 하는 것이지?
이런 "철학의 부재"는 어디서 나타난걸까? 어떻게 하면 치료될까?